@muraai/mnl-commons 0.2.0-alpha-9876b7a → 0.2.0-alpha-7b43693

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.
@@ -55,9 +55,7 @@ export class CommonsModule {
55
55
  };
56
56
  }
57
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, declarations: [MenuComponent,
59
- AppConfigPipe,
60
- LanguageMenuComponent,
58
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, declarations: [AppConfigPipe,
61
59
  TimeAgoPipe], imports: [CommonModule,
62
60
  MatToolbarModule,
63
61
  MaterialModule,
@@ -65,10 +63,11 @@ export class CommonsModule {
65
63
  HeaderComponent,
66
64
  HighlighterComponent,
67
65
  LoginComponent,
68
- HeaderComponent,
69
66
  ProfileComponent,
70
67
  UserFullnamePipe,
71
- UserInitialPipe, i1.TranslateModule], exports: [HeaderComponent,
68
+ UserInitialPipe,
69
+ LanguageMenuComponent,
70
+ MenuComponent, i1.TranslateModule], exports: [HeaderComponent,
72
71
  MenuComponent,
73
72
  HighlighterComponent,
74
73
  AppConfigPipe,
@@ -87,8 +86,9 @@ export class CommonsModule {
87
86
  HeaderComponent,
88
87
  HighlighterComponent,
89
88
  LoginComponent,
90
- HeaderComponent,
91
89
  ProfileComponent,
90
+ LanguageMenuComponent,
91
+ MenuComponent,
92
92
  TranslateModule.forRoot({
93
93
  loader: {
94
94
  provide: TranslateLoader,
@@ -101,9 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
101
101
  type: NgModule,
102
102
  args: [{
103
103
  declarations: [
104
- MenuComponent,
105
104
  AppConfigPipe,
106
- LanguageMenuComponent,
107
105
  TimeAgoPipe
108
106
  ],
109
107
  imports: [
@@ -114,10 +112,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
114
112
  HeaderComponent,
115
113
  HighlighterComponent,
116
114
  LoginComponent,
117
- HeaderComponent,
118
115
  ProfileComponent,
119
116
  UserFullnamePipe,
120
117
  UserInitialPipe,
118
+ LanguageMenuComponent,
119
+ MenuComponent,
121
120
  TranslateModule.forRoot({
122
121
  loader: {
123
122
  provide: TranslateLoader,
@@ -146,4 +145,4 @@ export function loadConfig(config) {
146
145
  const conf = () => config.load();
147
146
  return conf;
148
147
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix3QkFBd0IsR0FDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixD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LElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQzs2QkFDN0M7eUJBQ0YsQ0FBQztxQkFDSDtvQkFFRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG9CQUFvQjtxQkFDckI7aUJBQ0Y7O0FBNkJELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBd0I7SUFDakQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgbG9jYWxlQVIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvYXInO1xuaW1wb3J0IGxvY2FsZURFIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2RlJztcbmltcG9ydCBsb2NhbGVGUiBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hpZ2hsaWdodGVyL2hpZ2hsaWdodGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZU1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFuZ3VhZ2UtbWVudS9sYW5ndWFnZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7XG4gIE1OTF9UUkFOU0xBVElPTl9SRVNPVVJDRSxcbiAgdHJhbnNsYXRpb25Mb2FkZXJGYWN0b3J5LFxufSBmcm9tICcuL21vZGVsL3RyYW5zbGF0aW9uLXJlc291cmNlJztcbmltcG9ydCB7IEFwcENvbmZpZ1BpcGUgfSBmcm9tICcuL3BpcGVzL2FwcC1jb25maWctcGlwZSc7XG5pbXBvcnQgeyBUaW1lQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1hZ28tcGlwZSc7XG5pbXBvcnQgeyBVc2VyRnVsbG5hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy91c2VyLWZ1bGxuYW1lLXBpcGUnO1xuaW1wb3J0IHsgVXNlckluaXRpYWxQaXBlIH0gZnJvbSAnLi9waXBlcy91c2VyLWluaXRpYWxzLXBpcGUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXBwLmNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdFRvb2xiYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuXG5yZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRlIpO1xucmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZURFKTtcbnJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVBUik7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIEFwcENvbmZpZ1BpcGUsXG4gICAgTGFuZ3VhZ2VNZW51Q29tcG9uZW50LFxuICAgIFRpbWVBZ29QaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgICBIZWFkZXJDb21wb25lbnQsICAgIFxuICAgIEhpZ2hsaWdodGVyQ29tcG9uZW50LCAgICBcbiAgICBMb2dpbkNvbXBvbmVudCxcbiAgICBIZWFkZXJDb21wb25lbnQsXG4gICAgUHJvZmlsZUNvbXBvbmVudCxcbiAgICBVc2VyRnVsbG5hbWVQaXBlLFxuICAgIFVzZXJJbml0aWFsUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiB0cmFuc2xhdGlvbkxvYWRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBNTkxfVFJBTlNMQVRJT05fUkVTT1VSQ0VdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcblxuICBleHBvcnRzOiBbXG4gICAgSGVhZGVyQ29tcG9uZW50LFxuICAgIE1lbnVDb21wb25lbnQsXG4gICAgSGlnaGxpZ2h0ZXJDb21wb25lbnQsXG4gICAgQXBwQ29uZmlnUGlwZSxcbiAgICBMYW5ndWFnZU1lbnVDb21wb25lbnQsXG4gICAgTG9naW5Db21wb25lbnQsXG4gICAgUHJvZmlsZUNvbXBvbmVudCxcbiAgICBVc2VySW5pdGlhbFBpcGUsXG4gICAgVGltZUFnb1BpcGUsXG4gICAgVXNlckZ1bGxuYW1lUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUGxhY2Vob2xkZXJDb21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tbW9uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29tbW9uc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvYWRDb25maWcsXG4gICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgIFVzZXJQcm9maWxlU2VydmljZSxcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgTG9jYWxlU2VydmljZSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tbW9uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29tbW9uc01vZHVsZSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZzogQXBwQ29uZmlnU2VydmljZSkge1xuICBjb25zdCBjb25mID0gKCkgPT4gY29uZmlnLmxvYWQoKTtcbiAgcmV0dXJuIGNvbmY7XG59XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix3QkFBd0IsR0FDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixD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QUUsQ0FBQyxVQUFVLEVBQUUsd0JBQXdCLENBQUM7NkJBQzdDO3lCQUNGLENBQUM7cUJBQ0g7b0JBRUQsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixvQkFBb0I7cUJBQ3JCO2lCQUNGOztBQTZCRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQXdCO0lBQ2pELE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IGxvY2FsZUFSIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2FyJztcbmltcG9ydCBsb2NhbGVERSBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9kZSc7XG5pbXBvcnQgbG9jYWxlRlIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZnInO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaWdobGlnaHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oaWdobGlnaHRlci9oaWdobGlnaHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhbmd1YWdlLW1lbnUvbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQge1xuICBNTkxfVFJBTlNMQVRJT05fUkVTT1VSQ0UsXG4gIHRyYW5zbGF0aW9uTG9hZGVyRmFjdG9yeSxcbn0gZnJvbSAnLi9tb2RlbC90cmFuc2xhdGlvbi1yZXNvdXJjZSc7XG5pbXBvcnQgeyBBcHBDb25maWdQaXBlIH0gZnJvbSAnLi9waXBlcy9hcHAtY29uZmlnLXBpcGUnO1xuaW1wb3J0IHsgVGltZUFnb1BpcGUgfSBmcm9tICcuL3BpcGVzL3RpbWUtYWdvLXBpcGUnO1xuaW1wb3J0IHsgVXNlckZ1bGxuYW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvdXNlci1mdWxsbmFtZS1waXBlJztcbmltcG9ydCB7IFVzZXJJbml0aWFsUGlwZSB9IGZyb20gJy4vcGlwZXMvdXNlci1pbml0aWFscy1waXBlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcC5jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcblxucmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZUZSKTtcbnJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVERSk7XG5yZWdpc3RlckxvY2FsZURhdGEobG9jYWxlQVIpO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXBwQ29uZmlnUGlwZSxcbiAgICBUaW1lQWdvUGlwZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgUGxhY2Vob2xkZXJDb21wb25lbnQsXG4gICAgSGVhZGVyQ29tcG9uZW50LCAgICBcbiAgICBIaWdobGlnaHRlckNvbXBvbmVudCwgICAgXG4gICAgTG9naW5Db21wb25lbnQsXG4gICAgUHJvZmlsZUNvbXBvbmVudCxcbiAgICBVc2VyRnVsbG5hbWVQaXBlLFxuICAgIFVzZXJJbml0aWFsUGlwZSxcbiAgICBMYW5ndWFnZU1lbnVDb21wb25lbnQsXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiB0cmFuc2xhdGlvbkxvYWRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBNTkxfVFJBTlNMQVRJT05fUkVTT1VSQ0VdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcblxuICBleHBvcnRzOiBbXG4gICAgSGVhZGVyQ29tcG9uZW50LFxuICAgIE1lbnVDb21wb25lbnQsXG4gICAgSGlnaGxpZ2h0ZXJDb21wb25lbnQsXG4gICAgQXBwQ29uZmlnUGlwZSxcbiAgICBMYW5ndWFnZU1lbnVDb21wb25lbnQsXG4gICAgTG9naW5Db21wb25lbnQsXG4gICAgUHJvZmlsZUNvbXBvbmVudCxcbiAgICBVc2VySW5pdGlhbFBpcGUsXG4gICAgVGltZUFnb1BpcGUsXG4gICAgVXNlckZ1bGxuYW1lUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUGxhY2Vob2xkZXJDb21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tbW9uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29tbW9uc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvYWRDb25maWcsXG4gICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgIFVzZXJQcm9maWxlU2VydmljZSxcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgTG9jYWxlU2VydmljZSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tbW9uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29tbW9uc01vZHVsZSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZzogQXBwQ29uZmlnU2VydmljZSkge1xuICBjb25zdCBjb25mID0gKCkgPT4gY29uZmlnLmxvYWQoKTtcbiAgcmV0dXJuIGNvbmY7XG59XG4iXX0=
@@ -1,10 +1,15 @@
1
1
  import { Component, Input } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { MatMenuModule } from '@angular/material/menu';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { CommonModule } from '@angular/common';
2
7
  import * as i0 from "@angular/core";
3
8
  import * as i1 from "../../services/locale.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/icon";
6
- import * as i4 from "@angular/material/menu";
7
- import * as i5 from "@ngx-translate/core";
9
+ import * as i2 from "@angular/material/icon";
10
+ import * as i3 from "@angular/material/menu";
11
+ import * as i4 from "@ngx-translate/core";
12
+ import * as i5 from "@angular/common";
8
13
  export class LanguageMenuComponent {
9
14
  constructor(localeService) {
10
15
  this.localeService = localeService;
@@ -23,14 +28,14 @@ export class LanguageMenuComponent {
23
28
  return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();
24
29
  }
25
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LanguageMenuComponent, deps: [{ token: i1.LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: LanguageMenuComponent, selector: "mnl-language-menu", inputs: { showLocaleKeyAsLabel: "showLocaleKeyAsLabel", showLocaleAsLabel: "showLocaleAsLabel" }, ngImport: i0, template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\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: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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" }] }); }
27
32
  }
28
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LanguageMenuComponent, decorators: [{
29
34
  type: Component,
30
- args: [{ selector: 'mnl-language-menu', template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\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" }]
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" }]
31
36
  }], ctorParameters: () => [{ type: i1.LocaleService }], propDecorators: { showLocaleKeyAsLabel: [{
32
37
  type: Input
33
38
  }], showLocaleAsLabel: [{
34
39
  type: Input
35
40
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9sYW5ndWFnZS1tZW51L2xhbmd1YWdlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbGFuZ3VhZ2UtbWVudS9sYW5ndWFnZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOaEQseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBRzdCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixjQUFTLEdBQXdCLEVBQUUsQ0FBQztJQUNlLENBQUM7SUFFcEQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQXNCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7OEdBdEJVLHFCQUFxQjtrR0FBckIscUJBQXFCLDJKQ1JsQyxpdEJBb0JBOzsyRkRaYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO2tGQU83QixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlLCBMYW5ndWFnZUl0ZW0gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ubC1sYW5ndWFnZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhbmd1YWdlLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYW5ndWFnZS1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgc2hvd0xvY2FsZUtleUFzTGFiZWwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93TG9jYWxlQXNMYWJlbCA9IGZhbHNlO1xuXG4gIGxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VJdGVtPiA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sYW5ndWFnZXMgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TGFuZ3VhZ2VzKCk7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlLnNldEFjdGl2ZUxvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBvbkNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlOiBMYW5ndWFnZUl0ZW0pIHtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2Uuc2V0QWN0aXZlTG9jYWxlKGxhbmd1YWdlKTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKTogTGFuZ3VhZ2VJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldEFjdGl2ZUxvY2FsZSgpIHx8IHRoaXMubG9jYWxlU2VydmljZS5nZXREZWZhdWx0TG9jYWxlKCk7XG4gIH1cbn1cbiIsIjxidXR0b24gaWQ9XCJtbmwtbG9jYWxlLWJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxhbmd1YWdlTWVudVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0xvY2FsZUtleUFzTGFiZWwgfHwgc2hvd0xvY2FsZUFzTGFiZWw7IGVsc2UgZGVmYXVsdExhYmVsXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dMb2NhbGVLZXlBc0xhYmVsXCI+e3sgbG9jYWxlLmtleSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaG93TG9jYWxlQXNMYWJlbFwiPnt7IGxvY2FsZS5sYWJlbCB9fTwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TGFiZWw+XG4gICAgPG1hdC1pY29uPmxhbmd1YWdlPC9tYXQtaWNvbj5cbiAgICB7eyBcIk1OTC5MQU5HVUFHRS1TRUxFQ1RPUi5MQU5HVUFHRVNcIiB8IHRyYW5zbGF0ZSB9fVxuICA8L25nLXRlbXBsYXRlPlxuPC9idXR0b24+XG48bWF0LW1lbnUgI2xhbmd1YWdlTWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgbGFuZ3VhZ2VzXCJcbiAgICAoY2xpY2spPVwib25DaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSlcIlxuICAgIGlkPVwibGFuZ01lbnVcIlxuICA+XG4gICAge3sgbGFuZ3VhZ2UubGFiZWwgfX1cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9sYW5ndWFnZS1tZW51L2xhbmd1YWdlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbGFuZ3VhZ2UtbWVudS9sYW5ndWFnZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFTL0MsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU5oRCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFHN0Isc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBQ2UsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBc0I7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkYsQ0FBQzs4R0F0QlUscUJBQXFCO2tHQUFyQixxQkFBcUIsK0tDZmxDLHlxQkF3QkEseUREYlcsYUFBYSxtTEFBQyxhQUFhLDZ2QkFBQyxlQUFlLDhCQUFDLGVBQWUsMkZBQUMsWUFBWTs7MkZBSXRFLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDbEIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFDLGFBQWEsRUFBQyxlQUFlLEVBQUMsZUFBZSxFQUFDLFlBQVksQ0FBQztrRkFPbEYsb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSwgTGFuZ3VhZ2VJdGVtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLWxhbmd1YWdlLW1lbnUnLFxuICBzdGFuZGFsb25lOnRydWUsXG4gIGltcG9ydHM6W01hdEljb25Nb2R1bGUsTWF0TWVudU1vZHVsZSxNYXRCdXR0b25Nb2R1bGUsVHJhbnNsYXRlTW9kdWxlLENvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYW5ndWFnZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHNob3dMb2NhbGVLZXlBc0xhYmVsID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2hvd0xvY2FsZUFzTGFiZWwgPSBmYWxzZTtcblxuICBsYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlSXRlbT4gPSBbXTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGFuZ3VhZ2VzID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExhbmd1YWdlcygpO1xuICAgIHRoaXMubG9jYWxlU2VydmljZS5zZXRBY3RpdmVMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgb25DaGFuZ2VMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VJdGVtKSB7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlLnNldEFjdGl2ZUxvY2FsZShsYW5ndWFnZSk7XG4gIH1cblxuICBnZXQgbG9jYWxlKCk6IExhbmd1YWdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5nZXRBY3RpdmVMb2NhbGUoKSB8fCB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVmYXVsdExvY2FsZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uIGlkPVwibW5sLWxvY2FsZS1idXR0b25cIiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJsYW5ndWFnZU1lbnVcIj5cbiAgQGlmKHNob3dMb2NhbGVLZXlBc0xhYmVsIHx8IHNob3dMb2NhbGVBc0xhYmVsKXtcbiAgICAgIEBpZihzaG93TG9jYWxlS2V5QXNMYWJlbCl7XG4gICAgICAgIDxkaXY+e3sgbG9jYWxlLmtleSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmKHNob3dMb2NhbGVBc0xhYmVsKXtcbiAgICAgICAgPGRpdj57eyBsb2NhbGUubGFiZWwgfX08L2Rpdj5cbiAgICAgIH0gICAgICBcbiAgfVxuICBAZWxzZXtcbiAgICAgIDxtYXQtaWNvbj5sYW5ndWFnZTwvbWF0LWljb24+XG4gICAgICB7eyBcIk1OTC5MQU5HVUFHRS1TRUxFQ1RPUi5MQU5HVUFHRVNcIiB8IHRyYW5zbGF0ZSB9fVxuICB9ICAgIFxuPC9idXR0b24+XG48bWF0LW1lbnUgI2xhbmd1YWdlTWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgbGFuZ3VhZ2VzXCJcbiAgICAoY2xpY2spPVwib25DaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSlcIlxuICAgIGlkPVwibGFuZ01lbnVcIlxuICA+XG4gICAge3sgbGFuZ3VhZ2UubGFiZWwgfX1cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
@@ -1,10 +1,15 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatNavList } from '@angular/material/list';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { MatMenuModule } from '@angular/material/menu';
7
+ import { HighlighterComponent } from '../highlighter/highlighter.component';
8
+ import { MatListItem } from '@angular/material/list';
2
9
  import * as i0 from "@angular/core";
3
10
  import * as i1 from "@angular/common";
4
11
  import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/list";
6
- import * as i4 from "../highlighter/highlighter.component";
7
- import * as i5 from "@ngx-translate/core";
12
+ import * as i3 from "@ngx-translate/core";
8
13
  export class MenuComponent {
9
14
  constructor() {
10
15
  this.menuClick = new EventEmitter();
@@ -54,14 +59,14 @@ export class MenuComponent {
54
59
  menu.expanded = true;
55
60
  }
56
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: MenuComponent, selector: "mnl-menu", inputs: { menuData: "menuData" }, outputs: { menuClick: "menuClick" }, ngImport: i0, template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"], dependencies: [{ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i4.HighlighterComponent, selector: "mnl-highlighter", inputs: ["height", "width", "enabled"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: MenuComponent, isStandalone: true, selector: "mnl-menu", inputs: { menuData: "menuData" }, outputs: { menuClick: "menuClick" }, ngImport: i0, template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n @if(menu.icon){\n <mat-icon>{{menu.icon}}</mat-icon>\n }\n @else{\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n }\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n @if(menu.subMenus){\n <mat-icon class=\"mnl-menu-button\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n } \n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded){\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n }\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.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: "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: HighlighterComponent, selector: "mnl-highlighter", inputs: ["height", "width", "enabled"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] }); }
58
63
  }
59
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuComponent, decorators: [{
60
65
  type: Component,
61
- args: [{ selector: 'mnl-menu', template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
66
+ args: [{ selector: 'mnl-menu', standalone: true, imports: [CommonModule, MatNavList, MatIconModule, TranslateModule, MatMenuModule, HighlighterComponent, MatListItem], template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n @if(menu.icon){\n <mat-icon>{{menu.icon}}</mat-icon>\n }\n @else{\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n }\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n @if(menu.subMenus){\n <mat-icon class=\"mnl-menu-button\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n } \n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded){\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n }\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
62
67
  }], propDecorators: { menuData: [{
63
68
  type: Input
64
69
  }], menuClick: [{
65
70
  type: Output
66
71
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFVRSxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7S0FvRHhEO0lBbERDLFdBQVcsQ0FBQyxJQUFlO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFrQixFQUFFLElBQWU7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBa0I7UUFDOUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsSUFBZTtRQUNoQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsSUFBZTtRQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBZSxFQUFFLEtBQVk7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFlO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7OEdBeERVLGFBQWE7a0dBQWIsYUFBYSx1SENSMUIsMnhDQXFCZTs7MkZEYkYsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVOzhCQU1wQixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL21lbnUtZGF0YS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ubC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBtZW51RGF0YTogQXJyYXk8TWVudU1vZGVsPjtcblxuICBAT3V0cHV0KClcbiAgbWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG9uTWVudUNsaWNrKG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIGlmICh0aGlzLmhhc1N1Yk1lbnUobWVudSkpIHtcbiAgICAgIHRoaXMub3Blbk1lbnUobWVudSk7XG4gICAgICB0aGlzLm9uU3ViTWVudUNsaWNrKG1lbnUuc3ViTWVudXNbMF0sIG1lbnUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlU2VsZWN0TWVudXModGhpcy5tZW51RGF0YSk7XG4gICAgICB0aGlzLnNlbGVjdE1lbnUobWVudSk7XG4gICAgICB0aGlzLm1lbnVDbGljay5lbWl0KG1lbnUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3ViTWVudUNsaWNrKHN1Yk1lbnU6IE1lbnVNb2RlbCwgbWVudTogTWVudU1vZGVsKSB7XG4gICAgdGhpcy5kZVNlbGVjdE1lbnVzKHRoaXMubWVudURhdGEpO1xuICAgIHRoaXMuc2VsZWN0TWVudShtZW51KTtcbiAgICB0aGlzLnNlbGVjdE1lbnUoc3ViTWVudSk7XG4gICAgdGhpcy5tZW51Q2xpY2suZW1pdChzdWJNZW51KTtcbiAgfVxuXG4gIGRlU2VsZWN0TWVudXMobWVudXM6IE1lbnVNb2RlbFtdKSB7XG4gICAgaWYgKG1lbnVzKSB7XG4gICAgICBmb3IgKGNvbnN0IG1lbnUgb2YgbWVudXMpIHtcbiAgICAgICAgaWYgKG1lbnUuc2VsZWN0ZWQpIHtcbiAgICAgICAgICBtZW51LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZVNlbGVjdE1lbnVzKG1lbnUuc3ViTWVudXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0TWVudShtZW51OiBNZW51TW9kZWwpIHtcbiAgICBpZiAobWVudSkge1xuICAgICAgbWVudS5zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNTdWJNZW51KG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIHJldHVybiBtZW51LnN1Yk1lbnVzICYmIG1lbnUuc3ViTWVudXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUobWVudTogTWVudU1vZGVsLCBldmVudDogRXZlbnQpIHtcbiAgICBtZW51LmV4cGFuZGVkID0gIW1lbnUuZXhwYW5kZWQ7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3Blbk1lbnUobWVudTogTWVudU1vZGVsKSB7XG4gICAgbWVudS5leHBhbmRlZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxtYXQtbmF2LWxpc3QgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudURhdGFcIj5cbiAgICA8YSBtYXQtbGlzdC1pdGVtICAoY2xpY2spPVwib25NZW51Q2xpY2sobWVudSlcIiBpZD1cIm1ubC1tZW51LWFuY2hvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheTogZmxleCAganVzdGlmeS1jb250ZW50OiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxtbmwtaGlnaGxpZ2h0ZXIgW2VuYWJsZWRdPVwibWVudS5zZWxlY3RlZFwiPjwvbW5sLWhpZ2hsaWdodGVyPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51Lmljb247IGVsc2Ugc3ZnVGVtcGxhdGUgXCI+e3ttZW51Lmljb259fTwvbWF0LWljb24+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ZnVGVtcGxhdGU+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7bWVudS5zdmdJY29ufX1cIj4gPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtbmwtbWVudVwiIGlkPVwibW5sLW1lbnVcIj57e21lbnUubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibW5sLW1lbnUtYnV0dG9uXCIgKm5nSWY9XCJtZW51LnN1Yk1lbnVzXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUobWVudSwgJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21ubC1yb3RhdGVkJyA6IG1lbnUuZXhwYW5kZWR9XCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj4gICAgXG4gICAgPC9hPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YiBvZiBtZW51LnN1Yk1lbnVzXCI+XG4gICAgICAgIDxhIG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJtbmwtc3VibWVudSBmbGV4IGZsZXgtcm93XCIgW2NsYXNzLm1ubC1leHBhbmRlZF09XCJtZW51LmV4cGFuZGVkXCIgKm5nSWY9XCJtZW51LmV4cGFuZGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblN1Yk1lbnVDbGljayhzdWIsIG1lbnUpXCIgIGlkPVwibW5sLXN1Ym1lbnUtYW5jaG9yXCI+XG4gICAgICAgICAgICA8bW5sLWhpZ2hsaWdodGVyIFtlbmFibGVkXT1cInN1Yi5zZWxlY3RlZFwiPjwvbW5sLWhpZ2hsaWdodGVyPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7c3ViLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ubC1tZW51XCIgaWQ9XCJtbmwtc3VibWVudVwiPnt7c3ViLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW5hdi1saXN0PiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBUXJELE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBWUUsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0tBb0R4RDtJQWxEQyxXQUFXLENBQUMsSUFBZTtRQUN6QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsT0FBa0IsRUFBRSxJQUFlO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtCO1FBQzlCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWU7UUFDaEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWU7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWUsRUFBRSxLQUFZO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRS9CLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsSUFBZTtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDOzhHQXhEVSxhQUFhO2tHQUFiLGFBQWEsMklDaEIxQixtMENBMkJlLDZiRGZKLFlBQVksMFBBQUMsVUFBVSxrRkFBQyxhQUFhLG1MQUFDLGVBQWUsMkZBQUMsYUFBYSwrQkFBQyxvQkFBb0Isb0dBQUMsV0FBVzs7MkZBSWxHLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNULElBQUksV0FDUCxDQUFDLFlBQVksRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFDLGVBQWUsRUFBQyxhQUFhLEVBQUMsb0JBQW9CLEVBQUMsV0FBVyxDQUFDOzhCQU05RyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL21lbnUtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TmF2TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBIaWdobGlnaHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2hpZ2hsaWdodGVyL2hpZ2hsaWdodGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRMaXN0SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLW1lbnUnLFxuICBzdGFuZGFsb25lOnRydWUsXG4gIGltcG9ydHM6W0NvbW1vbk1vZHVsZSxNYXROYXZMaXN0LE1hdEljb25Nb2R1bGUsVHJhbnNsYXRlTW9kdWxlLE1hdE1lbnVNb2R1bGUsSGlnaGxpZ2h0ZXJDb21wb25lbnQsTWF0TGlzdEl0ZW1dLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIG1lbnVEYXRhOiBBcnJheTxNZW51TW9kZWw+O1xuXG4gIEBPdXRwdXQoKVxuICBtZW51Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb25NZW51Q2xpY2sobWVudTogTWVudU1vZGVsKSB7XG4gICAgaWYgKHRoaXMuaGFzU3ViTWVudShtZW51KSkge1xuICAgICAgdGhpcy5vcGVuTWVudShtZW51KTtcbiAgICAgIHRoaXMub25TdWJNZW51Q2xpY2sobWVudS5zdWJNZW51c1swXSwgbWVudSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVTZWxlY3RNZW51cyh0aGlzLm1lbnVEYXRhKTtcbiAgICAgIHRoaXMuc2VsZWN0TWVudShtZW51KTtcbiAgICAgIHRoaXMubWVudUNsaWNrLmVtaXQobWVudSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJNZW51Q2xpY2soc3ViTWVudTogTWVudU1vZGVsLCBtZW51OiBNZW51TW9kZWwpIHtcbiAgICB0aGlzLmRlU2VsZWN0TWVudXModGhpcy5tZW51RGF0YSk7XG4gICAgdGhpcy5zZWxlY3RNZW51KG1lbnUpO1xuICAgIHRoaXMuc2VsZWN0TWVudShzdWJNZW51KTtcbiAgICB0aGlzLm1lbnVDbGljay5lbWl0KHN1Yk1lbnUpO1xuICB9XG5cbiAgZGVTZWxlY3RNZW51cyhtZW51czogTWVudU1vZGVsW10pIHtcbiAgICBpZiAobWVudXMpIHtcbiAgICAgIGZvciAoY29uc3QgbWVudSBvZiBtZW51cykge1xuICAgICAgICBpZiAobWVudS5zZWxlY3RlZCkge1xuICAgICAgICAgIG1lbnUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlU2VsZWN0TWVudXMobWVudS5zdWJNZW51cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RNZW51KG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIGlmIChtZW51KSB7XG4gICAgICBtZW51LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc1N1Yk1lbnUobWVudTogTWVudU1vZGVsKSB7XG4gICAgcmV0dXJuIG1lbnUuc3ViTWVudXMgJiYgbWVudS5zdWJNZW51cy5sZW5ndGggPiAwO1xuICB9XG5cbiAgdG9nZ2xlTWVudShtZW51OiBNZW51TW9kZWwsIGV2ZW50OiBFdmVudCkge1xuICAgIG1lbnUuZXhwYW5kZWQgPSAhbWVudS5leHBhbmRlZDtcblxuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTWVudShtZW51OiBNZW51TW9kZWwpIHtcbiAgICBtZW51LmV4cGFuZGVkID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdCAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51RGF0YVwiPlxuICAgIDxhIG1hdC1saXN0LWl0ZW0gIChjbGljayk9XCJvbk1lbnVDbGljayhtZW51KVwiIGlkPVwibW5sLW1lbnUtYW5jaG9yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5OiBmbGV4ICBqdXN0aWZ5LWNvbnRlbnQ6IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPG1ubC1oaWdobGlnaHRlciBbZW5hYmxlZF09XCJtZW51LnNlbGVjdGVkXCI+PC9tbmwtaGlnaGxpZ2h0ZXI+XG4gICAgICAgICAgICBAaWYobWVudS5pY29uKXtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+e3ttZW51Lmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZXtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7bWVudS5zdmdJY29ufX1cIj4gPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtbmwtbWVudVwiIGlkPVwibW5sLW1lbnVcIj57e21lbnUubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKG1lbnUuc3ViTWVudXMpe1xuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibW5sLW1lbnUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUobWVudSwgJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21ubC1yb3RhdGVkJyA6IG1lbnUuZXhwYW5kZWR9XCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICB9ICAgICAgICBcbiAgICAgICAgPC9kaXY+ICAgIFxuICAgIDwvYT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWIgb2YgbWVudS5zdWJNZW51c1wiPlxuICAgICAgICBAaWYobWVudS5leHBhbmRlZCl7XG4gICAgICAgICAgICA8YSBtYXQtbGlzdC1pdGVtIGNsYXNzPVwibW5sLXN1Ym1lbnUgZmxleCBmbGV4LXJvd1wiIFtjbGFzcy5tbmwtZXhwYW5kZWRdPVwibWVudS5leHBhbmRlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdWJNZW51Q2xpY2soc3ViLCBtZW51KVwiICBpZD1cIm1ubC1zdWJtZW51LWFuY2hvclwiPlxuICAgICAgICAgICAgPG1ubC1oaWdobGlnaHRlciBbZW5hYmxlZF09XCJzdWIuc2VsZWN0ZWRcIj48L21ubC1oaWdobGlnaHRlcj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57e3N1Yi5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbmwtbWVudVwiIGlkPVwibW5sLXN1Ym1lbnVcIj57e3N1Yi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW5hdi1saXN0PiJdfQ==
@@ -1,20 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, EventEmitter, Component, ViewEncapsulation, Input, Output, Injectable, Inject, Pipe, InjectionToken, APP_INITIALIZER } from '@angular/core';
3
- import * as i2$3 from '@angular/material/button';
3
+ import * as i2$2 from '@angular/material/button';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
- import * as i3 from '@angular/material/list';
6
- import { MatListModule } from '@angular/material/list';
5
+ import { MatListModule, MatNavList, MatListItem } from '@angular/material/list';
7
6
  import * as i1 from '@angular/material/icon';
8
7
  import { MatIconModule } from '@angular/material/icon';
9
8
  import * as i6 from '@angular/material/input';
10
9
  import { MatInputModule } from '@angular/material/input';
11
- import * as i4$1 from '@angular/material/form-field';
10
+ import * as i4 from '@angular/material/form-field';
12
11
  import { MatFormFieldModule } from '@angular/material/form-field';
13
- import * as i2$2 from '@angular/material/card';
12
+ import * as i2$1 from '@angular/material/card';
14
13
  import { MatCardModule } from '@angular/material/card';
15
14
  import * as i5 from '@angular/forms';
16
15
  import { FormsModule, ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';
17
- import * as i4 from '@angular/material/menu';
16
+ import * as i3$1 from '@angular/material/menu';
18
17
  import { MatMenuModule } from '@angular/material/menu';
19
18
  import * as i1$1 from '@angular/common';
20
19
  import { CommonModule, DOCUMENT, DatePipe, registerLocaleData } from '@angular/common';
@@ -23,7 +22,7 @@ import { HttpClient } from '@angular/common/http';
23
22
  import localeAR from '@angular/common/locales/ar';
24
23
  import localeDE from '@angular/common/locales/de';
25
24
  import localeFR from '@angular/common/locales/fr';
26
- import * as i2$1 from '@ngx-translate/core';
25
+ import * as i3 from '@ngx-translate/core';
27
26
  import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
28
27
  import * as i2 from '@angular/material/toolbar';
29
28
  import { MatToolbarModule } from '@angular/material/toolbar';
@@ -96,7 +95,7 @@ class HeaderComponent {
96
95
  this.logoClick.emit(event);
97
96
  }
98
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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 (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: i2$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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 (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 }); }
100
99
  }
101
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HeaderComponent, decorators: [{
102
101
  type: Component,
@@ -360,7 +359,7 @@ class LocaleService {
360
359
  this.userProfileService.setLocale(locale.key);
361
360
  }
362
361
  }
363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LocaleService, deps: [{ token: AppConfigService }, { token: i2$1.TranslateService }, { token: UserProfileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
362
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LocaleService, deps: [{ token: AppConfigService }, { token: i3.TranslateService }, { token: UserProfileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
364
363
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
365
364
  }
366
365
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LocaleService, decorators: [{
@@ -368,7 +367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
368
367
  args: [{
369
368
  providedIn: 'root',
370
369
  }]
371
- }], ctorParameters: () => [{ type: AppConfigService }, { type: i2$1.TranslateService }, { type: UserProfileService }, { type: Document, decorators: [{
370
+ }], ctorParameters: () => [{ type: AppConfigService }, { type: i3.TranslateService }, { type: UserProfileService }, { type: Document, decorators: [{
372
371
  type: Inject,
373
372
  args: [DOCUMENT]
374
373
  }] }] });
@@ -391,11 +390,11 @@ class LanguageMenuComponent {
391
390
  return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();
392
391
  }
393
392
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LanguageMenuComponent, deps: [{ token: LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
394
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: LanguageMenuComponent, selector: "mnl-language-menu", inputs: { showLocaleKeyAsLabel: "showLocaleKeyAsLabel", showLocaleAsLabel: "showLocaleAsLabel" }, ngImport: i0, template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\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: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
393
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.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$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.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: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }] }); }
395
394
  }
396
395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LanguageMenuComponent, decorators: [{
397
396
  type: Component,
398
- args: [{ selector: 'mnl-language-menu', template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\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" }]
397
+ 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" }]
399
398
  }], ctorParameters: () => [{ type: LocaleService }], propDecorators: { showLocaleKeyAsLabel: [{
400
399
  type: Input
401
400
  }], showLocaleAsLabel: [{
@@ -429,7 +428,7 @@ class LoginComponent {
429
428
  return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);
430
429
  }
431
430
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LoginComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$2.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i2$2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2$2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4$1.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: i2$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i2$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2$1.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: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
433
432
  }
434
433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LoginComponent, decorators: [{
435
434
  type: Component,
@@ -495,11 +494,11 @@ class MenuComponent {
495
494
  menu.expanded = true;
496
495
  }
497
496
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: MenuComponent, selector: "mnl-menu", inputs: { menuData: "menuData" }, outputs: { menuClick: "menuClick" }, ngImport: i0, template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: HighlighterComponent, selector: "mnl-highlighter", inputs: ["height", "width", "enabled"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
497
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: MenuComponent, isStandalone: true, selector: "mnl-menu", inputs: { menuData: "menuData" }, outputs: { menuClick: "menuClick" }, ngImport: i0, template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n @if(menu.icon){\n <mat-icon>{{menu.icon}}</mat-icon>\n }\n @else{\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n }\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n @if(menu.subMenus){\n <mat-icon class=\"mnl-menu-button\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n } \n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded){\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n }\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { 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: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: HighlighterComponent, selector: "mnl-highlighter", inputs: ["height", "width", "enabled"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] }); }
499
498
  }
500
499
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuComponent, decorators: [{
501
500
  type: Component,
502
- args: [{ selector: 'mnl-menu', template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
501
+ args: [{ selector: 'mnl-menu', standalone: true, imports: [CommonModule, MatNavList, MatIconModule, TranslateModule, MatMenuModule, HighlighterComponent, MatListItem], template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n @if(menu.icon){\n <mat-icon>{{menu.icon}}</mat-icon>\n }\n @else{\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n }\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n @if(menu.subMenus){\n <mat-icon class=\"mnl-menu-button\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n } \n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded){\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n }\n </ng-container>\n</mat-nav-list>", styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"] }]
503
502
  }], propDecorators: { menuData: [{
504
503
  type: Input
505
504
  }], menuClick: [{
@@ -606,7 +605,7 @@ class ProfileComponent {
606
605
  }
607
606
  }
608
607
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
609
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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 mat-icon-button\n >\n <mat-icon>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$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$3.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }] }); }
608
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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 mat-icon-button\n >\n <mat-icon>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$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }] }); }
610
609
  }
611
610
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ProfileComponent, decorators: [{
612
611
  type: Component,
@@ -789,7 +788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
789
788
 
790
789
  class PlaceholderComponent {
791
790
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
792
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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$1.TranslatePipe, name: "translate" }] }); }
791
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", 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: i3.TranslatePipe, name: "translate" }] }); }
793
792
  }
794
793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PlaceholderComponent, decorators: [{
795
794
  type: Component,
@@ -829,9 +828,7 @@ class CommonsModule {
829
828
  };
830
829
  }
831
830
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
832
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, declarations: [MenuComponent,
833
- AppConfigPipe,
834
- LanguageMenuComponent,
831
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: CommonsModule, declarations: [AppConfigPipe,
835
832
  TimeAgoPipe], imports: [CommonModule,
836
833
  MatToolbarModule,
837
834
  MaterialModule,
@@ -839,10 +836,11 @@ class CommonsModule {
839
836
  HeaderComponent,
840
837
  HighlighterComponent,
841
838
  LoginComponent,
842
- HeaderComponent,
843
839
  ProfileComponent,
844
840
  UserFullnamePipe,
845
- UserInitialPipe, i2$1.TranslateModule], exports: [HeaderComponent,
841
+ UserInitialPipe,
842
+ LanguageMenuComponent,
843
+ MenuComponent, i3.TranslateModule], exports: [HeaderComponent,
846
844
  MenuComponent,
847
845
  HighlighterComponent,
848
846
  AppConfigPipe,
@@ -861,8 +859,9 @@ class CommonsModule {
861
859
  HeaderComponent,
862
860
  HighlighterComponent,
863
861
  LoginComponent,
864
- HeaderComponent,
865
862
  ProfileComponent,
863
+ LanguageMenuComponent,
864
+ MenuComponent,
866
865
  TranslateModule.forRoot({
867
866
  loader: {
868
867
  provide: TranslateLoader,
@@ -875,9 +874,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
875
874
  type: NgModule,
876
875
  args: [{
877
876
  declarations: [
878
- MenuComponent,
879
877
  AppConfigPipe,
880
- LanguageMenuComponent,
881
878
  TimeAgoPipe
882
879
  ],
883
880
  imports: [
@@ -888,10 +885,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
888
885
  HeaderComponent,
889
886
  HighlighterComponent,
890
887
  LoginComponent,
891
- HeaderComponent,
892
888
  ProfileComponent,
893
889
  UserFullnamePipe,
894
890
  UserInitialPipe,
891
+ LanguageMenuComponent,
892
+ MenuComponent,
895
893
  TranslateModule.forRoot({
896
894
  loader: {
897
895
  provide: TranslateLoader,
@@ -1 +1 @@
1
- {"version":3,"file":"muraai-mnl-commons.mjs","sources":["../../../../projects/commons/src/lib/material.module.ts","../../../../projects/commons/src/lib/components/header/header.component.ts","../../../../projects/commons/src/lib/components/header/header.component.html","../../../../projects/commons/src/lib/components/highlighter/highlighter.component.ts","../../../../projects/commons/src/lib/components/highlighter/highlighter.component.html","../../../../projects/commons/src/lib/utils/object-utils.ts","../../../../projects/commons/src/lib/services/app.config.service.ts","../../../../projects/commons/src/lib/services/local-storage.service.ts","../../../../projects/commons/src/lib/services/user-profile.service.ts","../../../../projects/commons/src/lib/services/locale.service.ts","../../../../projects/commons/src/lib/components/language-menu/language-menu.component.ts","../../../../projects/commons/src/lib/components/language-menu/language-menu.component.html","../../../../projects/commons/src/lib/components/login/login.component.ts","../../../../projects/commons/src/lib/components/login/login.component.html","../../../../projects/commons/src/lib/components/menu/menu.component.ts","../../../../projects/commons/src/lib/components/menu/menu.component.html","../../../../projects/commons/src/lib/pipes/user-fullname-pipe.ts","../../../../projects/commons/src/lib/pipes/user-initials-pipe.ts","../../../../projects/commons/src/lib/components/profile/profile.component.ts","../../../../projects/commons/src/lib/components/profile/profile.component.html","../../../../projects/commons/src/lib/model/translation-resource.ts","../../../../projects/commons/src/lib/pipes/app-config-pipe.ts","../../../../projects/commons/src/lib/pipes/time-ago-pipe.ts","../../../../projects/commons/src/lib/model/log-levels.model.ts","../../../../projects/commons/src/lib/services/log.service.ts","../../../../projects/commons/src/lib/components/placeholder/placeholder.component.ts","../../../../projects/commons/src/lib/components/placeholder/placeholder.component.html","../../../../projects/commons/src/lib/commons.module.ts","../../../../projects/commons/src/public-api.ts","../../../../projects/commons/src/muraai-mnl-commons.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCardModule } from '@angular/material/card';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu'\nexport function modules() {\n return [\n MatButtonModule,\n MatCardModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n FormsModule,\n ReactiveFormsModule,\n MatMenuModule,\n ];\n}\n@NgModule({\n imports: modules(),\n exports: modules()\n})\nexport class MaterialModule {}\n","import { Component, Input, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { TranslateModule } from '@ngx-translate/core';\n@Component({\n selector: 'mnl-header',\n standalone:true,\n imports:[MatIconModule,MatToolbarModule,TranslateModule],\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent {\n\n @Input()\n header: any;\n\n @Output()\n menuButonClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n logoClick: EventEmitter<any> = new EventEmitter<any>();\n\n menuClick(event) {\n this.menuButonClickEvent.emit(event);\n console.log(\"menuButtonClicked\");\n }\n\n onLogoClick(event) {\n this.logoClick.emit(event);\n }\n\n}\n","@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 (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","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mnl-highlighter',\n templateUrl: './highlighter.component.html',\n standalone:true,\n imports:[CommonModule],\n styleUrls: ['./highlighter.component.scss'],\n})\nexport class HighlighterComponent {\n @Input()\n height = '40px';\n\n @Input()\n width = '4px';\n\n @Input()\n enabled = true;\n}\n","<div\n [ngClass]=\"{ 'mnl-bg-primary': enabled }\"\n [ngStyle]=\"{ height: height, width: width }\"\n></div>\n","export class ObjectUtils {\n /**\n * Gets a value from an object by composed key\n * ObjectUtils.getValue({ item: { nodeType: 'cm:folder' }}, 'item.nodeType') ==> 'cm:folder'\n */\n static getValue(target: any, key: string): any {\n\n if (!target) {\n return undefined;\n }\n\n const keys = key?.split('.');\n key = '';\n\n do {\n key += keys?.shift();\n const value = target[key];\n if (value !== undefined && (typeof value === 'object' || !keys?.length)) {\n target = value;\n key = '';\n } else if (!keys?.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys?.length);\n\n return target;\n }\n\n static merge(...objects): any {\n const result = {};\n\n objects.forEach((source) => {\n Object.keys(source).forEach((prop) => {\n if (prop in result && Array.isArray(result[prop])) {\n result[prop] = result[prop].concat(source[prop]);\n } else if (prop in result && typeof result[prop] === 'object') {\n result[prop] = ObjectUtils.merge(result[prop], source[prop]);\n } else {\n result[prop] = source[prop];\n }\n });\n });\n\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ObjectUtils } from '../utils/object-utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppConfigService {\n private config: object = null;\n\n constructor(private http: HttpClient) {}\n\n /**\n * Use to get the data found in the file (config file)\n */\n public get<T>(key: string, defaultValue?: any): T {\n const result: any = ObjectUtils.getValue(this.config, key);\n return (result === undefined ? defaultValue : result) as T;\n }\n\n /**\n * This method:\n * Loads \"config.json\" to get all variables (e.g.: 'app.config.json')\n */\n load(): Promise<any> {\n return new Promise(async (resolve) => {\n const configUrl = `assets/app.config.json`;\n await this.http.get(configUrl).subscribe(\n (data: any) => {\n this.config = Object.assign({}, this.config, data || {});\n resolve(this.config);\n },\n () => {\n resolve(this.config);\n }\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private memoryStore: { [key: string]: any } = {};\n private readonly useLocalStorage: boolean = false;\n\n constructor() {\n this.useLocalStorage = this.isStorageAvailable('localStorage');\n }\n\n set(key, value) {\n if (this.useLocalStorage) {\n localStorage.setItem(key, value);\n } else {\n this.memoryStore[key] = value;\n }\n }\n\n get(key): string {\n if (this.useLocalStorage) {\n return localStorage.getItem(key);\n } else {\n return this.memoryStore.hasOwnProperty(key)\n ? this.memoryStore[key]\n : null;\n }\n }\n\n private isStorageAvailable(type: string): boolean {\n try {\n const storage = window[type];\n const key = '__storage_test__';\n storage.setItem(key, key);\n storage.removeItem(key, key);\n return true;\n } catch (e) {\n return false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {AppConfigService} from './app.config.service';\nimport {LocalStorageService} from './local-storage.service';\n@Injectable({\n providedIn: 'root'\n })\nexport class UserProfileService {\n static LOCALE_PREFIX = '____locale';\n userPrefix = '';\n constructor(private appConfigService: AppConfigService, private localStorageService: LocalStorageService) {}\n getApplicationId(): string {\n return this.appConfigService.get('applicationId') ? this.appConfigService.get('applicationId') : '';\n }\n setUserPrefix(userPrefix) {\n this.userPrefix = userPrefix;\n }\n getUserPrefix(): string {\n return this.userPrefix ? this.userPrefix : '';\n }\n setLocale(locale) {\n this.localStorageService.set( this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX , locale);\n }\n getLocale(): string {\n return this.localStorageService.get(this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX);\n }\n}\n","import { Injectable, Inject, OnInit } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserProfileService } from './user-profile.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Direction } from '@angular/cdk/bidi';\n\n/** @dynamic */\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleService {\n locale: string;\n languages: Array<LanguageItem> = [];\n constructor(\n private config: AppConfigService,\n private translate: TranslateService,\n private userProfileService: UserProfileService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.initUserLanguage();\n }\n\n initUserLanguage() {\n this.setActiveLocale(this.getActiveLocale() || this.getDefaultLocale());\n }\n\n setTextOrientation(direction) {\n document.body.setAttribute('dir', direction);\n }\n\n getTextOrientation(): string {\n return document.body.getAttribute('dir');\n }\n\n getLanguages(): Array<LanguageItem> {\n this.languages = this.config.get('languages');\n if (!this.languages) {\n this.languages = [\n {\n key: 'fr',\n label: 'French',\n direction: 'ltr',\n },\n {\n key: 'de',\n label: 'German',\n direction: 'ltr',\n },\n {\n key: 'en',\n label: 'English',\n direction: 'ltr',\n },\n {\n key: 'ar',\n label: 'Arabic',\n direction: 'rtl',\n },\n ];\n }\n return this.languages;\n }\n getDefaultLocale(): LanguageItem {\n this.locale = this.userProfileService.getLocale();\n if (!this.locale) {\n this.locale = this.config.get('locale')\n ? this.config.get('locale')\n : this.translate.getBrowserLang()\n ? this.translate.getBrowserLang()\n : 'en';\n }\n return this.getLanguages().find((e) => e.key === this.locale);\n }\n\n getActiveLocale(): LanguageItem {\n if (this.userProfileService.getLocale()) {\n return this.getLanguages().find(\n (e) => e.key === this.userProfileService.getLocale()\n );\n }\n }\n\n setActiveLocale(locale: LanguageItem) {\n if (locale) {\n this.translate.use(locale.key);\n this.setTextOrientation(locale.direction);\n this.userProfileService.setLocale(locale.key);\n }\n }\n}\nexport interface LanguageItem {\n key: string;\n label: string;\n direction?: Direction;\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { LocaleService, LanguageItem } from '../../services/locale.service';\n\n@Component({\n selector: 'mnl-language-menu',\n templateUrl: './language-menu.component.html',\n styleUrls: ['./language-menu.component.scss'],\n})\nexport class LanguageMenuComponent implements OnInit {\n\n @Input()\n showLocaleKeyAsLabel = false;\n\n @Input()\n showLocaleAsLabel = false;\n\n languages: Array<LanguageItem> = [];\n constructor(private localeService: LocaleService) {}\n\n ngOnInit() {\n this.languages = this.localeService.getLanguages();\n this.localeService.setActiveLocale(this.locale);\n }\n\n onChangeLanguage(language: LanguageItem) {\n this.localeService.setActiveLocale(language);\n }\n\n get locale(): LanguageItem {\n return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();\n }\n}\n","<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\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","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { UserModel } from '../../model/user-model';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport {MatCardModule} from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n@Component({\n selector: 'mnl-login',\n standalone:true,\n imports:[MatCardModule,TranslateModule,MatFormFieldModule,ReactiveFormsModule,MatInputModule,MatButtonModule],\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n formGroup: UntypedFormGroup;\n\n @Input()\n title = '';\n\n @Input()\n logoImageUrl = './assets/images/logo.png';\n\n @Input()\n backgroundImageUrl = './assets/images/background.jpg';\n\n @Input()\n disabled = false;\n\n @Output()\n login = new EventEmitter<UserModel>();\n\n constructor(private sanitizer: DomSanitizer) {\n\n }\n ngOnInit() {\n this.initForm();\n }\n\n private initForm() {\n this.formGroup = new UntypedFormGroup({\n username: new UntypedFormControl('', [Validators.required]),\n password: new UntypedFormControl('', [Validators.required])\n });\n }\n onSubmit() {\n if (this.formGroup.valid) {\n this.login .emit(this.formGroup.value);\n }\n }\n getBackgroundImageUrl(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);\n}\n\n}\n","<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>","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MenuModel } from '../../model/menu-data.model';\n\n@Component({\n selector: 'mnl-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n})\nexport class MenuComponent {\n @Input()\n menuData: Array<MenuModel>;\n\n @Output()\n menuClick: EventEmitter<any> = new EventEmitter<any>();\n\n onMenuClick(menu: MenuModel) {\n if (this.hasSubMenu(menu)) {\n this.openMenu(menu);\n this.onSubMenuClick(menu.subMenus[0], menu);\n } else {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.menuClick.emit(menu);\n }\n }\n\n onSubMenuClick(subMenu: MenuModel, menu: MenuModel) {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.selectMenu(subMenu);\n this.menuClick.emit(subMenu);\n }\n\n deSelectMenus(menus: MenuModel[]) {\n if (menus) {\n for (const menu of menus) {\n if (menu.selected) {\n menu.selected = false;\n }\n this.deSelectMenus(menu.subMenus);\n }\n }\n }\n\n private selectMenu(menu: MenuModel) {\n if (menu) {\n menu.selected = true;\n }\n }\n\n private hasSubMenu(menu: MenuModel) {\n return menu.subMenus && menu.subMenus.length > 0;\n }\n\n toggleMenu(menu: MenuModel, event: Event) {\n menu.expanded = !menu.expanded;\n\n if (event) {\n event.stopPropagation();\n }\n }\n\n private openMenu(menu: MenuModel) {\n menu.expanded = true;\n }\n}\n","<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserFullName',\n standalone: true,\n})\nexport class UserFullnamePipe implements PipeTransform {\n\n transform(value: UserModel): any {\n let fullName = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n fullName = value.firstName + ' ' + value.lastName;\n } else if (!value.firstName && value.lastName) {\n fullName = value.lastName;\n } else if (value.firstName && !value.lastName) {\n fullName = value.firstName;\n } else if (!value.firstName && !value.lastName) {\n fullName = value.email;\n }\n }\n return fullName;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserInitialPipe',\n standalone: true,\n})\nexport class UserInitialPipe implements PipeTransform {\n\n transform(value: UserModel) {\n let userInitials = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n userInitials = value.firstName.substring(0, 1).toUpperCase() + value.lastName.substring(0, 1).toUpperCase();\n } else if (!value.firstName && value.lastName) {\n userInitials = this.getUserInitials(value.lastName);\n } else if (value.firstName && !value.lastName) {\n userInitials = this.getUserInitials(value.firstName);\n } else if (!value.firstName && !value.lastName) {\n userInitials = value.email.substring(0, 1).toUpperCase();\n }\n }\n return userInitials;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n\n getUserInitials(name: string): string {\n let userInitial = '';\n if (this.hasWhiteSpace(name.trim())) {\n const data = name?.split(/\\s+/);\n userInitial = data[0].substring(0, 1).toUpperCase() + data[1].substring(0, 1).toUpperCase();\n } else {\n userInitial = name.trim().substring(0, 1).toUpperCase();\n }\n return userInitial;\n }\n\n hasWhiteSpace(data: string): boolean {\n return /\\s/g.test(data);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { UserModel } from '../../model/user-model';\nimport { UserFullnamePipe } from '../../pipes/user-fullname-pipe';\nimport { UserInitialPipe } from '../../pipes/user-initials-pipe';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'mnl-user-profile',\n standalone:true,\n imports:[UserFullnamePipe, UserInitialPipe, MatIconModule,MatButtonModule],\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.css'],\n})\nexport class ProfileComponent implements OnChanges {\n @Input()\n userProfileDetails: UserModel;\n\n @Input()\n showDisplayName = true;\n\n @Output()\n userInitialClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n profileMenuClick: EventEmitter<any> = new EventEmitter<any>();\n\n hasUserDetails: boolean;\n\n onUserInitialClick(event: any) {\n this.userInitialClick.emit(event);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes && changes.userProfileDetails && changes.userProfileDetails.currentValue\n && changes.userProfileDetails.currentValue.firstName && changes.userProfileDetails.currentValue.lastName\n && changes.userProfileDetails.currentValue.email) {\n this.hasUserDetails = true;\n } else {\n this.hasUserDetails = false;\n }\n }\n}\n","<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 mat-icon-button\n >\n <mat-icon>person</mat-icon>\n </button>\n }\n </div>","import {\n ITranslationResource,\n MultiTranslateHttpLoader,\n} from 'ngx-translate-multi-http-loader';\nimport { InjectionToken } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nexport const MNL_TRANSLATION_RESOURCE = new InjectionToken<ITranslationResource>('Translation Resource');\n\nexport function translationLoaderFactory(http: HttpClient, resources: ITranslationResource[]) {\n if (!resources) {\n resources = [];\n } else if (!resources.length) {\n resources = [resources as any];\n }\n\n resources.push({ prefix: './assets/mnl-commons/i18n/', suffix: '.json' });\n\n return new MultiTranslateHttpLoader(http, resources);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AppConfigService } from '../services/app.config.service';\n\n@Pipe({\n name: 'mnlAppConfig'\n})\nexport class AppConfigPipe implements PipeTransform {\n constructor(private config: AppConfigService) {}\n\n transform(value: string, defaultValue?: any): any {\n return this.config.get(value) || defaultValue || '';\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistance } from 'date-fns';\nimport differenceInDays from 'date-fns/differenceInDays';\nimport { AppConfigService } from '../services/app.config.service';\nimport { UserProfileService } from '../services/user-profile.service';\n\n@Pipe({\n name: 'mnlTimeAgo',\n})\nexport class TimeAgoPipe implements PipeTransform {\n static DEFAULT_LOCALE = 'en-US';\n static DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';\n\n defaultLocale: string;\n defaultDateTimeFormat: string;\n\n constructor(\n private appConfigService: AppConfigService,\n private userProfileService: UserProfileService\n ) {\n this.defaultLocale = TimeAgoPipe.DEFAULT_LOCALE;\n this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;\n }\n\n transform(value: Date, dateTimeFormat?: string, locale?: string) {\n if (value) {\n const currentLocale = this.userProfileService.getLocale();\n const currentDateTimeFormat = this.appConfigService.get(\n 'dateTimeFormat'\n ) as string;\n const requiredLocale = locale || currentLocale || this.defaultLocale;\n const requiredDateTimeFormat =\n dateTimeFormat || currentDateTimeFormat || this.defaultDateTimeFormat;\n if (differenceInDays(new Date(), new Date(value)) > 7) {\n const datePipe: DatePipe = new DatePipe(requiredLocale);\n return datePipe.transform(value, requiredDateTimeFormat);\n }\n return formatDistance(new Date(value), new Date(), {\n includeSeconds: true,\n addSuffix: true,\n });\n }\n return '';\n }\n}\n","export class LogLevelsEnum extends Number {\n static TRACE = 5;\n static DEBUG = 1;\n static INFO = 2;\n static WARN = 3;\n static ERROR = 4;\n static SILENT = 0;\n}\n\nexport let logLevels: any[] = [\n {level: LogLevelsEnum.TRACE, name: 'TRACE'},\n {level: LogLevelsEnum.DEBUG, name: 'DEBUG'},\n {level: LogLevelsEnum.INFO, name: 'INFO'},\n {level: LogLevelsEnum.WARN, name: 'WARN'},\n {level: LogLevelsEnum.ERROR, name: 'ERROR'},\n {level: LogLevelsEnum.SILENT, name: 'SILENT'}\n];\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { logLevels, LogLevelsEnum } from '../model/log-levels.model';\nimport { Subject } from 'rxjs';\n/* eslint-disable no-console */\n@Injectable({\n providedIn: 'root'\n})\nexport class LogService {\n\n onMessage: Subject<any>;\n constructor(private appConfigService: AppConfigService) {\n this.onMessage = new Subject();\n }\n get currentLogLevel() {\n const configLevel: string = this.appConfigService.get('logLevel');\n\n if (configLevel) {\n return this.getLogLevel(configLevel);\n }\n\n return LogLevelsEnum.ERROR;\n }\n\n error(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.ERROR) {\n\n this.messageBus(message, 'ERROR');\n\n console.error(message, ...optionalParams);\n }\n }\n\n debug(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.DEBUG) {\n\n this.messageBus(message, 'DEBUG');\n\n console.debug(message, ...optionalParams);\n }\n }\n\n info(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.INFO) {\n\n this.messageBus(message, 'INFO');\n\n console.info(message, ...optionalParams);\n }\n }\n\n log(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'LOG');\n\n console.log(message, ...optionalParams);\n }\n }\n\n trace(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'TRACE');\n\n console.trace(message, ...optionalParams);\n }\n }\n\n warn(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.WARN) {\n\n this.messageBus(message, 'WARN');\n\n console.warn(message, ...optionalParams);\n }\n }\n\n assert(test?: boolean, message?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n\n this.messageBus(message, 'ASSERT');\n\n console.assert(test, message, ...optionalParams);\n }\n }\n\n group(groupTitle?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.group(groupTitle, ...optionalParams);\n }\n }\n\n groupEnd() {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.groupEnd();\n }\n }\n getLogLevel(level: string): LogLevelsEnum {\n const referencedLevel = logLevels.find((currentLevel: any) => {\n return currentLevel.name.toLocaleLowerCase() === level.toLocaleLowerCase();\n });\n\n return referencedLevel ? referencedLevel.level : 4;\n }\n\n messageBus(message: string, logLevel: string) {\n this.onMessage.next({ text: message, type: logLevel });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'mnl-placeholder',\n standalone: true,\n imports:[MatIconModule, TranslateModule],\n templateUrl: './placeholder.component.html',\n styleUrls: ['./placeholder.component.scss'],\n})\nexport class PlaceholderComponent {\n @Input() icon!: string;\n @Input() message!: string;\n}\n\n\n","@if(icon){\n <div class=\"container\">\n <mat-icon>{{ icon }}</mat-icon>\n <h4>{{ message|translate }}</h4>\n </div>\n}","import { CommonModule, registerLocaleData } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport localeAR from '@angular/common/locales/ar';\nimport localeDE from '@angular/common/locales/de';\nimport localeFR from '@angular/common/locales/fr';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HeaderComponent } from './components/header/header.component';\nimport { HighlighterComponent } from './components/highlighter/highlighter.component';\nimport { LanguageMenuComponent } from './components/language-menu/language-menu.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { MaterialModule } from './material.module';\nimport {\n MNL_TRANSLATION_RESOURCE,\n translationLoaderFactory,\n} from './model/translation-resource';\nimport { AppConfigPipe } from './pipes/app-config-pipe';\nimport { TimeAgoPipe } from './pipes/time-ago-pipe';\nimport { UserFullnamePipe } from './pipes/user-fullname-pipe';\nimport { UserInitialPipe } from './pipes/user-initials-pipe';\nimport { AppConfigService } from './services/app.config.service';\nimport { LocalStorageService } from './services/local-storage.service';\nimport { LocaleService } from './services/locale.service';\nimport { LogService } from './services/log.service';\nimport { UserProfileService } from './services/user-profile.service';\nimport { PlaceholderComponent } from './components/placeholder/placeholder.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\n\nregisterLocaleData(localeFR);\nregisterLocaleData(localeDE);\nregisterLocaleData(localeAR);\n@NgModule({\n declarations: [\n MenuComponent,\n AppConfigPipe,\n LanguageMenuComponent,\n TimeAgoPipe\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MaterialModule,\n PlaceholderComponent,\n HeaderComponent, \n HighlighterComponent, \n LoginComponent,\n HeaderComponent,\n ProfileComponent,\n UserFullnamePipe,\n UserInitialPipe,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: translationLoaderFactory,\n deps: [HttpClient, MNL_TRANSLATION_RESOURCE],\n },\n }),\n ],\n\n exports: [\n HeaderComponent,\n MenuComponent,\n HighlighterComponent,\n AppConfigPipe,\n LanguageMenuComponent,\n LoginComponent,\n ProfileComponent,\n UserInitialPipe,\n TimeAgoPipe,\n UserFullnamePipe,\n TranslateModule,\n PlaceholderComponent\n ],\n})\nexport class CommonsModule {\n static forRoot(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: loadConfig,\n deps: [\n AppConfigService,\n UserProfileService,\n LocalStorageService,\n LogService,\n LocaleService,\n ],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n };\n }\n}\n\nexport function loadConfig(config: AppConfigService) {\n const conf = () => config.load();\n return conf;\n}\n","/*\n * Public API Surface of mnl-commons\n */\nexport * from './lib/material.module';\nexport * from './lib/commons.module';\nexport * from './lib/components/menu/menu.component';\nexport * from './lib/components/header/header.component';\nexport * from './lib/services/app.config.service';\nexport * from './lib/pipes/app-config-pipe';\nexport * from './lib/services/log.service';\nexport * from './lib/model/log-levels.model';\nexport * from './lib/services/user-profile.service';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/components/language-menu/language-menu.component';\nexport * from './lib/services/locale.service';\nexport * from './lib/components/login/login.component';\nexport * from './lib/model/user-model';\nexport * from './lib/pipes/user-initials-pipe';\nexport * from './lib/pipes/time-ago-pipe';\nexport * from './lib/pipes/user-fullname-pipe';\nexport * from './lib/model/menu-data.model';\nexport * from './lib/components/highlighter/highlighter.component';\nexport * from './lib/model/translation-resource';\nexport * from './lib/components/profile/profile.component';\nexport * from './lib/components/placeholder/placeholder.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i1.AppConfigService","i2.LocalStorageService","i1.LocaleService","i2","i5","i4","i7","i4.HighlighterComponent","i2.UserProfileService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SASgB,OAAO,GAAA;IACrB,OAAO;QACL,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,aAAa;QACb,cAAc;QACd,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,aAAa;KACd,CAAC;AACJ,CAAC;MAKY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAfvB,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,aAAa;YACb,WAAW;YACX,mBAAmB;AACnB,YAAA,aAAa,aARb,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,aAAa;YACb,WAAW;YACX,mBAAmB;YACnB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAOJ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAHhB,OAAA,EAAA,CAAA,OAAO,EAAE,EAZhB,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,aAAa;YACb,WAAW;YACX,mBAAmB;YACnB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOJ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,OAAO,EAAE;oBAClB,OAAO,EAAE,OAAO,EAAE;AACnB,iBAAA,CAAA;;;MCbY,eAAe,CAAA;AAR5B,IAAA,WAAA,GAAA;AAcE,QAAA,IAAA,CAAA,mBAAmB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAGjE,QAAA,IAAA,CAAA,SAAS,GAAsB,IAAI,YAAY,EAAO,CAAC;AAWxD,KAAA;AATC,IAAA,SAAS,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;KAClC;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACf,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;8GAlBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,qLCZ5B,gtBAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfW,aAAa,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,yPAAC,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAK5C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACX,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAC,gBAAgB,EAAC,eAAe,CAAC,EAGzC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gtBAAA,EAAA,CAAA;8BAKrC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,mBAAmB,EAAA,CAAA;sBADlB,MAAM;gBAIP,SAAS,EAAA,CAAA;sBADR,MAAM;;;MEVI,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;QASE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAGhB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QAGd,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAChB,KAAA;8GATY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,kHAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAEhB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,kHAAA,EAAA,CAAA;8BAKtB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;;;MEjBK,WAAW,CAAA;AACpB;;;AAGG;AACH,IAAA,OAAO,QAAQ,CAAC,MAAW,EAAE,GAAW,EAAA;QAEpC,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,EAAE,CAAC;AAET,QAAA,GAAG;AACC,YAAA,GAAG,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;AACrB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,YAAA,IAAI,KAAK,KAAK,SAAS,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACrE,MAAM,GAAG,KAAK,CAAC;gBACf,GAAG,GAAG,EAAE,CAAC;aACZ;AAAM,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;gBACtB,MAAM,GAAG,SAAS,CAAC;aACtB;iBAAM;gBACH,GAAG,IAAI,GAAG,CAAC;aACd;AACL,SAAC,QAAQ,IAAI,EAAE,MAAM,EAAE;AAEvB,QAAA,OAAO,MAAM,CAAC;KACjB;AAED,IAAA,OAAO,KAAK,CAAC,GAAG,OAAO,EAAA;QACnB,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACjC,gBAAA,IAAI,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC/C,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;AAAM,qBAAA,IAAI,IAAI,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAC3D,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChE;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC/B;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACjB;AACJ;;MCxCY,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAF5B,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;KAEU;AAExC;;AAEG;IACI,GAAG,CAAI,GAAW,EAAE,YAAkB,EAAA;AAC3C,QAAA,MAAM,MAAM,GAAQ,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3D,QAAA,QAAQ,MAAM,KAAK,SAAS,GAAG,YAAY,GAAG,MAAM,EAAO;KAC5D;AAED;;;AAGG;IACH,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,KAAI;YACnC,MAAM,SAAS,GAAG,CAAA,sBAAA,CAAwB,CAAC;AAC3C,YAAA,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CACtC,CAAC,IAAS,KAAI;AACZ,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACzD,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB,EACD,MAAK;AACH,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvB,aAAC,CACF,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;8GA9BU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCFY,mBAAmB,CAAA;AAI9B,IAAA,WAAA,GAAA;QAHQ,IAAW,CAAA,WAAA,GAA2B,EAAE,CAAC;QAChC,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;QAGhD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;KAChE;IAED,GAAG,CAAC,GAAG,EAAE,KAAK,EAAA;AACZ,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAClC;aAAM;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC/B;KACF;AAED,IAAA,GAAG,CAAC,GAAG,EAAA;AACL,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAClC;aAAM;AACL,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC;AACzC,kBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;kBACrB,IAAI,CAAC;SACV;KACF;AAEO,IAAA,kBAAkB,CAAC,IAAY,EAAA;AACrC,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAC/B,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1B,YAAA,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7B,YAAA,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,KAAK,CAAC;SACd;KACF;8GApCU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCGY,kBAAkB,CAAA;aACpB,IAAa,CAAA,aAAA,GAAG,YAAH,CAAgB,EAAA;IAEpC,WAAoB,CAAA,gBAAkC,EAAU,mBAAwC,EAAA;QAApF,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAAU,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QADxG,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;KAC4F;IAC5G,gBAAgB,GAAA;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;KACvG;AACD,IAAA,aAAa,CAAC,UAAU,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAChC;IACD,aAAa,GAAA;AACT,QAAA,OAAQ,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACnD;AACD,IAAA,SAAS,CAAC,MAAM,EAAA;QACZ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAM,MAAM,CAAC,CAAC;KAC3H;IACD,SAAS,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;KACrH;8GAlBQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACEH;MAIa,aAAa,CAAA;AAGxB,IAAA,WAAA,CACU,MAAwB,EACxB,SAA2B,EAC3B,kBAAsC,EACpB,QAAkB,EAAA;QAHpC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACxB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QAC3B,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;QACpB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAL9C,IAAS,CAAA,SAAA,GAAwB,EAAE,CAAC;QAOlC,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACzE;AAED,IAAA,kBAAkB,CAAC,SAAS,EAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,kBAAkB,GAAA;QAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC1C;IAED,YAAY,GAAA;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG;AACf,gBAAA;AACE,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,gBAAgB,GAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;kBACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC3B,kBAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AACjC,sBAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;sBAC/B,IAAI,CAAC;SACV;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/D;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CACrD,CAAC;SACH;KACF;AAED,IAAA,eAAe,CAAC,MAAoB,EAAA;QAClC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC/C;KACF;AA9EU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,gHAOd,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAPP,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAQI,MAAM;2BAAC,QAAQ,CAAA;;;MCVP,qBAAqB,CAAA;AAShC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QANhD,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAG7B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAE1B,IAAS,CAAA,SAAA,GAAwB,EAAE,CAAC;KACgB;IAEpD,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjD;AAED,IAAA,gBAAgB,CAAC,QAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAC9C;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;KACtF;8GAtBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,2JCRlC,itBAoBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDZa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,itBAAA,EAAA,CAAA;+EAO7B,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAIN,iBAAiB,EAAA,CAAA;sBADhB,KAAK;;;MEIK,cAAc,CAAA;AAmBzB,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QAd3C,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QAGX,IAAY,CAAA,YAAA,GAAG,0BAA0B,CAAC;QAG1C,IAAkB,CAAA,kBAAA,GAAG,gCAAgC,CAAC;QAGtD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAA,CAAA,KAAK,GAAI,IAAI,YAAY,EAAa,CAAC;KAItC;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAEO,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC;YACpC,QAAQ,EAAE,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3D,QAAQ,EAAE,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC5D,SAAA,CAAC,CAAC;KACJ;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACxC;KACF;IACD,qBAAqB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAO,IAAA,EAAA,IAAI,CAAC,kBAAkB,CAAG,CAAA,CAAA,CAAC,CAAC;KACrF;8GAvCY,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,ECjB3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qjDA6BM,EDhBK,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAC,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,0WAAC,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIjG,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAC,eAAe,EAAC,kBAAkB,EAAC,mBAAmB,EAAC,cAAc,EAAC,eAAe,CAAC,EAAA,QAAA,EAAA,qjDAAA,EAAA,CAAA;mFAS7G,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,MAAM;;;MEzBI,aAAa,CAAA;AAL1B,IAAA,WAAA,GAAA;AAUE,QAAA,IAAA,CAAA,SAAS,GAAsB,IAAI,YAAY,EAAO,CAAC;AAoDxD,KAAA;AAlDC,IAAA,WAAW,CAAC,IAAe,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAC7C;aAAM;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;KACF;IAED,cAAc,CAAC,OAAkB,EAAE,IAAe,EAAA;AAChD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;AAED,IAAA,aAAa,CAAC,KAAkB,EAAA;QAC9B,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;AACD,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnC;SACF;KACF;AAEO,IAAA,UAAU,CAAC,IAAe,EAAA;QAChC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;KACF;AAEO,IAAA,UAAU,CAAC,IAAe,EAAA;QAChC,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;KAClD;IAED,UAAU,CAAC,IAAe,EAAE,KAAY,EAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;KACF;AAEO,IAAA,QAAQ,CAAC,IAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;8GAxDU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,uHCR1B,2xCAqBe,EAAA,MAAA,EAAA,CAAA,sYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDbF,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,2xCAAA,EAAA,MAAA,EAAA,CAAA,sYAAA,CAAA,EAAA,CAAA;8BAMpB,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,MAAM;;;MELI,gBAAgB,CAAA;AAE3B,IAAA,SAAS,CAAC,KAAgB,EAAA;QACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACrC,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;aACnD;iBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC7C,gBAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;aAC3B;iBAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC7C,gBAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;aAC5B;iBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC9C,gBAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;aACxB;SACF;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,aAAa,CAAC,IAAe,EAAA;AAC3B,QAAA,QAAQ,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;KACnD;8GApBU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCCY,eAAe,CAAA;AAE1B,IAAA,SAAS,CAAC,KAAgB,EAAA;QACxB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;AACrC,gBAAA,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC7G;iBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAC7C,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;iBAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC7C,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aACtD;iBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC9C,gBAAA,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC1D;SACF;AACD,QAAA,OAAO,YAAY,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,IAAe,EAAA;AAC3B,QAAA,QAAQ,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;KACnD;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;QAC1B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,YAAA,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC7F;aAAM;AACL,YAAA,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzD;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;AAED,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;8GAnCU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCQY,gBAAgB,CAAA;AAP7B,IAAA,WAAA,GAAA;QAYE,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAGvB,QAAA,IAAA,CAAA,gBAAgB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAG9D,QAAA,IAAA,CAAA,gBAAgB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAiB/D,KAAA;AAbC,IAAA,kBAAkB,CAAC,KAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,IAAI,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY;AAC/E,eAAA,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ;AACrG,eAAA,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,EAAE;AAChD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;aAAM;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;8GA3BU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd7B,qvBA4BQ,EDlBG,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,gBAAgB,mDAAE,eAAe,EAAA,IAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAC,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI9D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,kBAAkB,EAAA,UAAA,EACjB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAC,eAAe,CAAC,EAAA,QAAA,EAAA,qvBAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,CAAA;8BAM1E,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAIN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAIN,gBAAgB,EAAA,CAAA;sBADf,MAAM;gBAIP,gBAAgB,EAAA,CAAA;sBADf,MAAM;;;MEjBI,wBAAwB,GAAG,IAAI,cAAc,CAAuB,sBAAsB,EAAE;AAEzF,SAAA,wBAAwB,CAAC,IAAgB,EAAE,SAAiC,EAAA;IAC1F,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,EAAE,CAAC;KAChB;AAAM,SAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC5B,QAAA,SAAS,GAAG,CAAC,SAAgB,CAAC,CAAC;KAChC;AAED,IAAA,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAE1E,IAAA,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvD;;MCba,aAAa,CAAA;AACtB,IAAA,WAAA,CAAoB,MAAwB,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;KAAI;IAEhD,SAAS,CAAC,KAAa,EAAE,YAAkB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;KACvD;8GALQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAb,aAAa,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,cAAc;AACvB,iBAAA,CAAA;;;MCKY,WAAW,CAAA;aACf,IAAc,CAAA,cAAA,GAAG,OAAH,CAAW,EAAA;aACzB,IAAwB,CAAA,wBAAA,GAAG,kBAAH,CAAsB,EAAA;IAKrD,WACU,CAAA,gBAAkC,EAClC,kBAAsC,EAAA;QADtC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AAE9C,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC;AAChD,QAAA,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,wBAAwB,CAAC;KACnE;AAED,IAAA,SAAS,CAAC,KAAW,EAAE,cAAuB,EAAE,MAAe,EAAA;QAC7D,IAAI,KAAK,EAAE;YACT,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC1D,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACrD,gBAAgB,CACP,CAAC;YACZ,MAAM,cAAc,GAAG,MAAM,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;YACrE,MAAM,sBAAsB,GAC1B,cAAc,IAAI,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC;AACxE,YAAA,IAAI,gBAAgB,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;AACrD,gBAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACxD,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;aAC1D;YACD,OAAO,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE;AACjD,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,SAAS,EAAE,IAAI;AAChB,aAAA,CAAC,CAAC;SACJ;AACD,QAAA,OAAO,EAAE,CAAC;KACX;8GAlCU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAX,WAAW,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AACnB,iBAAA,CAAA;;;ACTK,MAAO,aAAc,SAAQ,MAAM,CAAA;aAC9B,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC,EAAA;aACV,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC,EAAA;aACV,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC,EAAA;aACT,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC,EAAA;aACT,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC,EAAA;aACV,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC,EAAA;;AAGX,IAAA,SAAS,GAAU;IAC1B,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC;IAC3C,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC;IAC3C,EAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC;IACzC,EAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC;IACzC,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC;IAC3C,EAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;;;ACXjD;MAIa,UAAU,CAAA;AAGrB,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AACpD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAChC;AACD,IAAA,IAAI,eAAe,GAAA;QACjB,MAAM,WAAW,GAAW,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElE,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SACtC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC;KAC5B;AAED,IAAA,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE;AAEvD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAC3C;KACF;AAED,IAAA,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE;AAEvD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAC3C;KACF;AAED,IAAA,IAAI,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE;AAEtD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEjC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAC1C;KACF;AAED,IAAA,GAAG,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QACzC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE;AAEvD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEhC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SACzC;KACF;AAED,IAAA,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE;AAEvD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAC3C;KACF;AAED,IAAA,IAAI,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAA;QAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE;AAEtD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEjC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAC1C;KACF;AAED,IAAA,MAAM,CAAC,IAAc,EAAE,OAAgB,EAAE,GAAG,cAAqB,EAAA;QAC/D,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,CAAC,MAAM,EAAE;AAEjD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEnC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;SAClD;KACF;AAED,IAAA,KAAK,CAAC,UAAmB,EAAE,GAAG,cAAqB,EAAA;QACjD,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,CAAC,MAAM,EAAE;YACjD,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,cAAc,CAAC,CAAC;SAC9C;KACF;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,CAAC,MAAM,EAAE;YACjD,OAAO,CAAC,QAAQ,EAAE,CAAC;SACpB;KACF;AACD,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,YAAiB,KAAI;YAC3D,OAAO,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAC7E,SAAC,CAAC,CAAC;QAEH,OAAO,eAAe,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC;KACpD;IAED,UAAU,CAAC,OAAe,EAAE,QAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KACxD;8GApGU,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCIY,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECXjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iIAKC,EDEU,MAAA,EAAA,CAAA,+MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,mLAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI5B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cACf,IAAI,EAAA,OAAA,EACR,CAAC,aAAa,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,iIAAA,EAAA,MAAA,EAAA,CAAA,+MAAA,CAAA,EAAA,CAAA;8BAK/B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEiBR,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7B,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7B,kBAAkB,CAAC,QAAQ,CAAC,CAAC;MA4ChB,aAAa,CAAA;AACxB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;AACxB,oBAAA,UAAU,EAAE,UAAU;AACtB,oBAAA,IAAI,EAAE;wBACJ,gBAAgB;wBAChB,kBAAkB;wBAClB,mBAAmB;wBACnB,UAAU;wBACV,aAAa;AACd,qBAAA;AACD,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;AAED,IAAA,OAAO,QAAQ,GAAA;QACb,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;SACxB,CAAC;KACH;8GAzBU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAzCtB,aAAa;YACb,aAAa;YACb,qBAAqB;AACrB,YAAA,WAAW,aAGX,YAAY;YACZ,gBAAgB;YAChB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,oBAAoB;YACpB,cAAc;YACd,eAAe;YACf,gBAAgB;YAChB,gBAAgB;AAChB,YAAA,eAAe,mCAWf,eAAe;YACf,aAAa;YACb,oBAAoB;YACpB,aAAa;YACb,qBAAqB;YACrB,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,WAAW;YACX,gBAAgB;YAChB,eAAe;YACf,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAnCtB,YAAY;YACZ,gBAAgB;YAChB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,oBAAoB;YACpB,cAAc;YACd,eAAe;YACf,gBAAgB;YAGhB,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,MAAM,EAAE;AACN,oBAAA,OAAO,EAAE,eAAe;AACxB,oBAAA,UAAU,EAAE,wBAAwB;AACpC,oBAAA,IAAI,EAAE,CAAC,UAAU,EAAE,wBAAwB,CAAC;AAC7C,iBAAA;AACF,aAAA,CAAC,EAcF,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIN,aAAa,EAAA,UAAA,EAAA,CAAA;kBA3CzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,aAAa;wBACb,aAAa;wBACb,qBAAqB;wBACrB,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,cAAc;wBACd,oBAAoB;wBACpB,eAAe;wBACf,oBAAoB;wBACpB,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,gBAAgB;wBAChB,eAAe;wBACf,eAAe,CAAC,OAAO,CAAC;AACtB,4BAAA,MAAM,EAAE;AACN,gCAAA,OAAO,EAAE,eAAe;AACxB,gCAAA,UAAU,EAAE,wBAAwB;AACpC,gCAAA,IAAI,EAAE,CAAC,UAAU,EAAE,wBAAwB,CAAC;AAC7C,6BAAA;yBACF,CAAC;AACH,qBAAA;AAED,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,aAAa;wBACb,oBAAoB;wBACpB,aAAa;wBACb,qBAAqB;wBACrB,cAAc;wBACd,gBAAgB;wBAChB,eAAe;wBACf,WAAW;wBACX,gBAAgB;wBAChB,eAAe;wBACf,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;AA6BK,SAAU,UAAU,CAAC,MAAwB,EAAA;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AACjC,IAAA,OAAO,IAAI,CAAC;AACd;;AC3GA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"muraai-mnl-commons.mjs","sources":["../../../../projects/commons/src/lib/material.module.ts","../../../../projects/commons/src/lib/components/header/header.component.ts","../../../../projects/commons/src/lib/components/header/header.component.html","../../../../projects/commons/src/lib/components/highlighter/highlighter.component.ts","../../../../projects/commons/src/lib/components/highlighter/highlighter.component.html","../../../../projects/commons/src/lib/utils/object-utils.ts","../../../../projects/commons/src/lib/services/app.config.service.ts","../../../../projects/commons/src/lib/services/local-storage.service.ts","../../../../projects/commons/src/lib/services/user-profile.service.ts","../../../../projects/commons/src/lib/services/locale.service.ts","../../../../projects/commons/src/lib/components/language-menu/language-menu.component.ts","../../../../projects/commons/src/lib/components/language-menu/language-menu.component.html","../../../../projects/commons/src/lib/components/login/login.component.ts","../../../../projects/commons/src/lib/components/login/login.component.html","../../../../projects/commons/src/lib/components/menu/menu.component.ts","../../../../projects/commons/src/lib/components/menu/menu.component.html","../../../../projects/commons/src/lib/pipes/user-fullname-pipe.ts","../../../../projects/commons/src/lib/pipes/user-initials-pipe.ts","../../../../projects/commons/src/lib/components/profile/profile.component.ts","../../../../projects/commons/src/lib/components/profile/profile.component.html","../../../../projects/commons/src/lib/model/translation-resource.ts","../../../../projects/commons/src/lib/pipes/app-config-pipe.ts","../../../../projects/commons/src/lib/pipes/time-ago-pipe.ts","../../../../projects/commons/src/lib/model/log-levels.model.ts","../../../../projects/commons/src/lib/services/log.service.ts","../../../../projects/commons/src/lib/components/placeholder/placeholder.component.ts","../../../../projects/commons/src/lib/components/placeholder/placeholder.component.html","../../../../projects/commons/src/lib/commons.module.ts","../../../../projects/commons/src/public-api.ts","../../../../projects/commons/src/muraai-mnl-commons.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCardModule } from '@angular/material/card';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu'\nexport function modules() {\n return [\n MatButtonModule,\n MatCardModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n FormsModule,\n ReactiveFormsModule,\n MatMenuModule,\n ];\n}\n@NgModule({\n imports: modules(),\n exports: modules()\n})\nexport class MaterialModule {}\n","import { Component, Input, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { TranslateModule } from '@ngx-translate/core';\n@Component({\n selector: 'mnl-header',\n standalone:true,\n imports:[MatIconModule,MatToolbarModule,TranslateModule],\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent {\n\n @Input()\n header: any;\n\n @Output()\n menuButonClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n logoClick: EventEmitter<any> = new EventEmitter<any>();\n\n menuClick(event) {\n this.menuButonClickEvent.emit(event);\n console.log(\"menuButtonClicked\");\n }\n\n onLogoClick(event) {\n this.logoClick.emit(event);\n }\n\n}\n","@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 (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","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mnl-highlighter',\n templateUrl: './highlighter.component.html',\n standalone:true,\n imports:[CommonModule],\n styleUrls: ['./highlighter.component.scss'],\n})\nexport class HighlighterComponent {\n @Input()\n height = '40px';\n\n @Input()\n width = '4px';\n\n @Input()\n enabled = true;\n}\n","<div\n [ngClass]=\"{ 'mnl-bg-primary': enabled }\"\n [ngStyle]=\"{ height: height, width: width }\"\n></div>\n","export class ObjectUtils {\n /**\n * Gets a value from an object by composed key\n * ObjectUtils.getValue({ item: { nodeType: 'cm:folder' }}, 'item.nodeType') ==> 'cm:folder'\n */\n static getValue(target: any, key: string): any {\n\n if (!target) {\n return undefined;\n }\n\n const keys = key?.split('.');\n key = '';\n\n do {\n key += keys?.shift();\n const value = target[key];\n if (value !== undefined && (typeof value === 'object' || !keys?.length)) {\n target = value;\n key = '';\n } else if (!keys?.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys?.length);\n\n return target;\n }\n\n static merge(...objects): any {\n const result = {};\n\n objects.forEach((source) => {\n Object.keys(source).forEach((prop) => {\n if (prop in result && Array.isArray(result[prop])) {\n result[prop] = result[prop].concat(source[prop]);\n } else if (prop in result && typeof result[prop] === 'object') {\n result[prop] = ObjectUtils.merge(result[prop], source[prop]);\n } else {\n result[prop] = source[prop];\n }\n });\n });\n\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ObjectUtils } from '../utils/object-utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppConfigService {\n private config: object = null;\n\n constructor(private http: HttpClient) {}\n\n /**\n * Use to get the data found in the file (config file)\n */\n public get<T>(key: string, defaultValue?: any): T {\n const result: any = ObjectUtils.getValue(this.config, key);\n return (result === undefined ? defaultValue : result) as T;\n }\n\n /**\n * This method:\n * Loads \"config.json\" to get all variables (e.g.: 'app.config.json')\n */\n load(): Promise<any> {\n return new Promise(async (resolve) => {\n const configUrl = `assets/app.config.json`;\n await this.http.get(configUrl).subscribe(\n (data: any) => {\n this.config = Object.assign({}, this.config, data || {});\n resolve(this.config);\n },\n () => {\n resolve(this.config);\n }\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private memoryStore: { [key: string]: any } = {};\n private readonly useLocalStorage: boolean = false;\n\n constructor() {\n this.useLocalStorage = this.isStorageAvailable('localStorage');\n }\n\n set(key, value) {\n if (this.useLocalStorage) {\n localStorage.setItem(key, value);\n } else {\n this.memoryStore[key] = value;\n }\n }\n\n get(key): string {\n if (this.useLocalStorage) {\n return localStorage.getItem(key);\n } else {\n return this.memoryStore.hasOwnProperty(key)\n ? this.memoryStore[key]\n : null;\n }\n }\n\n private isStorageAvailable(type: string): boolean {\n try {\n const storage = window[type];\n const key = '__storage_test__';\n storage.setItem(key, key);\n storage.removeItem(key, key);\n return true;\n } catch (e) {\n return false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {AppConfigService} from './app.config.service';\nimport {LocalStorageService} from './local-storage.service';\n@Injectable({\n providedIn: 'root'\n })\nexport class UserProfileService {\n static LOCALE_PREFIX = '____locale';\n userPrefix = '';\n constructor(private appConfigService: AppConfigService, private localStorageService: LocalStorageService) {}\n getApplicationId(): string {\n return this.appConfigService.get('applicationId') ? this.appConfigService.get('applicationId') : '';\n }\n setUserPrefix(userPrefix) {\n this.userPrefix = userPrefix;\n }\n getUserPrefix(): string {\n return this.userPrefix ? this.userPrefix : '';\n }\n setLocale(locale) {\n this.localStorageService.set( this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX , locale);\n }\n getLocale(): string {\n return this.localStorageService.get(this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX);\n }\n}\n","import { Injectable, Inject, OnInit } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserProfileService } from './user-profile.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Direction } from '@angular/cdk/bidi';\n\n/** @dynamic */\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleService {\n locale: string;\n languages: Array<LanguageItem> = [];\n constructor(\n private config: AppConfigService,\n private translate: TranslateService,\n private userProfileService: UserProfileService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.initUserLanguage();\n }\n\n initUserLanguage() {\n this.setActiveLocale(this.getActiveLocale() || this.getDefaultLocale());\n }\n\n setTextOrientation(direction) {\n document.body.setAttribute('dir', direction);\n }\n\n getTextOrientation(): string {\n return document.body.getAttribute('dir');\n }\n\n getLanguages(): Array<LanguageItem> {\n this.languages = this.config.get('languages');\n if (!this.languages) {\n this.languages = [\n {\n key: 'fr',\n label: 'French',\n direction: 'ltr',\n },\n {\n key: 'de',\n label: 'German',\n direction: 'ltr',\n },\n {\n key: 'en',\n label: 'English',\n direction: 'ltr',\n },\n {\n key: 'ar',\n label: 'Arabic',\n direction: 'rtl',\n },\n ];\n }\n return this.languages;\n }\n getDefaultLocale(): LanguageItem {\n this.locale = this.userProfileService.getLocale();\n if (!this.locale) {\n this.locale = this.config.get('locale')\n ? this.config.get('locale')\n : this.translate.getBrowserLang()\n ? this.translate.getBrowserLang()\n : 'en';\n }\n return this.getLanguages().find((e) => e.key === this.locale);\n }\n\n getActiveLocale(): LanguageItem {\n if (this.userProfileService.getLocale()) {\n return this.getLanguages().find(\n (e) => e.key === this.userProfileService.getLocale()\n );\n }\n }\n\n setActiveLocale(locale: LanguageItem) {\n if (locale) {\n this.translate.use(locale.key);\n this.setTextOrientation(locale.direction);\n this.userProfileService.setLocale(locale.key);\n }\n }\n}\nexport interface LanguageItem {\n key: string;\n label: string;\n direction?: Direction;\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { LocaleService, LanguageItem } from '../../services/locale.service';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mnl-language-menu',\n standalone:true,\n imports:[MatIconModule,MatMenuModule,MatButtonModule,TranslateModule,CommonModule],\n templateUrl: './language-menu.component.html',\n styleUrls: ['./language-menu.component.scss'],\n})\nexport class LanguageMenuComponent implements OnInit {\n\n @Input()\n showLocaleKeyAsLabel = false;\n\n @Input()\n showLocaleAsLabel = false;\n\n languages: Array<LanguageItem> = [];\n constructor(private localeService: LocaleService) {}\n\n ngOnInit() {\n this.languages = this.localeService.getLanguages();\n this.localeService.setActiveLocale(this.locale);\n }\n\n onChangeLanguage(language: LanguageItem) {\n this.localeService.setActiveLocale(language);\n }\n\n get locale(): LanguageItem {\n return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();\n }\n}\n","<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","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { UserModel } from '../../model/user-model';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport {MatCardModule} from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n@Component({\n selector: 'mnl-login',\n standalone:true,\n imports:[MatCardModule,TranslateModule,MatFormFieldModule,ReactiveFormsModule,MatInputModule,MatButtonModule],\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n formGroup: UntypedFormGroup;\n\n @Input()\n title = '';\n\n @Input()\n logoImageUrl = './assets/images/logo.png';\n\n @Input()\n backgroundImageUrl = './assets/images/background.jpg';\n\n @Input()\n disabled = false;\n\n @Output()\n login = new EventEmitter<UserModel>();\n\n constructor(private sanitizer: DomSanitizer) {\n\n }\n ngOnInit() {\n this.initForm();\n }\n\n private initForm() {\n this.formGroup = new UntypedFormGroup({\n username: new UntypedFormControl('', [Validators.required]),\n password: new UntypedFormControl('', [Validators.required])\n });\n }\n onSubmit() {\n if (this.formGroup.valid) {\n this.login .emit(this.formGroup.value);\n }\n }\n getBackgroundImageUrl(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);\n}\n\n}\n","<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>","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MenuModel } from '../../model/menu-data.model';\nimport { CommonModule } from '@angular/common';\nimport { MatNavList } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { HighlighterComponent } from '../highlighter/highlighter.component';\nimport { MatListItem } from '@angular/material/list';\n@Component({\n selector: 'mnl-menu',\n standalone:true,\n imports:[CommonModule,MatNavList,MatIconModule,TranslateModule,MatMenuModule,HighlighterComponent,MatListItem],\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n})\nexport class MenuComponent {\n @Input()\n menuData: Array<MenuModel>;\n\n @Output()\n menuClick: EventEmitter<any> = new EventEmitter<any>();\n\n onMenuClick(menu: MenuModel) {\n if (this.hasSubMenu(menu)) {\n this.openMenu(menu);\n this.onSubMenuClick(menu.subMenus[0], menu);\n } else {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.menuClick.emit(menu);\n }\n }\n\n onSubMenuClick(subMenu: MenuModel, menu: MenuModel) {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.selectMenu(subMenu);\n this.menuClick.emit(subMenu);\n }\n\n deSelectMenus(menus: MenuModel[]) {\n if (menus) {\n for (const menu of menus) {\n if (menu.selected) {\n menu.selected = false;\n }\n this.deSelectMenus(menu.subMenus);\n }\n }\n }\n\n private selectMenu(menu: MenuModel) {\n if (menu) {\n menu.selected = true;\n }\n }\n\n private hasSubMenu(menu: MenuModel) {\n return menu.subMenus && menu.subMenus.length > 0;\n }\n\n toggleMenu(menu: MenuModel, event: Event) {\n menu.expanded = !menu.expanded;\n\n if (event) {\n event.stopPropagation();\n }\n }\n\n private openMenu(menu: MenuModel) {\n menu.expanded = true;\n }\n}\n","<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <div class=\"display: flex justify-content: items-center\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n @if(menu.icon){\n <mat-icon>{{menu.icon}}</mat-icon>\n }\n @else{\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n }\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n @if(menu.subMenus){\n <mat-icon class=\"mnl-menu-button\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n } \n </div> \n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n @if(menu.expanded){\n <a mat-list-item class=\"mnl-submenu flex flex-row\" [class.mnl-expanded]=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n }\n </ng-container>\n</mat-nav-list>","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserFullName',\n standalone: true,\n})\nexport class UserFullnamePipe implements PipeTransform {\n\n transform(value: UserModel): any {\n let fullName = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n fullName = value.firstName + ' ' + value.lastName;\n } else if (!value.firstName && value.lastName) {\n fullName = value.lastName;\n } else if (value.firstName && !value.lastName) {\n fullName = value.firstName;\n } else if (!value.firstName && !value.lastName) {\n fullName = value.email;\n }\n }\n return fullName;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserInitialPipe',\n standalone: true,\n})\nexport class UserInitialPipe implements PipeTransform {\n\n transform(value: UserModel) {\n let userInitials = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n userInitials = value.firstName.substring(0, 1).toUpperCase() + value.lastName.substring(0, 1).toUpperCase();\n } else if (!value.firstName && value.lastName) {\n userInitials = this.getUserInitials(value.lastName);\n } else if (value.firstName && !value.lastName) {\n userInitials = this.getUserInitials(value.firstName);\n } else if (!value.firstName && !value.lastName) {\n userInitials = value.email.substring(0, 1).toUpperCase();\n }\n }\n return userInitials;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n\n getUserInitials(name: string): string {\n let userInitial = '';\n if (this.hasWhiteSpace(name.trim())) {\n const data = name?.split(/\\s+/);\n userInitial = data[0].substring(0, 1).toUpperCase() + data[1].substring(0, 1).toUpperCase();\n } else {\n userInitial = name.trim().substring(0, 1).toUpperCase();\n }\n return userInitial;\n }\n\n hasWhiteSpace(data: string): boolean {\n return /\\s/g.test(data);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { UserModel } from '../../model/user-model';\nimport { UserFullnamePipe } from '../../pipes/user-fullname-pipe';\nimport { UserInitialPipe } from '../../pipes/user-initials-pipe';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'mnl-user-profile',\n standalone:true,\n imports:[UserFullnamePipe, UserInitialPipe, MatIconModule,MatButtonModule],\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.css'],\n})\nexport class ProfileComponent implements OnChanges {\n @Input()\n userProfileDetails: UserModel;\n\n @Input()\n showDisplayName = true;\n\n @Output()\n userInitialClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n profileMenuClick: EventEmitter<any> = new EventEmitter<any>();\n\n hasUserDetails: boolean;\n\n onUserInitialClick(event: any) {\n this.userInitialClick.emit(event);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes && changes.userProfileDetails && changes.userProfileDetails.currentValue\n && changes.userProfileDetails.currentValue.firstName && changes.userProfileDetails.currentValue.lastName\n && changes.userProfileDetails.currentValue.email) {\n this.hasUserDetails = true;\n } else {\n this.hasUserDetails = false;\n }\n }\n}\n","<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 mat-icon-button\n >\n <mat-icon>person</mat-icon>\n </button>\n }\n </div>","import {\n ITranslationResource,\n MultiTranslateHttpLoader,\n} from 'ngx-translate-multi-http-loader';\nimport { InjectionToken } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nexport const MNL_TRANSLATION_RESOURCE = new InjectionToken<ITranslationResource>('Translation Resource');\n\nexport function translationLoaderFactory(http: HttpClient, resources: ITranslationResource[]) {\n if (!resources) {\n resources = [];\n } else if (!resources.length) {\n resources = [resources as any];\n }\n\n resources.push({ prefix: './assets/mnl-commons/i18n/', suffix: '.json' });\n\n return new MultiTranslateHttpLoader(http, resources);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AppConfigService } from '../services/app.config.service';\n\n@Pipe({\n name: 'mnlAppConfig'\n})\nexport class AppConfigPipe implements PipeTransform {\n constructor(private config: AppConfigService) {}\n\n transform(value: string, defaultValue?: any): any {\n return this.config.get(value) || defaultValue || '';\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistance } from 'date-fns';\nimport differenceInDays from 'date-fns/differenceInDays';\nimport { AppConfigService } from '../services/app.config.service';\nimport { UserProfileService } from '../services/user-profile.service';\n\n@Pipe({\n name: 'mnlTimeAgo',\n})\nexport class TimeAgoPipe implements PipeTransform {\n static DEFAULT_LOCALE = 'en-US';\n static DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';\n\n defaultLocale: string;\n defaultDateTimeFormat: string;\n\n constructor(\n private appConfigService: AppConfigService,\n private userProfileService: UserProfileService\n ) {\n this.defaultLocale = TimeAgoPipe.DEFAULT_LOCALE;\n this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;\n }\n\n transform(value: Date, dateTimeFormat?: string, locale?: string) {\n if (value) {\n const currentLocale = this.userProfileService.getLocale();\n const currentDateTimeFormat = this.appConfigService.get(\n 'dateTimeFormat'\n ) as string;\n const requiredLocale = locale || currentLocale || this.defaultLocale;\n const requiredDateTimeFormat =\n dateTimeFormat || currentDateTimeFormat || this.defaultDateTimeFormat;\n if (differenceInDays(new Date(), new Date(value)) > 7) {\n const datePipe: DatePipe = new DatePipe(requiredLocale);\n return datePipe.transform(value, requiredDateTimeFormat);\n }\n return formatDistance(new Date(value), new Date(), {\n includeSeconds: true,\n addSuffix: true,\n });\n }\n return '';\n }\n}\n","export class LogLevelsEnum extends Number {\n static TRACE = 5;\n static DEBUG = 1;\n static INFO = 2;\n static WARN = 3;\n static ERROR = 4;\n static SILENT = 0;\n}\n\nexport let logLevels: any[] = [\n {level: LogLevelsEnum.TRACE, name: 'TRACE'},\n {level: LogLevelsEnum.DEBUG, name: 'DEBUG'},\n {level: LogLevelsEnum.INFO, name: 'INFO'},\n {level: LogLevelsEnum.WARN, name: 'WARN'},\n {level: LogLevelsEnum.ERROR, name: 'ERROR'},\n {level: LogLevelsEnum.SILENT, name: 'SILENT'}\n];\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { logLevels, LogLevelsEnum } from '../model/log-levels.model';\nimport { Subject } from 'rxjs';\n/* eslint-disable no-console */\n@Injectable({\n providedIn: 'root'\n})\nexport class LogService {\n\n onMessage: Subject<any>;\n constructor(private appConfigService: AppConfigService) {\n this.onMessage = new Subject();\n }\n get currentLogLevel() {\n const configLevel: string = this.appConfigService.get('logLevel');\n\n if (configLevel) {\n return this.getLogLevel(configLevel);\n }\n\n return LogLevelsEnum.ERROR;\n }\n\n error(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.ERROR) {\n\n this.messageBus(message, 'ERROR');\n\n console.error(message, ...optionalParams);\n }\n }\n\n debug(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.DEBUG) {\n\n this.messageBus(message, 'DEBUG');\n\n console.debug(message, ...optionalParams);\n }\n }\n\n info(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.INFO) {\n\n this.messageBus(message, 'INFO');\n\n console.info(message, ...optionalParams);\n }\n }\n\n log(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'LOG');\n\n console.log(message, ...optionalParams);\n }\n }\n\n trace(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'TRACE');\n\n console.trace(message, ...optionalParams);\n }\n }\n\n warn(message?: any, ...optionalParams: any[]) {\n if (Number(this.currentLogLevel) >= LogLevelsEnum.WARN) {\n\n this.messageBus(message, 'WARN');\n\n console.warn(message, ...optionalParams);\n }\n }\n\n assert(test?: boolean, message?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n\n this.messageBus(message, 'ASSERT');\n\n console.assert(test, message, ...optionalParams);\n }\n }\n\n group(groupTitle?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.group(groupTitle, ...optionalParams);\n }\n }\n\n groupEnd() {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.groupEnd();\n }\n }\n getLogLevel(level: string): LogLevelsEnum {\n const referencedLevel = logLevels.find((currentLevel: any) => {\n return currentLevel.name.toLocaleLowerCase() === level.toLocaleLowerCase();\n });\n\n return referencedLevel ? referencedLevel.level : 4;\n }\n\n messageBus(message: string, logLevel: string) {\n this.onMessage.next({ text: message, type: logLevel });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'mnl-placeholder',\n standalone: true,\n imports:[MatIconModule, TranslateModule],\n templateUrl: './placeholder.component.html',\n styleUrls: ['./placeholder.component.scss'],\n})\nexport class PlaceholderComponent {\n @Input() icon!: string;\n @Input() message!: string;\n}\n\n\n","@if(icon){\n <div class=\"container\">\n <mat-icon>{{ icon }}</mat-icon>\n <h4>{{ message|translate }}</h4>\n </div>\n}","import { CommonModule, registerLocaleData } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport localeAR from '@angular/common/locales/ar';\nimport localeDE from '@angular/common/locales/de';\nimport localeFR from '@angular/common/locales/fr';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HeaderComponent } from './components/header/header.component';\nimport { HighlighterComponent } from './components/highlighter/highlighter.component';\nimport { LanguageMenuComponent } from './components/language-menu/language-menu.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { MaterialModule } from './material.module';\nimport {\n MNL_TRANSLATION_RESOURCE,\n translationLoaderFactory,\n} from './model/translation-resource';\nimport { AppConfigPipe } from './pipes/app-config-pipe';\nimport { TimeAgoPipe } from './pipes/time-ago-pipe';\nimport { UserFullnamePipe } from './pipes/user-fullname-pipe';\nimport { UserInitialPipe } from './pipes/user-initials-pipe';\nimport { AppConfigService } from './services/app.config.service';\nimport { LocalStorageService } from './services/local-storage.service';\nimport { LocaleService } from './services/locale.service';\nimport { LogService } from './services/log.service';\nimport { UserProfileService } from './services/user-profile.service';\nimport { PlaceholderComponent } from './components/placeholder/placeholder.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\n\nregisterLocaleData(localeFR);\nregisterLocaleData(localeDE);\nregisterLocaleData(localeAR);\n@NgModule({\n declarations: [\n AppConfigPipe,\n TimeAgoPipe\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MaterialModule,\n PlaceholderComponent,\n HeaderComponent, \n HighlighterComponent, \n LoginComponent,\n ProfileComponent,\n UserFullnamePipe,\n UserInitialPipe,\n LanguageMenuComponent,\n MenuComponent,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: translationLoaderFactory,\n deps: [HttpClient, MNL_TRANSLATION_RESOURCE],\n },\n }),\n ],\n\n exports: [\n HeaderComponent,\n MenuComponent,\n HighlighterComponent,\n AppConfigPipe,\n LanguageMenuComponent,\n LoginComponent,\n ProfileComponent,\n UserInitialPipe,\n TimeAgoPipe,\n UserFullnamePipe,\n TranslateModule,\n PlaceholderComponent\n ],\n})\nexport class CommonsModule {\n static forRoot(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: loadConfig,\n deps: [\n AppConfigService,\n UserProfileService,\n LocalStorageService,\n LogService,\n LocaleService,\n ],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n };\n }\n}\n\nexport function loadConfig(config: AppConfigService) {\n const conf = () => config.load();\n return conf;\n}\n","/*\n * Public API Surface of mnl-commons\n */\nexport * from './lib/material.module';\nexport * from './lib/commons.module';\nexport * from './lib/components/menu/menu.component';\nexport * from './lib/components/header/header.component';\nexport * from './lib/services/app.config.service';\nexport * from './lib/pipes/app-config-pipe';\nexport * from './lib/services/log.service';\nexport * from './lib/model/log-levels.model';\nexport * from './lib/services/user-profile.service';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/components/language-menu/language-menu.component';\nexport * from './lib/services/locale.service';\nexport * from './lib/components/login/login.component';\nexport * from './lib/model/user-model';\nexport * from './lib/pipes/user-initials-pipe';\nexport * from './lib/pipes/time-ago-pipe';\nexport * from './lib/pipes/user-fullname-pipe';\nexport * from './lib/model/menu-data.model';\nexport * from './lib/components/highlighter/highlighter.component';\nexport * from './lib/model/translation-resource';\nexport * from './lib/components/profile/profile.component';\nexport * from './lib/components/placeholder/placeholder.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.AppConfigService","i2.LocalStorageService","i1.LocaleService","i2","i3","i4","i5","i7","i2.UserProfileService"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import { AppConfigService } from './services/app.config.service';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "./components/menu/menu.component";
5
- import * as i2 from "./pipes/app-config-pipe";
6
- import * as i3 from "./components/language-menu/language-menu.component";
7
- import * as i4 from "./pipes/time-ago-pipe";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/material/toolbar";
10
- import * as i7 from "./material.module";
11
- import * as i8 from "./components/placeholder/placeholder.component";
12
- import * as i9 from "./components/header/header.component";
13
- import * as i10 from "./components/highlighter/highlighter.component";
14
- import * as i11 from "./components/login/login.component";
15
- import * as i12 from "./components/profile/profile.component";
16
- import * as i13 from "./pipes/user-fullname-pipe";
17
- import * as i14 from "./pipes/user-initials-pipe";
4
+ import * as i1 from "./pipes/app-config-pipe";
5
+ import * as i2 from "./pipes/time-ago-pipe";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/toolbar";
8
+ import * as i5 from "./material.module";
9
+ import * as i6 from "./components/placeholder/placeholder.component";
10
+ import * as i7 from "./components/header/header.component";
11
+ import * as i8 from "./components/highlighter/highlighter.component";
12
+ import * as i9 from "./components/login/login.component";
13
+ import * as i10 from "./components/profile/profile.component";
14
+ import * as i11 from "./pipes/user-fullname-pipe";
15
+ import * as i12 from "./pipes/user-initials-pipe";
16
+ import * as i13 from "./components/language-menu/language-menu.component";
17
+ import * as i14 from "./components/menu/menu.component";
18
18
  import * as i15 from "@ngx-translate/core";
19
19
  export declare class CommonsModule {
20
20
  static forRoot(): ModuleWithProviders<CommonsModule>;
21
21
  static forChild(): ModuleWithProviders<CommonsModule>;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<CommonsModule, never>;
23
- static ɵmod: i0.ɵɵNgModuleDeclaration<CommonsModule, [typeof i1.MenuComponent, typeof i2.AppConfigPipe, typeof i3.LanguageMenuComponent, typeof i4.TimeAgoPipe], [typeof i5.CommonModule, typeof i6.MatToolbarModule, typeof i7.MaterialModule, typeof i8.PlaceholderComponent, typeof i9.HeaderComponent, typeof i10.HighlighterComponent, typeof i11.LoginComponent, typeof i9.HeaderComponent, typeof i12.ProfileComponent, typeof i13.UserFullnamePipe, typeof i14.UserInitialPipe, typeof i15.TranslateModule], [typeof i9.HeaderComponent, typeof i1.MenuComponent, typeof i10.HighlighterComponent, typeof i2.AppConfigPipe, typeof i3.LanguageMenuComponent, typeof i11.LoginComponent, typeof i12.ProfileComponent, typeof i14.UserInitialPipe, typeof i4.TimeAgoPipe, typeof i13.UserFullnamePipe, typeof i15.TranslateModule, typeof i8.PlaceholderComponent]>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CommonsModule, [typeof i1.AppConfigPipe, typeof i2.TimeAgoPipe], [typeof i3.CommonModule, typeof i4.MatToolbarModule, typeof i5.MaterialModule, typeof i6.PlaceholderComponent, typeof i7.HeaderComponent, typeof i8.HighlighterComponent, typeof i9.LoginComponent, typeof i10.ProfileComponent, typeof i11.UserFullnamePipe, typeof i12.UserInitialPipe, typeof i13.LanguageMenuComponent, typeof i14.MenuComponent, typeof i15.TranslateModule], [typeof i7.HeaderComponent, typeof i14.MenuComponent, typeof i8.HighlighterComponent, typeof i1.AppConfigPipe, typeof i13.LanguageMenuComponent, typeof i9.LoginComponent, typeof i10.ProfileComponent, typeof i12.UserInitialPipe, typeof i2.TimeAgoPipe, typeof i11.UserFullnamePipe, typeof i15.TranslateModule, typeof i6.PlaceholderComponent]>;
24
24
  static ɵinj: i0.ɵɵInjectorDeclaration<CommonsModule>;
25
25
  }
26
26
  export declare function loadConfig(config: AppConfigService): () => Promise<any>;
@@ -11,5 +11,5 @@ export declare class LanguageMenuComponent implements OnInit {
11
11
  onChangeLanguage(language: LanguageItem): void;
12
12
  get locale(): LanguageItem;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<LanguageMenuComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<LanguageMenuComponent, "mnl-language-menu", never, { "showLocaleKeyAsLabel": { "alias": "showLocaleKeyAsLabel"; "required": false; }; "showLocaleAsLabel": { "alias": "showLocaleAsLabel"; "required": false; }; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<LanguageMenuComponent, "mnl-language-menu", never, { "showLocaleKeyAsLabel": { "alias": "showLocaleKeyAsLabel"; "required": false; }; "showLocaleAsLabel": { "alias": "showLocaleAsLabel"; "required": false; }; }, {}, never, never, true, never>;
15
15
  }
@@ -12,5 +12,5 @@ export declare class MenuComponent {
12
12
  toggleMenu(menu: MenuModel, event: Event): void;
13
13
  private openMenu;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "mnl-menu", never, { "menuData": { "alias": "menuData"; "required": false; }; }, { "menuClick": "menuClick"; }, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "mnl-menu", never, { "menuData": { "alias": "menuData"; "required": false; }; }, { "menuClick": "menuClick"; }, never, never, true, never>;
16
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muraai/mnl-commons",
3
- "version": "0.2.0-alpha-9876b7a",
3
+ "version": "0.2.0-alpha-7b43693",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.0.6",
6
6
  "@angular/core": "^17.0.6"