@muraai/mnl-commons 0.2.0-alpha-3d5f6de → 0.2.0-alpha-e6a72b8

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.
@@ -54,8 +54,8 @@ export class CommonsModule {
54
54
  ngModule: CommonsModule,
55
55
  };
56
56
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: CommonsModule, imports: [CommonModule,
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: CommonsModule, imports: [CommonModule,
59
59
  MaterialModule,
60
60
  PlaceholderComponent,
61
61
  HeaderComponent,
@@ -80,7 +80,7 @@ export class CommonsModule {
80
80
  UserFullnamePipe,
81
81
  TranslateModule,
82
82
  PlaceholderComponent] }); }
83
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommonsModule, imports: [CommonModule,
83
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CommonsModule, imports: [CommonModule,
84
84
  MaterialModule,
85
85
  PlaceholderComponent,
86
86
  HeaderComponent,
@@ -98,7 +98,7 @@ export class CommonsModule {
98
98
  },
99
99
  }), TranslateModule] }); }
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommonsModule, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CommonsModule, decorators: [{
102
102
  type: NgModule,
103
103
  args: [{
104
104
  declarations: [],
@@ -18,10 +18,10 @@ export class HeaderComponent {
18
18
  onLogoClick(event) {
19
19
  this.logoClick.emit(event);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: HeaderComponent, isStandalone: true, selector: "mnl-header", inputs: { header: "header" }, outputs: { menuButonClickEvent: "menuButonClickEvent", logoClick: "logoClick" }, ngImport: i0, template: "@if(header){\n <mat-toolbar color=\"{{ header.toolbarColor }}\">\n <mat-toolbar-row>\n <div class=\"flex justify-start items-center\">\n @if(header.showMenuIcon){\n <button mat-icon-button class=\"flex items-center\" (click)=\"menuClick($event)\">\n <mat-icon >menu</mat-icon>\n </button>\n }\n <img\n class=\"mr-[15px]\"\n (click)=\"onLogoClick($event)\"\n src=\"{{ header.logo }}\"\n />\n <span>{{ header.name | translate }}</span>\n </div>\n <div class=\"flex justify-end items-center grow max-w-full\">\n <ng-content select=\"`[mnl-header-content]`\"></ng-content>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: HeaderComponent, isStandalone: true, selector: "mnl-header", inputs: { header: "header" }, outputs: { menuButonClickEvent: "menuButonClickEvent", logoClick: "logoClick" }, ngImport: i0, template: "@if(header){\n <mat-toolbar color=\"{{ header.toolbarColor }}\">\n <mat-toolbar-row>\n <div class=\"flex justify-start items-center\">\n @if(header.showMenuIcon){\n <button mat-icon-button class=\"flex items-center\" (click)=\"menuClick($event)\">\n <mat-icon >menu</mat-icon>\n </button>\n }\n <img\n class=\"mr-[15px]\"\n (click)=\"onLogoClick($event)\"\n src=\"{{ header.logo }}\"\n />\n <span>{{ header.name | translate }}</span>\n </div>\n <div class=\"flex justify-end items-center grow max-w-full\">\n <ng-content select=\"`[mnl-header-content]`\"></ng-content>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HeaderComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HeaderComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'mnl-header', standalone: true, imports: [MatIconModule, MatToolbarModule, TranslateModule], encapsulation: ViewEncapsulation.None, template: "@if(header){\n <mat-toolbar color=\"{{ header.toolbarColor }}\">\n <mat-toolbar-row>\n <div class=\"flex justify-start items-center\">\n @if(header.showMenuIcon){\n <button mat-icon-button class=\"flex items-center\" (click)=\"menuClick($event)\">\n <mat-icon >menu</mat-icon>\n </button>\n }\n <img\n class=\"mr-[15px]\"\n (click)=\"onLogoClick($event)\"\n src=\"{{ header.logo }}\"\n />\n <span>{{ header.name | translate }}</span>\n </div>\n <div class=\"flex justify-end items-center grow max-w-full\">\n <ng-content select=\"`[mnl-header-content]`\"></ng-content>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n}\n" }]
27
27
  }], propDecorators: { header: [{
@@ -8,10 +8,10 @@ export class HighlighterComponent {
8
8
  this.width = '4px';
9
9
  this.enabled = true;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HighlighterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: HighlighterComponent, isStandalone: true, selector: "mnl-highlighter", inputs: { height: "height", width: "width", enabled: "enabled" }, ngImport: i0, template: "<div\n [ngClass]=\"{ 'mnl-bg-primary': enabled }\"\n [ngStyle]=\"{ height: height, width: width }\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HighlighterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: HighlighterComponent, isStandalone: true, selector: "mnl-highlighter", inputs: { height: "height", width: "width", enabled: "enabled" }, ngImport: i0, template: "<div\n [ngClass]=\"{ 'mnl-bg-primary': enabled }\"\n [ngStyle]=\"{ height: height, width: width }\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HighlighterComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HighlighterComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'mnl-highlighter', standalone: true, imports: [CommonModule], template: "<div\n [ngClass]=\"{ 'mnl-bg-primary': enabled }\"\n [ngStyle]=\"{ height: height, width: width }\"\n></div>\n" }]
17
17
  }], propDecorators: { height: [{
@@ -27,10 +27,10 @@ export class LanguageMenuComponent {
27
27
  get locale() {
28
28
  return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LanguageMenuComponent, deps: [{ token: i1.LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: LanguageMenuComponent, isStandalone: true, selector: "mnl-language-menu", inputs: { showLocaleKeyAsLabel: "showLocaleKeyAsLabel", showLocaleAsLabel: "showLocaleAsLabel" }, ngImport: i0, template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n @if(showLocaleKeyAsLabel || showLocaleAsLabel){\n @if(showLocaleKeyAsLabel){\n <div>{{ locale.key | uppercase }}</div>\n }\n @if(showLocaleAsLabel){\n <div>{{ locale.label }}</div>\n } \n }\n @else{\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n } \n</button>\n<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let language of languages\"\n (click)=\"onChangeLanguage(language)\"\n id=\"langMenu\"\n >\n {{ language.label }}\n </button>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i5.UpperCasePipe, name: "uppercase" }] }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LanguageMenuComponent, deps: [{ token: i1.LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: LanguageMenuComponent, isStandalone: true, selector: "mnl-language-menu", inputs: { showLocaleKeyAsLabel: "showLocaleKeyAsLabel", showLocaleAsLabel: "showLocaleAsLabel" }, ngImport: i0, template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n @if(showLocaleKeyAsLabel || showLocaleAsLabel){\n @if(showLocaleKeyAsLabel){\n <div>{{ locale.key | uppercase }}</div>\n }\n @if(showLocaleAsLabel){\n <div>{{ locale.label }}</div>\n } \n }\n @else{\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n } \n</button>\n<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let language of languages\"\n (click)=\"onChangeLanguage(language)\"\n id=\"langMenu\"\n >\n {{ language.label }}\n </button>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i5.UpperCasePipe, name: "uppercase" }] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LanguageMenuComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LanguageMenuComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'mnl-language-menu', standalone: true, imports: [MatIconModule, MatMenuModule, MatButtonModule, TranslateModule, CommonModule], template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n @if(showLocaleKeyAsLabel || showLocaleAsLabel){\n @if(showLocaleKeyAsLabel){\n <div>{{ locale.key | uppercase }}</div>\n }\n @if(showLocaleAsLabel){\n <div>{{ locale.label }}</div>\n } \n }\n @else{\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n } \n</button>\n<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let language of languages\"\n (click)=\"onChangeLanguage(language)\"\n id=\"langMenu\"\n >\n {{ language.label }}\n </button>\n</mat-menu>\n" }]
36
36
  }], ctorParameters: () => [{ type: i1.LocaleService }], propDecorators: { showLocaleKeyAsLabel: [{
@@ -40,10 +40,10 @@ export class LoginComponent {
40
40
  getBackgroundImageUrl() {
41
41
  return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LoginComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: LoginComponent, isStandalone: true, selector: "mnl-login", inputs: { title: "title", logoImageUrl: "logoImageUrl", backgroundImageUrl: "backgroundImageUrl", disabled: "disabled" }, outputs: { login: "login" }, ngImport: i0, template: "<div class=\"flex justify-center items-center min-h-full bg-cover\" [style.background-image]=\"getBackgroundImageUrl()\">\n <mat-card class=\"min-w-[260px]\">\n <form class=\"flex items-stretch flex-col\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <mat-card-header class=\"flex justify-center items-center\">\n <mat-card-title>\n @if(logoImageUrl){ \n <img src=\"{{logoImageUrl}}\">\n }\n </mat-card-title>\n </mat-card-header>\n @if(title){\n <h3 class=\"flex justify-center items-center opacity-60\">{{title | translate}}</h3>\n }\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"username\" matInput placeholder=\"{{'MNL.LOGIN.USERNAME' | translate}}\"\n formControlName=\"username\">\n </mat-form-field>\n\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"password\" matInput type=\"password\" placeholder=\"{{'MNL.LOGIN.PASSWORD' | translate}}\"\n formControlName=\"password\">\n </mat-form-field>\n <mat-card-actions class=\"flex justify-center items-center\">\n <button id=\"loginButton\" mat-raised-button color=\"accent\" [disabled]=\"disabled || !formGroup.valid\"\n type=\"submit\"> {{'MNL.LOGIN.LOGIN_BUTTON' | translate}}</button>\n </mat-card-actions>\n\n </form>\n </mat-card>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LoginComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: LoginComponent, isStandalone: true, selector: "mnl-login", inputs: { title: "title", logoImageUrl: "logoImageUrl", backgroundImageUrl: "backgroundImageUrl", disabled: "disabled" }, outputs: { login: "login" }, ngImport: i0, template: "<div class=\"flex justify-center items-center min-h-full bg-cover\" [style.background-image]=\"getBackgroundImageUrl()\">\n <mat-card class=\"min-w-[260px]\">\n <form class=\"flex items-stretch flex-col\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <mat-card-header class=\"flex justify-center items-center\">\n <mat-card-title>\n @if(logoImageUrl){ \n <img src=\"{{logoImageUrl}}\">\n }\n </mat-card-title>\n </mat-card-header>\n @if(title){\n <h3 class=\"flex justify-center items-center opacity-60\">{{title | translate}}</h3>\n }\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"username\" matInput placeholder=\"{{'MNL.LOGIN.USERNAME' | translate}}\"\n formControlName=\"username\">\n </mat-form-field>\n\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"password\" matInput type=\"password\" placeholder=\"{{'MNL.LOGIN.PASSWORD' | translate}}\"\n formControlName=\"password\">\n </mat-form-field>\n <mat-card-actions class=\"flex justify-center items-center\">\n <button id=\"loginButton\" mat-raised-button color=\"accent\" [disabled]=\"disabled || !formGroup.valid\"\n type=\"submit\"> {{'MNL.LOGIN.LOGIN_BUTTON' | translate}}</button>\n </mat-card-actions>\n\n </form>\n </mat-card>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LoginComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LoginComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'mnl-login', standalone: true, imports: [MatCardModule, TranslateModule, MatFormFieldModule, ReactiveFormsModule, MatInputModule, MatButtonModule], template: "<div class=\"flex justify-center items-center min-h-full bg-cover\" [style.background-image]=\"getBackgroundImageUrl()\">\n <mat-card class=\"min-w-[260px]\">\n <form class=\"flex items-stretch flex-col\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <mat-card-header class=\"flex justify-center items-center\">\n <mat-card-title>\n @if(logoImageUrl){ \n <img src=\"{{logoImageUrl}}\">\n }\n </mat-card-title>\n </mat-card-header>\n @if(title){\n <h3 class=\"flex justify-center items-center opacity-60\">{{title | translate}}</h3>\n }\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"username\" matInput placeholder=\"{{'MNL.LOGIN.USERNAME' | translate}}\"\n formControlName=\"username\">\n </mat-form-field>\n\n <mat-form-field class=\"grow max-w-100\">\n <input id=\"password\" matInput type=\"password\" placeholder=\"{{'MNL.LOGIN.PASSWORD' | translate}}\"\n formControlName=\"password\">\n </mat-form-field>\n <mat-card-actions class=\"flex justify-center items-center\">\n <button id=\"loginButton\" mat-raised-button color=\"accent\" [disabled]=\"disabled || !formGroup.valid\"\n type=\"submit\"> {{'MNL.LOGIN.LOGIN_BUTTON' | translate}}</button>\n </mat-card-actions>\n\n </form>\n </mat-card>\n</div>" }]
49
49
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { title: [{
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
3
3
  import { MatIconModule } from '@angular/material/icon';
4
4
  import { MatListItem, MatNavList } from '@angular/material/list';
5
5
  import { MatMenuModule } from '@angular/material/menu';
@@ -63,17 +63,17 @@ export class MenuComponent {
63
63
  menu.expanded = true;
64
64
  }
65
65
  calculateSubMenuWidth() {
66
- const navList = this.navList.nativeElement.offsetWidth;
67
- this.subMenuWidth = navList - 85;
66
+ const navListWidths = this.navLists.toArray().map(navList => navList.nativeElement.offsetWidth);
67
+ this.subMenuWidth = Math.max(...navListWidths) - 85;
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: MenuComponent, isStandalone: true, selector: "mnl-menu", inputs: { menuData: "menuData", highlighterColor: "highlighterColor", isCollapsed: "isCollapsed" }, outputs: { menuClick: "menuClick" }, viewQueries: [{ propertyName: "navList", first: true, predicate: ["navList"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-nav-list #navList *ngFor=\"let menu of menuData\">\n @if(!isCollapsed){\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n <span\n class=\"mnl-menu\"\n id=\"mnl-menu\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.name | translate }}</span\n >\n @if(menu.subMenus){\n <span class=\"ml-5\"></span>\n <mat-icon\n class=\"mnl-menu-button flex ml-auto\" \n (click)=\"toggleMenu(menu, $event)\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n [ngClass]=\"{ 'mnl-rotated': menu.expanded }\"\n >expand_more</mat-icon\n >\n }\n </div>\n </a>\n } @else if(isCollapsed) {\n @if(menu.subMenus){\n <a\n mat-list-item\n id=\"mnl-menu-anchor\"\n [matMenuTriggerFor]=\"sidenavMenu\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n <mat-menu #sidenavMenu=\"matMenu\" class=\"ml-5\">\n <button\n mat-menu-item\n *ngFor=\"let sub of menu.subMenus\"\n (click)=\"onSubMenuClick(sub, menu)\"\n >\n <span\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.name | translate }}</span\n >\n </button>\n </mat-menu>\n } @else{\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n } }\n\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded && !isCollapsed){\n <a\n mat-list-item\n class=\"mnl-submenu flex flex-row ml-6 truncate\"\n [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\"\n id=\"mnl-submenu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(sub.icon){\n <mat-icon\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.icon }}</mat-icon\n >\n }\n <span\n [style.width.px]=\"subMenuWidth\" \n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n class=\"mnl-menu truncate\"\n id=\"mnl-submenu\"\n >{{ sub.name | translate }}</span\n >\n </div>\n </a>\n }\n </ng-container>\n</mat-nav-list>\n", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important;width:calc(100% - 24px)}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: MenuComponent, isStandalone: true, selector: "mnl-menu", inputs: { menuData: "menuData", highlighterColor: "highlighterColor", isCollapsed: "isCollapsed" }, outputs: { menuClick: "menuClick" }, viewQueries: [{ propertyName: "navLists", predicate: ["navList"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-nav-list #navList *ngFor=\"let menu of menuData\">\n @if(!isCollapsed){\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n <span\n class=\"mnl-menu\"\n id=\"mnl-menu\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.name | translate }}</span\n >\n @if(menu.subMenus && menu.subMenus.length > 0){\n <span class=\"ml-5\"></span>\n <mat-icon\n class=\"mnl-menu-button flex ml-auto\" \n (click)=\"toggleMenu(menu, $event)\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n [ngClass]=\"{ 'mnl-rotated': menu.expanded }\"\n >expand_more</mat-icon\n >\n }\n </div>\n </a>\n } @else if(isCollapsed) {\n @if(menu.subMenus){\n <a\n mat-list-item\n id=\"mnl-menu-anchor\"\n [matMenuTriggerFor]=\"sidenavMenu\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n <mat-menu #sidenavMenu=\"matMenu\" class=\"ml-5\">\n <button\n mat-menu-item\n *ngFor=\"let sub of menu.subMenus\"\n (click)=\"onSubMenuClick(sub, menu)\"\n >\n <span\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.name | translate }}</span\n >\n </button>\n </mat-menu>\n } @else{\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n } }\n\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded && !isCollapsed){\n <a\n mat-list-item\n class=\"mnl-submenu flex flex-row ml-6 truncate\"\n [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\"\n id=\"mnl-submenu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(sub.icon){\n <mat-icon\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.icon }}</mat-icon\n >\n }\n <span\n [style.width.px]=\"subMenuWidth\" \n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n class=\"mnl-menu truncate\"\n id=\"mnl-submenu\"\n >{{ sub.name | translate }}</span\n >\n </div>\n </a>\n }\n </ng-container>\n</mat-nav-list>\n", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important;width:calc(100% - 24px)}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] }); }
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MenuComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MenuComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'mnl-menu', standalone: true, imports: [CommonModule, MatNavList, MatIconModule, TranslateModule, MatMenuModule, HighlighterComponent, MatListItem], template: "<mat-nav-list #navList *ngFor=\"let menu of menuData\">\n @if(!isCollapsed){\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n <span\n class=\"mnl-menu\"\n id=\"mnl-menu\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.name | translate }}</span\n >\n @if(menu.subMenus){\n <span class=\"ml-5\"></span>\n <mat-icon\n class=\"mnl-menu-button flex ml-auto\" \n (click)=\"toggleMenu(menu, $event)\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n [ngClass]=\"{ 'mnl-rotated': menu.expanded }\"\n >expand_more</mat-icon\n >\n }\n </div>\n </a>\n } @else if(isCollapsed) {\n @if(menu.subMenus){\n <a\n mat-list-item\n id=\"mnl-menu-anchor\"\n [matMenuTriggerFor]=\"sidenavMenu\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n <mat-menu #sidenavMenu=\"matMenu\" class=\"ml-5\">\n <button\n mat-menu-item\n *ngFor=\"let sub of menu.subMenus\"\n (click)=\"onSubMenuClick(sub, menu)\"\n >\n <span\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.name | translate }}</span\n >\n </button>\n </mat-menu>\n } @else{\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n } }\n\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded && !isCollapsed){\n <a\n mat-list-item\n class=\"mnl-submenu flex flex-row ml-6 truncate\"\n [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\"\n id=\"mnl-submenu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(sub.icon){\n <mat-icon\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.icon }}</mat-icon\n >\n }\n <span\n [style.width.px]=\"subMenuWidth\" \n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n class=\"mnl-menu truncate\"\n id=\"mnl-submenu\"\n >{{ sub.name | translate }}</span\n >\n </div>\n </a>\n }\n </ng-container>\n</mat-nav-list>\n", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important;width:calc(100% - 24px)}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
75
- }], propDecorators: { navList: [{
76
- type: ViewChild,
74
+ args: [{ selector: 'mnl-menu', standalone: true, imports: [CommonModule, MatNavList, MatIconModule, TranslateModule, MatMenuModule, HighlighterComponent, MatListItem], template: "<mat-nav-list #navList *ngFor=\"let menu of menuData\">\n @if(!isCollapsed){\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n <span\n class=\"mnl-menu\"\n id=\"mnl-menu\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.name | translate }}</span\n >\n @if(menu.subMenus && menu.subMenus.length > 0){\n <span class=\"ml-5\"></span>\n <mat-icon\n class=\"mnl-menu-button flex ml-auto\" \n (click)=\"toggleMenu(menu, $event)\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n [ngClass]=\"{ 'mnl-rotated': menu.expanded }\"\n >expand_more</mat-icon\n >\n }\n </div>\n </a>\n } @else if(isCollapsed) {\n @if(menu.subMenus){\n <a\n mat-list-item\n id=\"mnl-menu-anchor\"\n [matMenuTriggerFor]=\"sidenavMenu\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n <mat-menu #sidenavMenu=\"matMenu\" class=\"ml-5\">\n <button\n mat-menu-item\n *ngFor=\"let sub of menu.subMenus\"\n (click)=\"onSubMenuClick(sub, menu)\"\n >\n <span\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.name | translate }}</span\n >\n </button>\n </mat-menu>\n } @else{\n <a\n mat-list-item\n (click)=\"onMenuClick(menu)\"\n id=\"mnl-menu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(menu.icon){\n <mat-icon\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >{{ menu.icon }}</mat-icon\n >\n } @else{\n <mat-icon\n svgIcon=\"{{ menu.svgIcon }}\"\n [ngStyle]=\"{\n color: menu.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"menu.selected && !highlighterColor\"\n >\n </mat-icon>\n }\n </div>\n </a>\n } }\n\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded && !isCollapsed){\n <a\n mat-list-item\n class=\"mnl-submenu flex flex-row ml-6 truncate\"\n [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\"\n id=\"mnl-submenu-anchor\"\n >\n <div class=\"flex items-center\">\n @if(sub.icon){\n <mat-icon\n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n >{{ sub.icon }}</mat-icon\n >\n }\n <span\n [style.width.px]=\"subMenuWidth\" \n [ngStyle]=\"{\n color: sub.selected && highlighterColor ? highlighterColor : ''\n }\"\n [class.mnl-color-primary]=\"sub.selected && !highlighterColor\"\n class=\"mnl-menu truncate\"\n id=\"mnl-submenu\"\n >{{ sub.name | translate }}</span\n >\n </div>\n </a>\n }\n </ng-container>\n</mat-nav-list>\n", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important;width:calc(100% - 24px)}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
75
+ }], propDecorators: { navLists: [{
76
+ type: ViewChildren,
77
77
  args: ['navList', { read: ElementRef }]
78
78
  }], menuData: [{
79
79
  type: Input
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
84
84
  }], menuClick: [{
85
85
  type: Output
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVM1RSxNQUFNLE9BQU8sYUFBYTtJQVAxQjtRQWdCRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7S0E4RHhEO0lBM0RDLGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWU7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWtCLEVBQUUsSUFBZTtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQjtRQUM5QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFlO1FBQ2hDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlLEVBQUUsS0FBWTtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWU7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBekVZLGFBQWE7a0dBQWIsYUFBYSw0UkFDTSxVQUFVLDZCQ2pCMUMsMDFJQTRKQSxxYkRoSlksWUFBWSwrVUFBRSxVQUFVLGtGQUFFLGFBQWEsbUxBQUUsZUFBZSwyRkFBRSxhQUFhLDh2QkFBd0IsV0FBVzs7MkZBSXpHLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxDQUFDOzhCQUt6RSxPQUFPO3NCQUFsRCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRTFDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RJdGVtLCBNYXROYXZMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1lbnVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL21lbnUtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBIaWdobGlnaHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2hpZ2hsaWdodGVyL2hpZ2hsaWdodGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ubC1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TmF2TGlzdCwgTWF0SWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBIaWdobGlnaHRlckNvbXBvbmVudCwgTWF0TGlzdEl0ZW1dLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCduYXZMaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG5hdkxpc3QhOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKVxuICBtZW51RGF0YTogQXJyYXk8TWVudU1vZGVsPjtcblxuICBASW5wdXQoKVxuICBoaWdobGlnaHRlckNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgbWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzdWJNZW51V2lkdGg6IG51bWJlcjtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGVTdWJNZW51V2lkdGgoKTsgICAgXG4gIH1cbiAgXG4gIG9uTWVudUNsaWNrKG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIGlmICh0aGlzLmhhc1N1Yk1lbnUobWVudSkpIHtcbiAgICAgIHRoaXMub3Blbk1lbnUobWVudSk7XG4gICAgICB0aGlzLm9uU3ViTWVudUNsaWNrKG1lbnUuc3ViTWVudXNbMF0sIG1lbnUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlU2VsZWN0TWVudXModGhpcy5tZW51RGF0YSk7XG4gICAgICB0aGlzLnNlbGVjdE1lbnUobWVudSk7XG4gICAgICB0aGlzLm1lbnVDbGljay5lbWl0KG1lbnUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3ViTWVudUNsaWNrKHN1Yk1lbnU6IE1lbnVNb2RlbCwgbWVudTogTWVudU1vZGVsKSB7XG4gICAgdGhpcy5kZVNlbGVjdE1lbnVzKHRoaXMubWVudURhdGEpO1xuICAgIHRoaXMuc2VsZWN0TWVudShtZW51KTtcbiAgICB0aGlzLnNlbGVjdE1lbnUoc3ViTWVudSk7XG4gICAgdGhpcy5tZW51Q2xpY2suZW1pdChzdWJNZW51KTtcbiAgfVxuXG4gIGRlU2VsZWN0TWVudXMobWVudXM6IE1lbnVNb2RlbFtdKSB7XG4gICAgaWYgKG1lbnVzKSB7XG4gICAgICBmb3IgKGNvbnN0IG1lbnUgb2YgbWVudXMpIHtcbiAgICAgICAgaWYgKG1lbnUuc2VsZWN0ZWQpIHtcbiAgICAgICAgICBtZW51LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZVNlbGVjdE1lbnVzKG1lbnUuc3ViTWVudXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0TWVudShtZW51OiBNZW51TW9kZWwpIHtcbiAgICBpZiAobWVudSkge1xuICAgICAgbWVudS5zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNTdWJNZW51KG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIHJldHVybiBtZW51LnN1Yk1lbnVzICYmIG1lbnUuc3ViTWVudXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUobWVudTogTWVudU1vZGVsLCBldmVudDogRXZlbnQpIHtcbiAgICBtZW51LmV4cGFuZGVkID0gIW1lbnUuZXhwYW5kZWQ7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3Blbk1lbnUobWVudTogTWVudU1vZGVsKSB7XG4gICAgbWVudS5leHBhbmRlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVN1Yk1lbnVXaWR0aCgpIHtcbiAgICBjb25zdCBuYXZMaXN0ID0gdGhpcy5uYXZMaXN0Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5zdWJNZW51V2lkdGggPSAgbmF2TGlzdCAtIDg1O1xufVxufVxuIiwiPG1hdC1uYXYtbGlzdCAjbmF2TGlzdCAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51RGF0YVwiPlxuICBAaWYoIWlzQ29sbGFwc2VkKXtcbiAgPGFcbiAgICBtYXQtbGlzdC1pdGVtXG4gICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG1lbnUpXCJcbiAgICBpZD1cIm1ubC1tZW51LWFuY2hvclwiXG4gID5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgQGlmKG1lbnUuaWNvbil7XG4gICAgPG1hdC1pY29uXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGNvbG9yOiBtZW51LnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgIH1cIlxuICAgICAgW2NsYXNzLm1ubC1jb2xvci1wcmltYXJ5XT1cIm1lbnUuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgPnt7IG1lbnUuaWNvbiB9fTwvbWF0LWljb25cbiAgICA+XG4gICAgfSBAZWxzZXtcbiAgICA8bWF0LWljb25cbiAgICAgIHN2Z0ljb249XCJ7eyBtZW51LnN2Z0ljb24gfX1cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICA+XG4gICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwibW5sLW1lbnVcIlxuICAgICAgaWQ9XCJtbmwtbWVudVwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGNvbG9yOiBtZW51LnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgIH1cIlxuICAgICAgW2NsYXNzLm1ubC1jb2xvci1wcmltYXJ5XT1cIm1lbnUuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgPnt7IG1lbnUubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3BhblxuICAgID5cbiAgICBAaWYobWVudS5zdWJNZW51cyl7XG4gICAgPHNwYW4gY2xhc3M9XCJtbC01XCI+PC9zcGFuPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtbmwtbWVudS1idXR0b24gZmxleCBtbC1hdXRvXCIgXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTWVudShtZW51LCAkZXZlbnQpXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgY29sb3I6IG1lbnUuc2VsZWN0ZWQgJiYgaGlnaGxpZ2h0ZXJDb2xvciA/IGhpZ2hsaWdodGVyQ29sb3IgOiAnJ1xuICAgICAgfVwiXG4gICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwibWVudS5zZWxlY3RlZCAmJiAhaGlnaGxpZ2h0ZXJDb2xvclwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdtbmwtcm90YXRlZCc6IG1lbnUuZXhwYW5kZWQgfVwiXG4gICAgICA+ZXhwYW5kX21vcmU8L21hdC1pY29uXG4gICAgPlxuICAgIH1cbiAgPC9kaXY+XG4gIDwvYT5cbiAgfSBAZWxzZSBpZihpc0NvbGxhcHNlZCkge1xuICAgICBAaWYobWVudS5zdWJNZW51cyl7XG4gIDxhXG4gICAgbWF0LWxpc3QtaXRlbVxuICAgIGlkPVwibW5sLW1lbnUtYW5jaG9yXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2lkZW5hdk1lbnVcIlxuICA+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIEBpZihtZW51Lmljb24pe1xuICAgIDxtYXQtaWNvblxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgID57eyBtZW51Lmljb24gfX08L21hdC1pY29uXG4gICAgPlxuICAgIH0gQGVsc2V7XG4gICAgPG1hdC1pY29uXG4gICAgICBzdmdJY29uPVwie3sgbWVudS5zdmdJY29uIH19XCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgY29sb3I6IG1lbnUuc2VsZWN0ZWQgJiYgaGlnaGxpZ2h0ZXJDb2xvciA/IGhpZ2hsaWdodGVyQ29sb3IgOiAnJ1xuICAgICAgfVwiXG4gICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwibWVudS5zZWxlY3RlZCAmJiAhaGlnaGxpZ2h0ZXJDb2xvclwiXG4gICAgPlxuICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIDwvZGl2PlxuICA8L2E+XG4gIDxtYXQtbWVudSAjc2lkZW5hdk1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJtbC01XCI+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgKm5nRm9yPVwibGV0IHN1YiBvZiBtZW51LnN1Yk1lbnVzXCJcbiAgICAgIChjbGljayk9XCJvblN1Yk1lbnVDbGljayhzdWIsIG1lbnUpXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgY29sb3I6IHN1Yi5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICAgIH1cIlxuICAgICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwic3ViLnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgICAgPnt7IHN1Yi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LW1lbnU+XG4gIH0gQGVsc2V7XG4gIDxhXG4gICAgbWF0LWxpc3QtaXRlbVxuICAgIChjbGljayk9XCJvbk1lbnVDbGljayhtZW51KVwiXG4gICAgaWQ9XCJtbmwtbWVudS1hbmNob3JcIlxuICA+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIEBpZihtZW51Lmljb24pe1xuICAgIDxtYXQtaWNvblxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgID57eyBtZW51Lmljb24gfX08L21hdC1pY29uXG4gICAgPlxuICAgIH0gQGVsc2V7XG4gICAgPG1hdC1pY29uXG4gICAgICBzdmdJY29uPVwie3sgbWVudS5zdmdJY29uIH19XCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgY29sb3I6IG1lbnUuc2VsZWN0ZWQgJiYgaGlnaGxpZ2h0ZXJDb2xvciA/IGhpZ2hsaWdodGVyQ29sb3IgOiAnJ1xuICAgICAgfVwiXG4gICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwibWVudS5zZWxlY3RlZCAmJiAhaGlnaGxpZ2h0ZXJDb2xvclwiXG4gICAgPlxuICAgIDwvbWF0LWljb24+XG4gICAgfVxuICA8L2Rpdj5cbiAgPC9hPlxuICB9IH1cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWIgb2YgbWVudS5zdWJNZW51c1wiPlxuICAgIEBpZihtZW51LmV4cGFuZGVkICYmICFpc0NvbGxhcHNlZCl7XG4gICAgPGFcbiAgICAgIG1hdC1saXN0LWl0ZW1cbiAgICAgIGNsYXNzPVwibW5sLXN1Ym1lbnUgZmxleCBmbGV4LXJvdyBtbC02IHRydW5jYXRlXCJcbiAgICAgIFtjbGFzcy5tbmwtZXhwYW5kZWRdPVwibWVudS5leHBhbmRlZFwiXG4gICAgICAoY2xpY2spPVwib25TdWJNZW51Q2xpY2soc3ViLCBtZW51KVwiXG4gICAgICBpZD1cIm1ubC1zdWJtZW51LWFuY2hvclwiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgQGlmKHN1Yi5pY29uKXtcbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgY29sb3I6IHN1Yi5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICAgIH1cIlxuICAgICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwic3ViLnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgICAgPnt7IHN1Yi5pY29uIH19PC9tYXQtaWNvblxuICAgICAgPlxuICAgICAgfVxuICAgICAgPHNwYW5cbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJzdWJNZW51V2lkdGhcIiBcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIGNvbG9yOiBzdWIuc2VsZWN0ZWQgJiYgaGlnaGxpZ2h0ZXJDb2xvciA/IGhpZ2hsaWdodGVyQ29sb3IgOiAnJ1xuICAgICAgICB9XCJcbiAgICAgICAgW2NsYXNzLm1ubC1jb2xvci1wcmltYXJ5XT1cInN1Yi5zZWxlY3RlZCAmJiAhaGlnaGxpZ2h0ZXJDb2xvclwiXG4gICAgICAgIGNsYXNzPVwibW5sLW1lbnUgdHJ1bmNhdGVcIlxuICAgICAgICBpZD1cIm1ubC1zdWJtZW51XCJcbiAgICAgICAgPnt7IHN1Yi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW5hdi1saXN0PlxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVM1RSxNQUFNLE9BQU8sYUFBYTtJQVAxQjtRQWdCRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7S0E4RHhEO0lBM0RDLGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWU7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWtCLEVBQUUsSUFBZTtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQjtRQUM5QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFlO1FBQ2hDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlLEVBQUUsS0FBWTtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWU7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hELENBQUM7OEdBekVZLGFBQWE7a0dBQWIsYUFBYSxnUkFDUyxVQUFVLDZCQ2pCN0MsczNJQTRKQSxxYkRoSlksWUFBWSwrVUFBRSxVQUFVLGtGQUFFLGFBQWEsbUxBQUUsZUFBZSwyRkFBRSxhQUFhLDh2QkFBd0IsV0FBVzs7MkZBSXpHLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxDQUFDOzhCQUt0RSxRQUFRO3NCQUF0RCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRTdDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdEl0ZW0sIE1hdE5hdkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWVudU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvbWVudS1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaGlnaGxpZ2h0ZXIvaGlnaGxpZ2h0ZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLW1lbnUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXROYXZMaXN0LCBNYXRJY29uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdE1lbnVNb2R1bGUsIEhpZ2hsaWdodGVyQ29tcG9uZW50LCBNYXRMaXN0SXRlbV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ25hdkxpc3QnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbmF2TGlzdHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBJbnB1dCgpXG4gIG1lbnVEYXRhOiBBcnJheTxNZW51TW9kZWw+O1xuXG4gIEBJbnB1dCgpXG4gIGhpZ2hsaWdodGVyQ29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBtZW51Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHN1Yk1lbnVXaWR0aDogbnVtYmVyO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGN1bGF0ZVN1Yk1lbnVXaWR0aCgpOyAgICBcbiAgfVxuICBcbiAgb25NZW51Q2xpY2sobWVudTogTWVudU1vZGVsKSB7XG4gICAgaWYgKHRoaXMuaGFzU3ViTWVudShtZW51KSkge1xuICAgICAgdGhpcy5vcGVuTWVudShtZW51KTtcbiAgICAgIHRoaXMub25TdWJNZW51Q2xpY2sobWVudS5zdWJNZW51c1swXSwgbWVudSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVTZWxlY3RNZW51cyh0aGlzLm1lbnVEYXRhKTtcbiAgICAgIHRoaXMuc2VsZWN0TWVudShtZW51KTtcbiAgICAgIHRoaXMubWVudUNsaWNrLmVtaXQobWVudSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJNZW51Q2xpY2soc3ViTWVudTogTWVudU1vZGVsLCBtZW51OiBNZW51TW9kZWwpIHtcbiAgICB0aGlzLmRlU2VsZWN0TWVudXModGhpcy5tZW51RGF0YSk7XG4gICAgdGhpcy5zZWxlY3RNZW51KG1lbnUpO1xuICAgIHRoaXMuc2VsZWN0TWVudShzdWJNZW51KTtcbiAgICB0aGlzLm1lbnVDbGljay5lbWl0KHN1Yk1lbnUpO1xuICB9XG5cbiAgZGVTZWxlY3RNZW51cyhtZW51czogTWVudU1vZGVsW10pIHtcbiAgICBpZiAobWVudXMpIHtcbiAgICAgIGZvciAoY29uc3QgbWVudSBvZiBtZW51cykge1xuICAgICAgICBpZiAobWVudS5zZWxlY3RlZCkge1xuICAgICAgICAgIG1lbnUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlU2VsZWN0TWVudXMobWVudS5zdWJNZW51cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RNZW51KG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIGlmIChtZW51KSB7XG4gICAgICBtZW51LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc1N1Yk1lbnUobWVudTogTWVudU1vZGVsKSB7XG4gICAgcmV0dXJuIG1lbnUuc3ViTWVudXMgJiYgbWVudS5zdWJNZW51cy5sZW5ndGggPiAwO1xuICB9XG5cbiAgdG9nZ2xlTWVudShtZW51OiBNZW51TW9kZWwsIGV2ZW50OiBFdmVudCkge1xuICAgIG1lbnUuZXhwYW5kZWQgPSAhbWVudS5leHBhbmRlZDtcblxuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTWVudShtZW51OiBNZW51TW9kZWwpIHtcbiAgICBtZW51LmV4cGFuZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlU3ViTWVudVdpZHRoKCkge1xuICAgIGNvbnN0IG5hdkxpc3RXaWR0aHMgPSB0aGlzLm5hdkxpc3RzLnRvQXJyYXkoKS5tYXAobmF2TGlzdCA9PiBuYXZMaXN0Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xuICAgIHRoaXMuc3ViTWVudVdpZHRoID0gTWF0aC5tYXgoLi4ubmF2TGlzdFdpZHRocykgLSA4NTtcbn1cbn1cbiIsIjxtYXQtbmF2LWxpc3QgI25hdkxpc3QgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudURhdGFcIj5cbiAgQGlmKCFpc0NvbGxhcHNlZCl7XG4gIDxhXG4gICAgbWF0LWxpc3QtaXRlbVxuICAgIChjbGljayk9XCJvbk1lbnVDbGljayhtZW51KVwiXG4gICAgaWQ9XCJtbmwtbWVudS1hbmNob3JcIlxuICA+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIEBpZihtZW51Lmljb24pe1xuICAgIDxtYXQtaWNvblxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgID57eyBtZW51Lmljb24gfX08L21hdC1pY29uXG4gICAgPlxuICAgIH0gQGVsc2V7XG4gICAgPG1hdC1pY29uXG4gICAgICBzdmdJY29uPVwie3sgbWVudS5zdmdJY29uIH19XCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgY29sb3I6IG1lbnUuc2VsZWN0ZWQgJiYgaGlnaGxpZ2h0ZXJDb2xvciA/IGhpZ2hsaWdodGVyQ29sb3IgOiAnJ1xuICAgICAgfVwiXG4gICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwibWVudS5zZWxlY3RlZCAmJiAhaGlnaGxpZ2h0ZXJDb2xvclwiXG4gICAgPlxuICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm1ubC1tZW51XCJcbiAgICAgIGlkPVwibW5sLW1lbnVcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgID57eyBtZW51Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICA+XG4gICAgQGlmKG1lbnUuc3ViTWVudXMgJiYgbWVudS5zdWJNZW51cy5sZW5ndGggPiAwKXtcbiAgICA8c3BhbiBjbGFzcz1cIm1sLTVcIj48L3NwYW4+XG4gICAgPG1hdC1pY29uXG4gICAgICBjbGFzcz1cIm1ubC1tZW51LWJ1dHRvbiBmbGV4IG1sLWF1dG9cIiBcbiAgICAgIChjbGljayk9XCJ0b2dnbGVNZW51KG1lbnUsICRldmVudClcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ21ubC1yb3RhdGVkJzogbWVudS5leHBhbmRlZCB9XCJcbiAgICAgID5leHBhbmRfbW9yZTwvbWF0LWljb25cbiAgICA+XG4gICAgfVxuICA8L2Rpdj5cbiAgPC9hPlxuICB9IEBlbHNlIGlmKGlzQ29sbGFwc2VkKSB7XG4gICAgIEBpZihtZW51LnN1Yk1lbnVzKXtcbiAgPGFcbiAgICBtYXQtbGlzdC1pdGVtXG4gICAgaWQ9XCJtbmwtbWVudS1hbmNob3JcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzaWRlbmF2TWVudVwiXG4gID5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgQGlmKG1lbnUuaWNvbil7XG4gICAgPG1hdC1pY29uXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGNvbG9yOiBtZW51LnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgIH1cIlxuICAgICAgW2NsYXNzLm1ubC1jb2xvci1wcmltYXJ5XT1cIm1lbnUuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgPnt7IG1lbnUuaWNvbiB9fTwvbWF0LWljb25cbiAgICA+XG4gICAgfSBAZWxzZXtcbiAgICA8bWF0LWljb25cbiAgICAgIHN2Z0ljb249XCJ7eyBtZW51LnN2Z0ljb24gfX1cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICA+XG4gICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gICAgPC9kaXY+XG4gIDwvYT5cbiAgPG1hdC1tZW51ICNzaWRlbmF2TWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm1sLTVcIj5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgc3ViIG9mIG1lbnUuc3ViTWVudXNcIlxuICAgICAgKGNsaWNrKT1cIm9uU3ViTWVudUNsaWNrKHN1YiwgbWVudSlcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBjb2xvcjogc3ViLnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgICAgfVwiXG4gICAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJzdWIuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgICA+e3sgc3ViLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtbWVudT5cbiAgfSBAZWxzZXtcbiAgPGFcbiAgICBtYXQtbGlzdC1pdGVtXG4gICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG1lbnUpXCJcbiAgICBpZD1cIm1ubC1tZW51LWFuY2hvclwiXG4gID5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgQGlmKG1lbnUuaWNvbil7XG4gICAgPG1hdC1pY29uXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGNvbG9yOiBtZW51LnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgIH1cIlxuICAgICAgW2NsYXNzLm1ubC1jb2xvci1wcmltYXJ5XT1cIm1lbnUuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgPnt7IG1lbnUuaWNvbiB9fTwvbWF0LWljb25cbiAgICA+XG4gICAgfSBAZWxzZXtcbiAgICA8bWF0LWljb25cbiAgICAgIHN2Z0ljb249XCJ7eyBtZW51LnN2Z0ljb24gfX1cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBjb2xvcjogbWVudS5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICB9XCJcbiAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJtZW51LnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICA+XG4gICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gIDwvZGl2PlxuICA8L2E+XG4gIH0gfVxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YiBvZiBtZW51LnN1Yk1lbnVzXCI+XG4gICAgQGlmKG1lbnUuZXhwYW5kZWQgJiYgIWlzQ29sbGFwc2VkKXtcbiAgICA8YVxuICAgICAgbWF0LWxpc3QtaXRlbVxuICAgICAgY2xhc3M9XCJtbmwtc3VibWVudSBmbGV4IGZsZXgtcm93IG1sLTYgdHJ1bmNhdGVcIlxuICAgICAgW2NsYXNzLm1ubC1leHBhbmRlZF09XCJtZW51LmV4cGFuZGVkXCJcbiAgICAgIChjbGljayk9XCJvblN1Yk1lbnVDbGljayhzdWIsIG1lbnUpXCJcbiAgICAgIGlkPVwibW5sLXN1Ym1lbnUtYW5jaG9yXCJcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICBAaWYoc3ViLmljb24pe1xuICAgICAgPG1hdC1pY29uXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBjb2xvcjogc3ViLnNlbGVjdGVkICYmIGhpZ2hsaWdodGVyQ29sb3IgPyBoaWdobGlnaHRlckNvbG9yIDogJydcbiAgICAgICAgfVwiXG4gICAgICAgIFtjbGFzcy5tbmwtY29sb3ItcHJpbWFyeV09XCJzdWIuc2VsZWN0ZWQgJiYgIWhpZ2hsaWdodGVyQ29sb3JcIlxuICAgICAgICA+e3sgc3ViLmljb24gfX08L21hdC1pY29uXG4gICAgICA+XG4gICAgICB9XG4gICAgICA8c3BhblxuICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInN1Yk1lbnVXaWR0aFwiIFxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgY29sb3I6IHN1Yi5zZWxlY3RlZCAmJiBoaWdobGlnaHRlckNvbG9yID8gaGlnaGxpZ2h0ZXJDb2xvciA6ICcnXG4gICAgICAgIH1cIlxuICAgICAgICBbY2xhc3MubW5sLWNvbG9yLXByaW1hcnldPVwic3ViLnNlbGVjdGVkICYmICFoaWdobGlnaHRlckNvbG9yXCJcbiAgICAgICAgY2xhc3M9XCJtbmwtbWVudSB0cnVuY2F0ZVwiXG4gICAgICAgIGlkPVwibW5sLXN1Ym1lbnVcIlxuICAgICAgICA+e3sgc3ViLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgICB9XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/material/icon";
6
6
  import * as i2 from "@ngx-translate/core";
7
7
  export class PlaceholderComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: PlaceholderComponent, isStandalone: true, selector: "mnl-placeholder", inputs: { icon: "icon", message: "message" }, ngImport: i0, template: "@if(icon){\n <div class=\"container\">\n <mat-icon>{{ icon }}</mat-icon>\n <h4>{{ message|translate }}</h4>\n </div>\n}", styles: [":host{height:100%}mat-icon{font-size:45px;height:45px;width:45px;opacity:.75}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PlaceholderComponent, isStandalone: true, selector: "mnl-placeholder", inputs: { icon: "icon", message: "message" }, ngImport: i0, template: "@if(icon){\n <div class=\"container\">\n <mat-icon>{{ icon }}</mat-icon>\n <h4>{{ message|translate }}</h4>\n </div>\n}", styles: [":host{height:100%}mat-icon{font-size:45px;height:45px;width:45px;opacity:.75}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PlaceholderComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PlaceholderComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'mnl-placeholder', standalone: true, imports: [MatIconModule, TranslateModule], template: "@if(icon){\n <div class=\"container\">\n <mat-icon>{{ icon }}</mat-icon>\n <h4>{{ message|translate }}</h4>\n </div>\n}", styles: [":host{height:100%}mat-icon{font-size:45px;height:45px;width:45px;opacity:.75}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;margin:auto}\n"] }]
14
14
  }], propDecorators: { icon: [{
@@ -25,10 +25,10 @@ export class ProfileComponent {
25
25
  this.hasUserDetails = false;
26
26
  }
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: ProfileComponent, isStandalone: true, selector: "mnl-user-profile", inputs: { userProfileDetails: "userProfileDetails", showDisplayName: "showDisplayName" }, outputs: { userInitialClick: "userInitialClick", profileMenuClick: "profileMenuClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"mnl-profile-container\" class=\"flex gap-[10px] justify-content: items-center\">\n @if(showDisplayName && hasUserDetails){\n <span\n id=\"mnl-userinfo-name\"\n class=\" hidden md:inline\"\n >{{ userProfileDetails | mnlUserFullName }}\n </span>\n }\n @if(hasUserDetails){\n <button\n id=\"mnl-initials-button\"\n (click)=\"onUserInitialClick($event)\"\n mat-mini-fab\n >\n {{ userProfileDetails | mnlUserInitialPipe }}\n </button>\n }\n \n @if(!hasUserDetails){\n <button\n id=\"mnl-user-icon-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n >\n <mat-icon mat-icon-button>person</mat-icon>\n </button>\n }\n </div>", styles: ["#mnl-initials-button{border-radius:20px}:host ::ng-deep .mat-mdc-mini-fab{background-color:#fff!important;color:#000!important}\n"], dependencies: [{ kind: "pipe", type: UserFullnamePipe, name: "mnlUserFullName" }, { kind: "pipe", type: UserInitialPipe, name: "mnlUserInitialPipe" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }] }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ProfileComponent, isStandalone: true, selector: "mnl-user-profile", inputs: { userProfileDetails: "userProfileDetails", showDisplayName: "showDisplayName" }, outputs: { userInitialClick: "userInitialClick", profileMenuClick: "profileMenuClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"mnl-profile-container\" class=\"flex gap-[10px] justify-content: items-center\">\n @if(showDisplayName && hasUserDetails){\n <span\n id=\"mnl-userinfo-name\"\n class=\" hidden md:inline\"\n >{{ userProfileDetails | mnlUserFullName }}\n </span>\n }\n @if(hasUserDetails){\n <button\n id=\"mnl-initials-button\"\n (click)=\"onUserInitialClick($event)\"\n mat-mini-fab\n >\n {{ userProfileDetails | mnlUserInitialPipe }}\n </button>\n }\n \n @if(!hasUserDetails){\n <button\n id=\"mnl-user-icon-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n >\n <mat-icon mat-icon-button>person</mat-icon>\n </button>\n }\n </div>", styles: ["#mnl-initials-button{border-radius:20px}:host ::ng-deep .mat-mdc-mini-fab{background-color:#fff!important;color:#000!important}\n"], dependencies: [{ kind: "pipe", type: UserFullnamePipe, name: "mnlUserFullName" }, { kind: "pipe", type: UserInitialPipe, name: "mnlUserInitialPipe" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ProfileComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProfileComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'mnl-user-profile', standalone: true, imports: [UserFullnamePipe, UserInitialPipe, MatIconModule, MatButtonModule], template: "<div id=\"mnl-profile-container\" class=\"flex gap-[10px] justify-content: items-center\">\n @if(showDisplayName && hasUserDetails){\n <span\n id=\"mnl-userinfo-name\"\n class=\" hidden md:inline\"\n >{{ userProfileDetails | mnlUserFullName }}\n </span>\n }\n @if(hasUserDetails){\n <button\n id=\"mnl-initials-button\"\n (click)=\"onUserInitialClick($event)\"\n mat-mini-fab\n >\n {{ userProfileDetails | mnlUserInitialPipe }}\n </button>\n }\n \n @if(!hasUserDetails){\n <button\n id=\"mnl-user-icon-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n >\n <mat-icon mat-icon-button>person</mat-icon>\n </button>\n }\n </div>", styles: ["#mnl-initials-button{border-radius:20px}:host ::ng-deep .mat-mdc-mini-fab{background-color:#fff!important;color:#000!important}\n"] }]
34
34
  }], propDecorators: { userProfileDetails: [{
@@ -22,8 +22,8 @@ export function modules() {
22
22
  ];
23
23
  }
24
24
  export class MaterialModule {
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
27
27
  MatCardModule,
28
28
  MatFormFieldModule,
29
29
  MatIconModule,
@@ -40,7 +40,7 @@ export class MaterialModule {
40
40
  FormsModule,
41
41
  ReactiveFormsModule,
42
42
  MatMenuModule] }); }
43
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MaterialModule, imports: [modules(), MatButtonModule,
43
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaterialModule, imports: [modules(), MatButtonModule,
44
44
  MatCardModule,
45
45
  MatFormFieldModule,
46
46
  MatIconModule,
@@ -50,7 +50,7 @@ export class MaterialModule {
50
50
  ReactiveFormsModule,
51
51
  MatMenuModule] }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MaterialModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaterialModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  imports: modules(),
@@ -8,10 +8,10 @@ export class AppConfigPipe {
8
8
  transform(value, defaultValue) {
9
9
  return this.config.get(value) || defaultValue || '';
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AppConfigPipe, deps: [{ token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: AppConfigPipe, isStandalone: true, name: "mnlAppConfig" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AppConfigPipe, deps: [{ token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: AppConfigPipe, isStandalone: true, name: "mnlAppConfig" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AppConfigPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AppConfigPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'mnlAppConfig',
@@ -31,10 +31,10 @@ export class TimeAgoPipe {
31
31
  }
32
32
  return '';
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i1.AppConfigService }, { token: i2.UserProfileService }], target: i0.ɵɵFactoryTarget.Pipe }); }
35
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: TimeAgoPipe, isStandalone: true, name: "mnlTimeAgo" }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i1.AppConfigService }, { token: i2.UserProfileService }], target: i0.ɵɵFactoryTarget.Pipe }); }
35
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: TimeAgoPipe, isStandalone: true, name: "mnlTimeAgo" }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TimeAgoPipe, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TimeAgoPipe, decorators: [{
38
38
  type: Pipe,
39
39
  args: [{
40
40
  name: 'mnlTimeAgo',
@@ -22,10 +22,10 @@ export class UserFullnamePipe {
22
22
  isEmptyObject(data) {
23
23
  return (data && (Object.keys(data).length === 0));
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserFullnamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: UserFullnamePipe, isStandalone: true, name: "mnlUserFullName" }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserFullnamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: UserFullnamePipe, isStandalone: true, name: "mnlUserFullName" }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserFullnamePipe, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserFullnamePipe, decorators: [{
29
29
  type: Pipe,
30
30
  args: [{
31
31
  name: 'mnlUserFullName',
@@ -36,10 +36,10 @@ export class UserInitialPipe {
36
36
  hasWhiteSpace(data) {
37
37
  return /\s/g.test(data);
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
40
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: UserInitialPipe, isStandalone: true, name: "mnlUserInitialPipe" }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
40
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: UserInitialPipe, isStandalone: true, name: "mnlUserInitialPipe" }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserInitialPipe, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserInitialPipe, decorators: [{
43
43
  type: Pipe,
44
44
  args: [{
45
45
  name: 'mnlUserInitialPipe',
@@ -29,10 +29,10 @@ export class AppConfigService {
29
29
  });
30
30
  });
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AppConfigService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AppConfigService, providedIn: 'root' }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AppConfigService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AppConfigService, providedIn: 'root' }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AppConfigService, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AppConfigService, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{
38
38
  providedIn: 'root',
@@ -36,10 +36,10 @@ export class LocalStorageService {
36
36
  return false;
37
37
  }
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocalStorageService, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocalStorageService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root',
@@ -74,10 +74,10 @@ export class LocaleService {
74
74
  this.userProfileService.setLocale(locale.key);
75
75
  }
76
76
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocaleService, deps: [{ token: i1.AppConfigService }, { token: i2.TranslateService }, { token: i3.UserProfileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
78
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocaleService, deps: [{ token: i1.AppConfigService }, { token: i2.TranslateService }, { token: i3.UserProfileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
78
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocaleService, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LocaleService, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{
83
83
  providedIn: 'root',
@@ -77,10 +77,10 @@ export class LogService {
77
77
  messageBus(message, logLevel) {
78
78
  this.onMessage.next({ text: message, type: logLevel });
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LogService, deps: [{ token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LogService, providedIn: 'root' }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LogService, deps: [{ token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LogService, providedIn: 'root' }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LogService, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LogService, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{
86
86
  providedIn: 'root'
@@ -24,10 +24,10 @@ export class UserProfileService {
24
24
  getLocale() {
25
25
  return this.localStorageService.get(this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX);
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserProfileService, deps: [{ token: i1.AppConfigService }, { token: i2.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserProfileService, providedIn: 'root' }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserProfileService, deps: [{ token: i1.AppConfigService }, { token: i2.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserProfileService, providedIn: 'root' }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UserProfileService, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserProfileService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root'