oip-common 0.6.0 → 0.6.2

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.
@@ -2,75 +2,75 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, signal, computed, effect, DestroyRef, ChangeDetectorRef, Component, Input, InjectionToken, PLATFORM_ID, ViewChild, HostBinding, EventEmitter, Output, Renderer2, SecurityContext, ChangeDetectionStrategy, Injector, EnvironmentInjector, ViewContainerRef, makeEnvironmentProviders, importProvidersFrom } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { Subject, BehaviorSubject, of, tap, shareReplay, ReplaySubject, firstValueFrom, from, filter as filter$1 } from 'rxjs';
5
- import * as i2$3 from 'primeng/api';
5
+ import * as i2$2 from 'primeng/api';
6
6
  import { MessageService, ConfirmationService, PrimeIcons, SharedModule } from 'primeng/api';
7
7
  import { HttpErrorResponse, HttpClient as HttpClient$1, provideHttpClient, withInterceptors, withFetch } from '@angular/common/http';
8
- import * as i2$4 from '@ngx-translate/core';
8
+ import * as i2$5 from '@ngx-translate/core';
9
9
  import { TranslateService, TranslatePipe, TranslateModule, TranslateLoader } from '@ngx-translate/core';
10
- import * as i1$5 from '@angular/router';
10
+ import * as i1$2 from '@angular/router';
11
11
  import { Router, ActivatedRoute, RouterModule, NavigationEnd, RouterLinkActive, RouterLink } from '@angular/router';
12
12
  import { tap as tap$1, catchError, filter, distinctUntilChanged, switchMap, map, take } from 'rxjs/operators';
13
13
  import { Title, DomSanitizer } from '@angular/platform-browser';
14
14
  import { PrimeNG } from 'primeng/config';
15
- import * as i1 from 'primeng/multiselect';
15
+ import * as i2 from 'primeng/multiselect';
16
16
  import { MultiSelectModule } from 'primeng/multiselect';
17
- import * as i2 from 'primeng/tooltip';
17
+ import * as i3 from 'primeng/tooltip';
18
18
  import { TooltipModule, Tooltip } from 'primeng/tooltip';
19
- import * as i1$2 from 'primeng/button';
19
+ import * as i1$1 from 'primeng/button';
20
20
  import { ButtonModule, Button } from 'primeng/button';
21
- import * as i1$1 from '@angular/forms';
21
+ import * as i1 from '@angular/forms';
22
22
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
23
- import * as i1$3 from '@angular/common';
23
+ import * as i2$1 from '@angular/common';
24
24
  import { isPlatformBrowser, CommonModule, NgComponentOutlet, NgClass, DatePipe, PathLocationStrategy, LocationStrategy } from '@angular/common';
25
- import * as i3$3 from 'primeng/styleclass';
25
+ import * as i3$2 from 'primeng/styleclass';
26
26
  import { StyleClassModule } from 'primeng/styleclass';
27
27
  import { updatePreset, updateSurfacePalette, $t, definePreset } from '@primeng/themes';
28
28
  import Aura from '@primeng/themes/aura';
29
29
  import Lara from '@primeng/themes/lara';
30
30
  import Nora from '@primeng/themes/nora';
31
- import * as i3 from 'primeng/selectbutton';
31
+ import * as i4 from 'primeng/selectbutton';
32
32
  import { SelectButtonModule } from 'primeng/selectbutton';
33
33
  import { Tabs, TabList, Tab } from 'primeng/tabs';
34
- import * as i2$1 from 'primeng/avatar';
34
+ import * as i3$3 from 'primeng/avatar';
35
35
  import { AvatarModule } from 'primeng/avatar';
36
36
  import { ConfirmDialog } from 'primeng/confirmdialog';
37
- import * as i1$4 from 'primeng/badge';
37
+ import * as i2$3 from 'primeng/badge';
38
38
  import { BadgeModule } from 'primeng/badge';
39
- import * as i3$1 from 'primeng/paginator';
39
+ import * as i4$1 from 'primeng/paginator';
40
40
  import { PaginatorModule } from 'primeng/paginator';
41
- import * as i7 from 'primeng/popover';
41
+ import * as i8 from 'primeng/popover';
42
42
  import { Popover, PopoverModule } from 'primeng/popover';
43
- import * as i4 from 'primeng/progressspinner';
43
+ import * as i5 from 'primeng/progressspinner';
44
44
  import { ProgressSpinnerModule } from 'primeng/progressspinner';
45
- import * as i9 from 'primeng/tag';
45
+ import * as i10 from 'primeng/tag';
46
46
  import { Tag, TagModule } from 'primeng/tag';
47
47
  import * as signalR from '@microsoft/signalr';
48
- import * as i3$2 from 'primeng/menu';
48
+ import * as i3$1 from 'primeng/menu';
49
49
  import { MenuModule } from 'primeng/menu';
50
- import * as i1$6 from 'primeng/contextmenu';
50
+ import * as i1$3 from 'primeng/contextmenu';
51
51
  import { ContextMenuModule, ContextMenu } from 'primeng/contextmenu';
52
52
  import * as i3$4 from 'primeng/dialog';
53
53
  import { DialogModule } from 'primeng/dialog';
54
- import * as i4$1 from 'primeng/inputtext';
54
+ import * as i4$2 from 'primeng/inputtext';
55
55
  import { InputTextModule, InputText } from 'primeng/inputtext';
56
- import * as i2$2 from 'primeng/ripple';
56
+ import * as i2$4 from 'primeng/ripple';
57
57
  import { RippleModule } from 'primeng/ripple';
58
- import * as i5 from 'primeng/select';
58
+ import * as i5$1 from 'primeng/select';
59
59
  import { SelectModule, Select } from 'primeng/select';
60
- import * as i1$7 from 'primeng/fileupload';
60
+ import * as i2$6 from 'primeng/fileupload';
61
61
  import { FileUploadModule } from 'primeng/fileupload';
62
62
  import { ImageModule } from 'primeng/image';
63
- import * as i1$8 from 'primeng/table';
63
+ import * as i1$4 from 'primeng/table';
64
64
  import { TableModule } from 'primeng/table';
65
- import * as i2$5 from 'primeng/toggleswitch';
65
+ import * as i2$7 from 'primeng/toggleswitch';
66
66
  import { ToggleSwitchModule } from 'primeng/toggleswitch';
67
67
  import { TextareaModule, Textarea } from 'primeng/textarea';
68
- import * as i5$1 from 'primeng/toolbar';
68
+ import * as i5$2 from 'primeng/toolbar';
69
69
  import { ToolbarModule } from 'primeng/toolbar';
70
- import * as i5$2 from 'primeng/card';
70
+ import * as i6 from 'primeng/card';
71
71
  import { CardModule } from 'primeng/card';
72
72
  import { DividerModule } from 'primeng/divider';
73
- import * as i6 from 'primeng/panel';
73
+ import * as i7 from 'primeng/panel';
74
74
  import { PanelModule } from 'primeng/panel';
75
75
  import { loadRemoteModule } from '@angular-architects/module-federation';
76
76
  import { primitive } from '@primeng/themes/aura/base';
@@ -110,10 +110,10 @@ class TopBarService {
110
110
  const result = activeTopBarItem === undefined ? id === 'content' : activeTopBarItem.id == id;
111
111
  return result;
112
112
  }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
114
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, providedIn: 'root' }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TopBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
114
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TopBarService, providedIn: 'root' }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TopBarService, decorators: [{
117
117
  type: Injectable,
118
118
  args: [{
119
119
  providedIn: 'root'
@@ -246,10 +246,10 @@ class MsgService {
246
246
  life: life
247
247
  });
248
248
  }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
250
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, providedIn: 'root' }); }
249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MsgService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
250
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MsgService, providedIn: 'root' }); }
251
251
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MsgService, decorators: [{
253
253
  type: Injectable,
254
254
  args: [{ providedIn: 'root' }]
255
255
  }] });
@@ -271,10 +271,10 @@ class AppTitleService {
271
271
  this.title.setTitle(newTitle);
272
272
  this.titleSubject.next(newTitle);
273
273
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, providedIn: 'root' }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTitleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTitleService, providedIn: 'root' }); }
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTitleService, decorators: [{
278
278
  type: Injectable,
279
279
  args: [{ providedIn: 'root' }]
280
280
  }] });
@@ -530,10 +530,10 @@ class LayoutService {
530
530
  reset() {
531
531
  this.resetSource.next(true);
532
532
  }
533
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
534
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
533
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
534
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
535
535
  }
536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, decorators: [{
536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutService, decorators: [{
537
537
  type: Injectable,
538
538
  args: [{ providedIn: 'root' }]
539
539
  }], ctorParameters: () => [] });
@@ -545,17 +545,6 @@ var msgService$1 = {
545
545
  error: "Error",
546
546
  secondary: "Secondary"
547
547
  };
548
- var securityComponent$1 = {
549
- security: "Security",
550
- save: "Save",
551
- savedSecurity: "Security settings saved",
552
- selectRoles: "Select roles"
553
- };
554
- var profileComponent$1 = {
555
- changePhoto: "Upload Photo",
556
- successfullyUploaded: "Uploaded successfully",
557
- failedToLoadPhoto: "Failed to load user photo"
558
- };
559
548
  var configComponent$1 = {
560
549
  profile: "Profile",
561
550
  photo: "Photo",
@@ -563,12 +552,6 @@ var configComponent$1 = {
563
552
  localization: "Language",
564
553
  selectLanguage: "Select language"
565
554
  };
566
- var baseComponent$1 = {
567
- content: "Content",
568
- settings: "Settings",
569
- security: "Security",
570
- success: "Saved successfully"
571
- };
572
555
  var menuComponent$1 = {
573
556
  all: "All",
574
557
  "new": "Add"
@@ -621,74 +604,16 @@ var topbar$1 = {
621
604
  profile: "Profile",
622
605
  applications: "Applications"
623
606
  };
624
- var userNotifications$1 = {
625
- title: "Notifications",
626
- empty: "No unread notifications",
627
- refresh: "Refresh",
628
- markAsRead: "Read",
629
- markedAsRead: "Notification marked as read"
630
- };
631
- var discussionComponent$1 = {
632
- writeCommentPlaceholder: "Write a comment. Use @email or @first.last for mentions.",
633
- mentionSuggestions: "Mention suggestions",
634
- edit: "Edit",
635
- preview: "Preview",
636
- attachFiles: "Attach files",
637
- send: "Send",
638
- loadingComments: "Loading comments...",
639
- noCommentsYet: "No comments yet.",
640
- edited: "Edited",
641
- editCommentPlaceholder: "Edit comment",
642
- addAttachment: "Add attachment",
643
- save: "Save",
644
- cancel: "Cancel",
645
- editHistory: "Edit history",
646
- loadingHistory: "Loading history...",
647
- before: "Before",
648
- after: "After",
649
- warning: "Warning",
650
- "delete": "Delete",
651
- confirmDeleteComment: "Are you sure you want to delete this comment?",
652
- confirmDeleteFile: "Are you sure you want to delete the file \"{{fileName}}\"?",
653
- units: {
654
- bytes: "B",
655
- kilobytes: "KB",
656
- megabytes: "MB"
657
- },
658
- errors: {
659
- loadComments: "Failed to load comments.",
660
- createComment: "Failed to create comment.",
661
- updateComment: "Failed to update comment.",
662
- loadEditHistory: "Failed to load edit history.",
663
- uploadAttachment: "Failed to upload attachment.",
664
- deleteComment: "Failed to delete comment.",
665
- deleteAttachment: "Failed to delete attachment.",
666
- downloadAttachment: "Failed to download attachment.",
667
- updateReaction: "Failed to update reaction.",
668
- addReaction: "Failed to add reaction."
669
- }
670
- };
671
607
  var primeng$1 = "";
672
- var en$6 = {
673
- "app-configurator": {
674
- primary: "Primary",
675
- surface: "Surface",
676
- presets: "Presets",
677
- menuMode: "Menu Mode"
678
- },
608
+ var en$c = {
679
609
  msgService: msgService$1,
680
- securityComponent: securityComponent$1,
681
- profileComponent: profileComponent$1,
682
610
  configComponent: configComponent$1,
683
- baseComponent: baseComponent$1,
684
611
  menuComponent: menuComponent$1,
685
612
  menuItemEditDialogComponent: menuItemEditDialogComponent$1,
686
613
  menuItemCreateDialogComponent: menuItemCreateDialogComponent$1,
687
614
  unauthorized: unauthorized$1,
688
615
  menuItemComponent: menuItemComponent$1,
689
616
  topbar: topbar$1,
690
- userNotifications: userNotifications$1,
691
- discussionComponent: discussionComponent$1,
692
617
  primeng: primeng$1
693
618
  };
694
619
 
@@ -699,17 +624,6 @@ var msgService = {
699
624
  error: "Ошибка",
700
625
  secondary: "Вспомогательный"
701
626
  };
702
- var securityComponent = {
703
- security: "Безопасность",
704
- save: "Сохранить",
705
- savedSecurity: "Настройки сохранены",
706
- selectRoles: "Выберите роли"
707
- };
708
- var profileComponent = {
709
- changePhoto: "Загрузить фото",
710
- successfullyUploaded: "Загружено",
711
- failedToLoadPhoto: "Не удалось загрузить фото пользователя"
712
- };
713
627
  var configComponent = {
714
628
  profile: "Профиль",
715
629
  photo: "Фото",
@@ -717,12 +631,6 @@ var configComponent = {
717
631
  localization: "Язык",
718
632
  selectLanguage: "Выберите язык"
719
633
  };
720
- var baseComponent = {
721
- content: "Содержимое",
722
- settings: "Настройки",
723
- security: "Безопасность",
724
- success: "Сохранено"
725
- };
726
634
  var menuComponent = {
727
635
  all: "Все",
728
636
  "new": "Добавить"
@@ -775,53 +683,6 @@ var topbar = {
775
683
  profile: "Профиль",
776
684
  applications: "Приложения"
777
685
  };
778
- var userNotifications = {
779
- title: "Оповещения",
780
- empty: "Непрочитанных оповещений нет",
781
- refresh: "Обновить",
782
- markAsRead: "Прочитано",
783
- markedAsRead: "Оповещение отмечено прочитанным"
784
- };
785
- var discussionComponent = {
786
- writeCommentPlaceholder: "Напишите комментарий. Используйте @email или @first.last для упоминаний.",
787
- mentionSuggestions: "Варианты упоминаний",
788
- edit: "Редактировать",
789
- preview: "Предпросмотр",
790
- attachFiles: "Прикрепить файлы",
791
- send: "Отправить",
792
- loadingComments: "Загрузка комментариев...",
793
- noCommentsYet: "Комментариев пока нет.",
794
- edited: "Изменено",
795
- editCommentPlaceholder: "Изменить комментарий",
796
- addAttachment: "Добавить вложение",
797
- save: "Сохранить",
798
- cancel: "Отмена",
799
- editHistory: "История изменений",
800
- loadingHistory: "Загрузка истории...",
801
- before: "До",
802
- after: "После",
803
- warning: "Предупреждение",
804
- "delete": "Удалить",
805
- confirmDeleteComment: "Вы уверены, что хотите удалить этот комментарий?",
806
- confirmDeleteFile: "Вы уверены, что хотите удалить файл \"{{fileName}}\"?",
807
- units: {
808
- bytes: "Б",
809
- kilobytes: "КБ",
810
- megabytes: "МБ"
811
- },
812
- errors: {
813
- loadComments: "Не удалось загрузить комментарии.",
814
- createComment: "Не удалось создать комментарий.",
815
- updateComment: "Не удалось обновить комментарий.",
816
- loadEditHistory: "Не удалось загрузить историю изменений.",
817
- uploadAttachment: "Не удалось загрузить вложение.",
818
- deleteComment: "Не удалось удалить комментарий.",
819
- deleteAttachment: "Не удалось удалить вложение.",
820
- downloadAttachment: "Не удалось скачать вложение.",
821
- updateReaction: "Не удалось обновить реакцию.",
822
- addReaction: "Не удалось добавить реакцию."
823
- }
824
- };
825
686
  var primeng = {
826
687
  accept: "Да",
827
688
  addRule: "Добавить правило",
@@ -1014,26 +875,15 @@ var primeng = {
1014
875
  zoomOut: "Уменьшить"
1015
876
  }
1016
877
  };
1017
- var ru$6 = {
1018
- "app-configurator": {
1019
- primary: "Основной",
1020
- surface: "Фон",
1021
- presets: "Стиль",
1022
- menuMode: "Режим меню"
1023
- },
878
+ var ru$c = {
1024
879
  msgService: msgService,
1025
- securityComponent: securityComponent,
1026
- profileComponent: profileComponent,
1027
880
  configComponent: configComponent,
1028
- baseComponent: baseComponent,
1029
881
  menuComponent: menuComponent,
1030
882
  menuItemEditDialogComponent: menuItemEditDialogComponent,
1031
883
  menuItemCreateDialogComponent: menuItemCreateDialogComponent,
1032
884
  unauthorized: unauthorized,
1033
885
  menuItemComponent: menuItemComponent,
1034
886
  topbar: topbar,
1035
- userNotifications: userNotifications,
1036
- discussionComponent: discussionComponent,
1037
887
  primeng: primeng
1038
888
  };
1039
889
 
@@ -1041,7 +891,7 @@ var ru$6 = {
1041
891
  * Global dictionaries shared by all components. They are bundled with the library,
1042
892
  * so the application never requests `assets/i18n/{lang}.json`.
1043
893
  */
1044
- const globalTranslations = { en: en$6, ru: ru$6 };
894
+ const globalTranslations = { en: en$c, ru: ru$c };
1045
895
  /**
1046
896
  * Service for managing translation loading in the application
1047
897
  */
@@ -1205,10 +1055,10 @@ class L10nService {
1205
1055
  instant(key, interpolateParams) {
1206
1056
  return this.translateService.instant(key, interpolateParams);
1207
1057
  }
1208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1209
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, providedIn: 'root' }); }
1058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: L10nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1059
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: L10nService, providedIn: 'root' }); }
1210
1060
  }
1211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, decorators: [{
1061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: L10nService, decorators: [{
1212
1062
  type: Injectable,
1213
1063
  args: [{ providedIn: 'root' }]
1214
1064
  }], ctorParameters: () => [] });
@@ -1372,10 +1222,10 @@ class BffSecurityService {
1372
1222
  const baseUrl = document.getElementsByTagName('base')[0].href;
1373
1223
  return baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
1374
1224
  }
1375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1376
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService }); }
1225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BffSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1226
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BffSecurityService }); }
1377
1227
  }
1378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService, decorators: [{
1228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BffSecurityService, decorators: [{
1379
1229
  type: Injectable
1380
1230
  }] });
1381
1231
 
@@ -1594,14 +1444,35 @@ class HttpClient {
1594
1444
  ? { headers: { [csrfToken.headerName]: csrfToken.token } }
1595
1445
  : {};
1596
1446
  }
1597
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1598
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, providedIn: "root" }); }
1447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HttpClient, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1448
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HttpClient, providedIn: "root" }); }
1599
1449
  }
1600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, decorators: [{
1450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HttpClient, decorators: [{
1601
1451
  type: Injectable,
1602
1452
  args: [{ providedIn: "root" }]
1603
1453
  }] });
1604
1454
 
1455
+ var baseComponent$1 = {
1456
+ content: "Content",
1457
+ settings: "Settings",
1458
+ security: "Security",
1459
+ success: "Saved successfully"
1460
+ };
1461
+ var en$b = {
1462
+ baseComponent: baseComponent$1
1463
+ };
1464
+
1465
+ var baseComponent = {
1466
+ content: "Содержимое",
1467
+ settings: "Настройки",
1468
+ security: "Безопасность",
1469
+ success: "Сохранено"
1470
+ };
1471
+ var ru$b = {
1472
+ baseComponent: baseComponent
1473
+ };
1474
+
1475
+ L10nService.registerTranslations({ en: en$b, ru: ru$b });
1605
1476
  class BaseModuleComponent {
1606
1477
  static { this.readRight = 'read'; }
1607
1478
  static { this.editRight = 'edit'; }
@@ -1753,6 +1624,7 @@ class BaseModuleComponent {
1753
1624
  ];
1754
1625
  // Must run before the route subscription below asks L10nService for the translations.
1755
1626
  L10nService.registerTranslations(this.constructor.translations);
1627
+ this.l10nService.get('baseComponent');
1756
1628
  effect(() => {
1757
1629
  const config = this.localSettings();
1758
1630
  if (config) {
@@ -1795,10 +1667,10 @@ class BaseModuleComponent {
1795
1667
  * @return {Promise<void>} A promise that resolves when the initialization is complete.
1796
1668
  */
1797
1669
  async ngOnInit() {
1798
- this.subscriptions.push(this.translateService.get('baseComponent').subscribe((value) => {
1799
- this.topBarItems[0].caption = value.content;
1800
- this.topBarItems[1].caption = value.settings;
1801
- this.topBarItems[2].caption = value.security;
1670
+ this.subscriptions.push(this.translateService.stream('baseComponent').subscribe((value) => {
1671
+ this.topBarItems.forEach((item) => {
1672
+ item.caption = value[item.id];
1673
+ });
1802
1674
  }));
1803
1675
  this.topBarService.setTopBarItems(this.topBarItems);
1804
1676
  this.topBarService.activeId = this.topBarItems[0].id;
@@ -1976,10 +1848,10 @@ class BaseModuleComponent {
1976
1848
  });
1977
1849
  await this.moduleInstanceReloadPromise;
1978
1850
  }
1979
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BaseModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1980
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: BaseModuleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
1851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BaseModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1852
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: BaseModuleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
1981
1853
  }
1982
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BaseModuleComponent, decorators: [{
1854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BaseModuleComponent, decorators: [{
1983
1855
  type: Component,
1984
1856
  args: [{ standalone: true, template: '' }]
1985
1857
  }], ctorParameters: () => [] });
@@ -2024,15 +1896,36 @@ class SecurityApi extends HttpClient {
2024
1896
  ...params,
2025
1897
  });
2026
1898
  }
2027
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2028
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi }); }
1899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecurityApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1900
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecurityApi }); }
2029
1901
  }
2030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi, decorators: [{
1902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecurityApi, decorators: [{
2031
1903
  type: Injectable
2032
1904
  }] });
2033
1905
 
1906
+ var securityComponent$1 = {
1907
+ security: "Security",
1908
+ save: "Save",
1909
+ savedSecurity: "Security settings saved",
1910
+ selectRoles: "Select roles"
1911
+ };
1912
+ var en$a = {
1913
+ securityComponent: securityComponent$1
1914
+ };
1915
+
1916
+ var securityComponent = {
1917
+ security: "Безопасность",
1918
+ save: "Сохранить",
1919
+ savedSecurity: "Настройки сохранены",
1920
+ selectRoles: "Выберите роли"
1921
+ };
1922
+ var ru$a = {
1923
+ securityComponent: securityComponent
1924
+ };
1925
+
1926
+ L10nService.registerTranslations({ en: en$a, ru: ru$a });
2034
1927
  class SecurityComponent {
2035
- constructor() {
1928
+ constructor(l10nService) {
2036
1929
  this.msgService = inject(MsgService);
2037
1930
  this.translateService = inject(TranslateService);
2038
1931
  this.httpClient = inject(HttpClient);
@@ -2040,6 +1933,7 @@ class SecurityComponent {
2040
1933
  this.securityLoadToken = 0;
2041
1934
  this.securityData = [];
2042
1935
  this.roles = [];
1936
+ l10nService.get('securityComponent');
2043
1937
  }
2044
1938
  ngOnDestroy() {
2045
1939
  // on destroy
@@ -2113,8 +2007,8 @@ class SecurityComponent {
2113
2007
  type: ContentType.Json
2114
2008
  });
2115
2009
  }
2116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: SecurityComponent, isStandalone: true, selector: "security", inputs: { id: "id", controller: "controller" }, usesOnChanges: true, ngImport: i0, template: `
2010
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecurityComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
2011
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SecurityComponent, isStandalone: true, selector: "security", inputs: { id: "id", controller: "controller" }, usesOnChanges: true, ngImport: i0, template: `
2118
2012
  <div class="flex flex-col md:flex-row gap-8">
2119
2013
  <div class="md:w-1/2">
2120
2014
  <div class="card flex flex-col gap-4">
@@ -2146,9 +2040,9 @@ class SecurityComponent {
2146
2040
  </div>
2147
2041
  </div>
2148
2042
  </div>
2149
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
2043
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
2150
2044
  }
2151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityComponent, decorators: [{
2045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecurityComponent, decorators: [{
2152
2046
  type: Component,
2153
2047
  args: [{
2154
2048
  selector: 'security',
@@ -2188,7 +2082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
2188
2082
  imports: [MultiSelectModule, TooltipModule, FormsModule, ButtonModule, TranslatePipe],
2189
2083
  standalone: true
2190
2084
  }]
2191
- }], propDecorators: { id: [{
2085
+ }], ctorParameters: () => [{ type: L10nService }], propDecorators: { id: [{
2192
2086
  type: Input
2193
2087
  }], controller: [{
2194
2088
  type: Input
@@ -2201,6 +2095,29 @@ const APP_THEME_PRESETS_MERGE_MODE = new InjectionToken('APP_THEME_PRESETS_MERGE
2201
2095
  factory: () => 'mergeWithDefaults'
2202
2096
  });
2203
2097
 
2098
+ var en$9 = {
2099
+ "app-configurator": {
2100
+ primary: "Primary",
2101
+ surface: "Surface",
2102
+ presets: "Presets",
2103
+ menuMode: "Menu Mode",
2104
+ menuModeStatic: "Static",
2105
+ menuModeOverlay: "Overlay"
2106
+ }
2107
+ };
2108
+
2109
+ var ru$9 = {
2110
+ "app-configurator": {
2111
+ primary: "Основной",
2112
+ surface: "Фон",
2113
+ presets: "Стиль",
2114
+ menuMode: "Режим меню",
2115
+ menuModeStatic: "Статичное",
2116
+ menuModeOverlay: "Всплывающее"
2117
+ }
2118
+ };
2119
+
2120
+ L10nService.registerTranslations({ en: en$9, ru: ru$9 });
2204
2121
  const DEFAULT_THEME_PRESETS = [
2205
2122
  { id: 'Aura', label: 'Aura', preset: Aura },
2206
2123
  { id: 'Lara', label: 'Lara', preset: Lara },
@@ -2225,7 +2142,7 @@ const PRIMARY_COLORS = [
2225
2142
  'rose'
2226
2143
  ];
2227
2144
  class AppConfiguratorComponent {
2228
- constructor() {
2145
+ constructor(l10nService) {
2229
2146
  this.router = inject(Router);
2230
2147
  this.config = inject(PrimeNG);
2231
2148
  this.layoutService = inject(LayoutService);
@@ -2240,8 +2157,8 @@ class AppConfiguratorComponent {
2240
2157
  this.presets = this.themePresets.map((theme) => ({ label: theme.label ?? theme.id, value: theme.id }));
2241
2158
  this.showMenuModeButton = signal(!this.router.url.includes('auth'), ...(ngDevMode ? [{ debugName: "showMenuModeButton" }] : []));
2242
2159
  this.menuModeOptions = [
2243
- { label: 'Static', value: 'static' },
2244
- { label: 'Overlay', value: 'overlay' }
2160
+ { label: 'app-configurator.menuModeStatic', value: 'static' },
2161
+ { label: 'app-configurator.menuModeOverlay', value: 'overlay' }
2245
2162
  ];
2246
2163
  this.surfaces = [
2247
2164
  {
@@ -2395,6 +2312,7 @@ class AppConfiguratorComponent {
2395
2312
  const activeThemePreset = this.getThemeById(this.layoutService.layoutConfig().preset);
2396
2313
  return this.getSurfaceColorOptions(activeThemePreset);
2397
2314
  }, ...(ngDevMode ? [{ debugName: "surfaceColors" }] : []));
2315
+ l10nService.get('app-configurator');
2398
2316
  }
2399
2317
  ngOnInit() {
2400
2318
  if (isPlatformBrowser(this.platformId)) {
@@ -2631,8 +2549,8 @@ class AppConfiguratorComponent {
2631
2549
  menuMode: event
2632
2550
  }));
2633
2551
  }
2634
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppConfiguratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2635
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppConfiguratorComponent, isStandalone: true, selector: "app-configurator", host: { classAttribute: "hidden absolute top-[3.25rem] right-0 w-72 p-4 bg-surface-0 dark:bg-surface-900 border border-surface rounded-border origin-top shadow-[0px_3px_5px_rgba(0,0,0,0.02),0px_0px_2px_rgba(0,0,0,0.05),0px_1px_4px_rgba(0,0,0,0.08)]" }, ngImport: i0, template: `
2552
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppConfiguratorComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
2553
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AppConfiguratorComponent, isStandalone: true, selector: "app-configurator", host: { classAttribute: "hidden absolute top-[3.25rem] right-0 w-72 p-4 bg-surface-0 dark:bg-surface-900 border border-surface rounded-border origin-top shadow-[0px_3px_5px_rgba(0,0,0,0.02),0px_0px_2px_rgba(0,0,0,0.05),0px_1px_4px_rgba(0,0,0,0.08)]" }, ngImport: i0, template: `
2636
2554
  <div class="flex flex-col gap-4">
2637
2555
  <div>
2638
2556
  <span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.primary' | translate }}</span>
@@ -2697,13 +2615,17 @@ class AppConfiguratorComponent {
2697
2615
  [allowEmpty]="false"
2698
2616
  [ngModel]="menuMode()"
2699
2617
  [options]="menuModeOptions"
2700
- (ngModelChange)="onMenuModeChange($event)" />
2618
+ (ngModelChange)="onMenuModeChange($event)">
2619
+ <ng-template pTemplate="item" let-item>
2620
+ {{ item.label | translate }}
2621
+ </ng-template>
2622
+ </p-selectButton>
2701
2623
  </div>
2702
2624
  }
2703
2625
  </div>
2704
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i3.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "styleClass", "ariaLabelledBy", "dataKey", "autofocus", "size", "fluid"], outputs: ["onOptionClick", "onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
2626
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i4.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "styleClass", "ariaLabelledBy", "dataKey", "autofocus", "size", "fluid"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
2705
2627
  }
2706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppConfiguratorComponent, decorators: [{
2628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppConfiguratorComponent, decorators: [{
2707
2629
  type: Component,
2708
2630
  args: [{
2709
2631
  selector: 'app-configurator',
@@ -2774,7 +2696,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
2774
2696
  [allowEmpty]="false"
2775
2697
  [ngModel]="menuMode()"
2776
2698
  [options]="menuModeOptions"
2777
- (ngModelChange)="onMenuModeChange($event)" />
2699
+ (ngModelChange)="onMenuModeChange($event)">
2700
+ <ng-template pTemplate="item" let-item>
2701
+ {{ item.label | translate }}
2702
+ </ng-template>
2703
+ </p-selectButton>
2778
2704
  </div>
2779
2705
  }
2780
2706
  </div>
@@ -2783,7 +2709,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
2783
2709
  class: 'hidden absolute top-[3.25rem] right-0 w-72 p-4 bg-surface-0 dark:bg-surface-900 border border-surface rounded-border origin-top shadow-[0px_3px_5px_rgba(0,0,0,0.02),0px_0px_2px_rgba(0,0,0,0.05),0px_1px_4px_rgba(0,0,0,0.08)]'
2784
2710
  }
2785
2711
  }]
2786
- }] });
2712
+ }], ctorParameters: () => [{ type: L10nService }] });
2787
2713
 
2788
2714
  /* eslint-disable */
2789
2715
  /* tslint:disable */
@@ -2813,6 +2739,12 @@ class UserProfileApi extends HttpClient {
2813
2739
  type: ContentType.FormData,
2814
2740
  ...params,
2815
2741
  });
2742
+ this.deleteUserPhoto = (params = {}) => this.request({
2743
+ path: `/api/user-profile/delete-user-photo`,
2744
+ method: "DELETE",
2745
+ secure: true,
2746
+ ...params,
2747
+ });
2816
2748
  this.getSettings = (params = {}) => this.request({
2817
2749
  path: `/api/user-profile/get-settings`,
2818
2750
  method: "GET",
@@ -2829,10 +2761,10 @@ class UserProfileApi extends HttpClient {
2829
2761
  ...params,
2830
2762
  });
2831
2763
  }
2832
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2833
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi }); }
2764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserProfileApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2765
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserProfileApi }); }
2834
2766
  }
2835
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi, decorators: [{
2767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserProfileApi, decorators: [{
2836
2768
  type: Injectable
2837
2769
  }] });
2838
2770
 
@@ -2900,7 +2832,11 @@ class UserService {
2900
2832
  this.createImageFromBlob(data);
2901
2833
  this.photoLoaded = true;
2902
2834
  }, (error) => {
2903
- this.msgService.errorFromException(error, this.translateService.instant('profileComponent.failedToLoadPhoto'));
2835
+ // A 404 just means the user hasn't uploaded a photo yet (e.g. on first login)
2836
+ // that's an expected state, not a failure, so fall back to initials silently.
2837
+ if (error?.status !== 404) {
2838
+ this.msgService.errorFromException(error, this.translateService.instant('profileComponent.failedToLoadPhoto'));
2839
+ }
2904
2840
  this.photoLoaded = false;
2905
2841
  });
2906
2842
  }
@@ -2937,65 +2873,65 @@ class UserService {
2937
2873
  getCurrentUserPhotoKey(user) {
2938
2874
  return user?.sub || user?.userName || user?.preferred_username || user?.displayName || user?.name || null;
2939
2875
  }
2940
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2941
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService }); }
2876
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2877
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserService }); }
2942
2878
  }
2943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService, decorators: [{
2879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserService, decorators: [{
2944
2880
  type: Injectable
2945
2881
  }], ctorParameters: () => [] });
2946
2882
 
2947
2883
  class LogoComponent {
2948
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2949
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: LogoComponent, isStandalone: true, selector: "logo", inputs: { width: "width", height: "height" }, ngImport: i0, template: `
2950
- <svg
2951
- viewBox="0.8516 1.7159 60.0074 64.7142"
2952
- xmlns="http://www.w3.org/2000/svg"
2953
- [attr.height]="height + 'px'"
2954
- [attr.width]="width + 'px'">
2955
- <path
2956
- class="primary-logo-color"
2957
- d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
2958
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2959
- <path
2960
- class="primary-logo-color"
2961
- d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
2962
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2963
- <path
2964
- class="primary-logo-color"
2965
- d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
2966
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2967
- <path
2968
- class="secondary-logo-color"
2969
- d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
2970
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2971
- </svg>
2884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2885
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LogoComponent, isStandalone: true, selector: "logo", inputs: { width: "width", height: "height" }, ngImport: i0, template: `
2886
+ <svg
2887
+ viewBox="0.8516 1.7159 60.0074 64.7142"
2888
+ xmlns="http://www.w3.org/2000/svg"
2889
+ [attr.height]="height + 'px'"
2890
+ [attr.width]="width + 'px'">
2891
+ <path
2892
+ class="primary-logo-color"
2893
+ d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
2894
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2895
+ <path
2896
+ class="primary-logo-color"
2897
+ d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
2898
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2899
+ <path
2900
+ class="primary-logo-color"
2901
+ d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
2902
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2903
+ <path
2904
+ class="secondary-logo-color"
2905
+ d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
2906
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2907
+ </svg>
2972
2908
  `, isInline: true, styles: [".primary-logo-color{fill:var(--primary-color)}.secondary-logo-color{fill:var(--p-primary-600)}\n"] }); }
2973
2909
  }
2974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoComponent, decorators: [{
2910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LogoComponent, decorators: [{
2975
2911
  type: Component,
2976
- args: [{ selector: 'logo', standalone: true, template: `
2977
- <svg
2978
- viewBox="0.8516 1.7159 60.0074 64.7142"
2979
- xmlns="http://www.w3.org/2000/svg"
2980
- [attr.height]="height + 'px'"
2981
- [attr.width]="width + 'px'">
2982
- <path
2983
- class="primary-logo-color"
2984
- d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
2985
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2986
- <path
2987
- class="primary-logo-color"
2988
- d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
2989
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2990
- <path
2991
- class="primary-logo-color"
2992
- d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
2993
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2994
- <path
2995
- class="secondary-logo-color"
2996
- d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
2997
- transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2998
- </svg>
2912
+ args: [{ selector: 'logo', standalone: true, template: `
2913
+ <svg
2914
+ viewBox="0.8516 1.7159 60.0074 64.7142"
2915
+ xmlns="http://www.w3.org/2000/svg"
2916
+ [attr.height]="height + 'px'"
2917
+ [attr.width]="width + 'px'">
2918
+ <path
2919
+ class="primary-logo-color"
2920
+ d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
2921
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2922
+ <path
2923
+ class="primary-logo-color"
2924
+ d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
2925
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2926
+ <path
2927
+ class="primary-logo-color"
2928
+ d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
2929
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2930
+ <path
2931
+ class="secondary-logo-color"
2932
+ d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
2933
+ transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
2934
+ </svg>
2999
2935
  `, styles: [".primary-logo-color{fill:var(--primary-color)}.secondary-logo-color{fill:var(--p-primary-600)}\n"] }]
3000
2936
  }], propDecorators: { width: [{
3001
2937
  type: Input
@@ -3017,10 +2953,10 @@ class LogoService {
3017
2953
  getLogoComponent() {
3018
2954
  return this.customLogoComponent || LogoComponent;
3019
2955
  }
3020
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3021
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, providedIn: 'root' }); }
2956
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LogoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2957
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LogoService, providedIn: 'root' }); }
3022
2958
  }
3023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, decorators: [{
2959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LogoService, decorators: [{
3024
2960
  type: Injectable,
3025
2961
  args: [{ providedIn: 'root' }]
3026
2962
  }] });
@@ -3061,10 +2997,10 @@ class NotificationApi extends HttpClient {
3061
2997
  ...params,
3062
2998
  });
3063
2999
  }
3064
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3065
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi }); }
3000
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3001
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationApi }); }
3066
3002
  }
3067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi, decorators: [{
3003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationApi, decorators: [{
3068
3004
  type: Injectable
3069
3005
  }] });
3070
3006
 
@@ -3116,16 +3052,39 @@ class NotificationService {
3116
3052
  .then((response) => this.unreadNotificationCount.set(response.count ?? 0))
3117
3053
  .catch((error) => console.error('Failed to load notification count', error));
3118
3054
  }
3119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3120
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
3055
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3056
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
3121
3057
  }
3122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, decorators: [{
3058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotificationService, decorators: [{
3123
3059
  type: Injectable,
3124
3060
  args: [{ providedIn: 'root' }]
3125
3061
  }], ctorParameters: () => [] });
3126
3062
 
3063
+ var userNotifications$1 = {
3064
+ title: "Notifications",
3065
+ empty: "No unread notifications",
3066
+ refresh: "Refresh",
3067
+ markAsRead: "Read",
3068
+ markedAsRead: "Notification marked as read"
3069
+ };
3070
+ var en$8 = {
3071
+ userNotifications: userNotifications$1
3072
+ };
3073
+
3074
+ var userNotifications = {
3075
+ title: "Оповещения",
3076
+ empty: "Непрочитанных оповещений нет",
3077
+ refresh: "Обновить",
3078
+ markAsRead: "Прочитано",
3079
+ markedAsRead: "Оповещение отмечено прочитанным"
3080
+ };
3081
+ var ru$8 = {
3082
+ userNotifications: userNotifications
3083
+ };
3084
+
3085
+ L10nService.registerTranslations({ en: en$8, ru: ru$8 });
3127
3086
  class UserNotificationsComponent {
3128
- constructor() {
3087
+ constructor(l10nService) {
3129
3088
  this.notifications = [];
3130
3089
  this.totalCount = 0;
3131
3090
  this.skip = 0;
@@ -3140,6 +3099,7 @@ class UserNotificationsComponent {
3140
3099
  const count = this.unreadNotificationCount();
3141
3100
  return count > 99 ? '99+' : count.toString();
3142
3101
  }, ...(ngDevMode ? [{ debugName: "unreadNotificationBadge" }] : []));
3102
+ l10nService.get('userNotifications');
3143
3103
  }
3144
3104
  async toggle(event) {
3145
3105
  this.popover?.toggle(event);
@@ -3202,8 +3162,8 @@ class UserNotificationsComponent {
3202
3162
  return 'secondary';
3203
3163
  }
3204
3164
  }
3205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: UserNotificationsComponent, isStandalone: true, selector: "app-user-notifications", viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: `
3165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserNotificationsComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
3166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: UserNotificationsComponent, isStandalone: true, selector: "app-user-notifications", viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: `
3207
3167
  <button
3208
3168
  class="layout-topbar-action relative"
3209
3169
  id="oip-app-topbar-notification-button"
@@ -3290,9 +3250,9 @@ class UserNotificationsComponent {
3290
3250
  (onPageChange)="onPageChange($event)"></p-paginator>
3291
3251
  }
3292
3252
  </p-popover>
3293
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i1$4.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i3$1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: i1$3.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3253
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i2$3.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i4$1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i5.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3294
3254
  }
3295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserNotificationsComponent, decorators: [{
3255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserNotificationsComponent, decorators: [{
3296
3256
  type: Component,
3297
3257
  args: [{
3298
3258
  selector: 'app-user-notifications',
@@ -3397,7 +3357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
3397
3357
  </p-popover>
3398
3358
  `
3399
3359
  }]
3400
- }], propDecorators: { popover: [{
3360
+ }], ctorParameters: () => [{ type: L10nService }], propDecorators: { popover: [{
3401
3361
  type: ViewChild,
3402
3362
  args: ['popover']
3403
3363
  }] } });
@@ -3444,10 +3404,10 @@ class ApplicationsApi extends HttpClient {
3444
3404
  ...params,
3445
3405
  });
3446
3406
  }
3447
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3448
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi }); }
3407
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationsApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3408
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationsApi }); }
3449
3409
  }
3450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi, decorators: [{
3410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationsApi, decorators: [{
3451
3411
  type: Injectable
3452
3412
  }] });
3453
3413
 
@@ -3467,10 +3427,10 @@ class ApplicationRegistryService {
3467
3427
  }
3468
3428
  window.location.href = application.baseUrl;
3469
3429
  }
3470
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3471
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService }); }
3430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3431
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationRegistryService }); }
3472
3432
  }
3473
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService, decorators: [{
3433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationRegistryService, decorators: [{
3474
3434
  type: Injectable
3475
3435
  }] });
3476
3436
 
@@ -3497,49 +3457,49 @@ class AppTopbarApplicationSwitcherComponent {
3497
3457
  command: () => this.applicationRegistryService.openApplication(application)
3498
3458
  };
3499
3459
  }
3500
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3501
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppTopbarApplicationSwitcherComponent, isStandalone: true, selector: "app-topbar-application-switcher", providers: [ApplicationsApi, ApplicationRegistryService], ngImport: i0, template: `
3502
- @if (applicationRegistryService.applications.length > 1) {
3503
- <p-button
3504
- class="layout-topbar-action"
3505
- id="oip-app-topbar-application-switcher-button"
3506
- severity="secondary"
3507
- type="button"
3508
- [rounded]="true"
3509
- [text]="true"
3510
- (click)="applicationMenu.toggle($event)">
3511
- <i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
3512
- <span class="ml-2 hidden md:inline">
3513
- {{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
3514
- </span>
3515
- </p-button>
3516
- <p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
3517
- }
3518
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i3$2.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3461
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AppTopbarApplicationSwitcherComponent, isStandalone: true, selector: "app-topbar-application-switcher", providers: [ApplicationsApi, ApplicationRegistryService], ngImport: i0, template: `
3462
+ @if (applicationRegistryService.applications.length > 1) {
3463
+ <p-button
3464
+ class="layout-topbar-action"
3465
+ id="oip-app-topbar-application-switcher-button"
3466
+ severity="secondary"
3467
+ type="button"
3468
+ [rounded]="true"
3469
+ [text]="true"
3470
+ (click)="applicationMenu.toggle($event)">
3471
+ <i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
3472
+ <span class="ml-2 hidden md:inline">
3473
+ {{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
3474
+ </span>
3475
+ </p-button>
3476
+ <p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
3477
+ }
3478
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i3$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3519
3479
  }
3520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, decorators: [{
3480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, decorators: [{
3521
3481
  type: Component,
3522
3482
  args: [{
3523
3483
  selector: 'app-topbar-application-switcher',
3524
3484
  standalone: true,
3525
3485
  imports: [CommonModule, ButtonModule, MenuModule, TranslatePipe],
3526
- template: `
3527
- @if (applicationRegistryService.applications.length > 1) {
3528
- <p-button
3529
- class="layout-topbar-action"
3530
- id="oip-app-topbar-application-switcher-button"
3531
- severity="secondary"
3532
- type="button"
3533
- [rounded]="true"
3534
- [text]="true"
3535
- (click)="applicationMenu.toggle($event)">
3536
- <i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
3537
- <span class="ml-2 hidden md:inline">
3538
- {{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
3539
- </span>
3540
- </p-button>
3541
- <p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
3542
- }
3486
+ template: `
3487
+ @if (applicationRegistryService.applications.length > 1) {
3488
+ <p-button
3489
+ class="layout-topbar-action"
3490
+ id="oip-app-topbar-application-switcher-button"
3491
+ severity="secondary"
3492
+ type="button"
3493
+ [rounded]="true"
3494
+ [text]="true"
3495
+ (click)="applicationMenu.toggle($event)">
3496
+ <i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
3497
+ <span class="ml-2 hidden md:inline">
3498
+ {{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
3499
+ </span>
3500
+ </p-button>
3501
+ <p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
3502
+ }
3543
3503
  `,
3544
3504
  providers: [ApplicationsApi, ApplicationRegistryService]
3545
3505
  }]
@@ -3590,111 +3550,112 @@ class AppTopbar {
3590
3550
  }
3591
3551
  });
3592
3552
  }
3593
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3594
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppTopbar, isStandalone: true, selector: "app-topbar", providers: [ConfirmationService], ngImport: i0, template: ` <div class="layout-topbar">
3595
- <p-confirmDialog appendTo="body" />
3596
- <div class="layout-topbar-logo-container">
3597
- <button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
3598
- <i class="pi pi-bars"></i>
3599
- </button>
3600
- <a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
3601
- <ng-container
3602
- *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
3603
- <span>{{ 'app-info.title' | translate }}</span>
3604
- </a>
3605
- </div>
3553
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTopbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3554
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AppTopbar, isStandalone: true, selector: "app-topbar", providers: [ConfirmationService], ngImport: i0, template: `
3555
+ <div class="layout-topbar">
3556
+ <p-confirmDialog appendTo="body"/>
3557
+ <div class="layout-topbar-logo-container">
3558
+ <button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
3559
+ <i class="pi pi-bars"></i>
3560
+ </button>
3561
+ <a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
3562
+ <ng-container
3563
+ *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
3564
+ <span>{{ 'app-info.title' | translate }}</span>
3565
+ </a>
3566
+ </div>
3606
3567
 
3607
- @if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
3608
- <p-tabs
3609
- class="layout-topbar-tabs ml-2"
3610
- [value]="topBarService.activeId"
3611
- (valueChange)="onActiveTabChange($event)">
3612
- <p-tablist>
3613
- @for (tab of topBarService.availableTopBarItems; track tab.id) {
3614
- <p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
3615
- <i class="pi {{ tab.icon }}"></i>
3616
- <span class="ml-2">{{ tab.caption }}</span>
3617
- </p-tab>
3618
- }
3619
- </p-tablist>
3620
- </p-tabs>
3621
- }
3622
- <div class="layout-topbar-actions">
3623
- <div class="layout-config-menu">
3624
- <app-topbar-application-switcher />
3625
- <app-user-notifications />
3626
- <p-button
3627
- class="layout-topbar-action"
3628
- id="oip-app-topbar-theme-button"
3629
- severity="secondary"
3630
- type="button"
3631
- [rounded]="true"
3632
- [text]="true"
3633
- (click)="toggleDarkMode()">
3634
- <i
3635
- class="pi"
3636
- [ngClass]="{
3568
+ @if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
3569
+ <p-tabs
3570
+ class="layout-topbar-tabs ml-2"
3571
+ [value]="topBarService.activeId"
3572
+ (valueChange)="onActiveTabChange($event)">
3573
+ <p-tablist>
3574
+ @for (tab of topBarService.availableTopBarItems; track tab.id) {
3575
+ <p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
3576
+ <i class="pi {{ tab.icon }}"></i>
3577
+ <span class="ml-2">{{ tab.caption }}</span>
3578
+ </p-tab>
3579
+ }
3580
+ </p-tablist>
3581
+ </p-tabs>
3582
+ }
3583
+ <div class="layout-topbar-actions">
3584
+ <div class="layout-config-menu">
3585
+ <app-topbar-application-switcher/>
3586
+ <app-user-notifications/>
3587
+ <p-button
3588
+ class="layout-topbar-action"
3589
+ id="oip-app-topbar-theme-button"
3590
+ severity="secondary"
3591
+ type="button"
3592
+ [rounded]="true"
3593
+ [text]="true"
3594
+ (click)="toggleDarkMode()">
3595
+ <i
3596
+ class="pi"
3597
+ [ngClass]="{
3637
3598
  'pi-moon': layoutService.isDarkTheme(),
3638
3599
  'pi-sun': !layoutService.isDarkTheme()
3639
3600
  }"></i>
3640
- </p-button>
3641
- <div class="relative">
3642
- <p-button
3643
- class="layout-topbar-action layout-topbar-action-highlight"
3644
- enterActiveClass="animate-scalein"
3645
- enterFromClass="hidden"
3646
- id="oip-app-topbar-palette-button"
3647
- leaveActiveClass="animate-fadeout"
3648
- leaveToClass="hidden"
3649
- pStyleClass="@next"
3650
- [hideOnOutsideClick]="true"
3651
- [rounded]="true">
3652
- <i class="pi pi-palette"></i>
3653
3601
  </p-button>
3654
- <app-configurator />
3602
+ <div class="relative">
3603
+ <p-button
3604
+ class="layout-topbar-action layout-topbar-action-highlight"
3605
+ enterActiveClass="animate-scalein"
3606
+ enterFromClass="hidden"
3607
+ id="oip-app-topbar-palette-button"
3608
+ leaveActiveClass="animate-fadeout"
3609
+ leaveToClass="hidden"
3610
+ pStyleClass="@next"
3611
+ [hideOnOutsideClick]="true"
3612
+ [rounded]="true">
3613
+ <i class="pi pi-palette"></i>
3614
+ </p-button>
3615
+ <app-configurator/>
3616
+ </div>
3655
3617
  </div>
3656
- </div>
3657
3618
 
3658
- <button
3659
- class="layout-topbar-menu-button layout-topbar-action"
3660
- enterActiveClass="animate-scalein"
3661
- enterFromClass="hidden"
3662
- id="oip-app-topbar-menu-expand-button"
3663
- leaveActiveClass="animate-fadeout"
3664
- leaveToClass="hidden"
3665
- pStyleClass="@next"
3666
- [hideOnOutsideClick]="true">
3667
- <i class="pi pi-ellipsis-v"></i>
3668
- </button>
3669
-
3670
- <div class="layout-topbar-menu hidden lg:block">
3671
- <div class="layout-topbar-menu-content">
3672
- <button
3673
- class="layout-topbar-action"
3674
- id="oip-app-topbar-logout-button"
3675
- type="button"
3676
- (click)="confirmLogout()"
3677
- (keydown)="logoutKeyDown($event)">
3678
- <i class="pi pi-sign-out"></i>
3679
- <span>{{ 'topbar.logout' | translate }}</span>
3680
- </button>
3681
- <button class="layout-topbar-action" routerLink="config">
3682
- <p-avatar
3683
- class="p-link flex align-items-center"
3684
- id="oip-app-topbar-user-avatar"
3685
- shape="circle"
3686
- size="normal"
3687
- [image]="userService.photoLoaded ? userService.photo : null"
3619
+ <button
3620
+ class="layout-topbar-menu-button layout-topbar-action"
3621
+ enterActiveClass="animate-scalein"
3622
+ enterFromClass="hidden"
3623
+ id="oip-app-topbar-menu-expand-button"
3624
+ leaveActiveClass="animate-fadeout"
3625
+ leaveToClass="hidden"
3626
+ pStyleClass="@next"
3627
+ [hideOnOutsideClick]="true">
3628
+ <i class="pi pi-ellipsis-v"></i>
3629
+ </button>
3630
+
3631
+ <div class="layout-topbar-menu hidden lg:block">
3632
+ <div class="layout-topbar-menu-content">
3633
+ <button
3634
+ class="layout-topbar-action"
3635
+ id="oip-app-topbar-logout-button"
3636
+ type="button"
3637
+ (click)="confirmLogout()"
3638
+ (keydown)="logoutKeyDown($event)">
3639
+ <i class="pi pi-sign-out"></i>
3640
+ <span>{{ 'topbar.logout' | translate }}</span>
3641
+ </button>
3642
+ <button class="layout-topbar-action" routerLink="config">
3643
+ <p-avatar
3644
+ class="p-link flex align-items-center"
3645
+ id="oip-app-topbar-user-avatar"
3646
+ shape="circle"
3647
+ size="normal"
3648
+ [image]="userService.photoLoaded ? userService.photo : null"
3688
3649
  >{{ !userService.photoLoaded ? userService.shortLabel : null }}
3689
- </p-avatar>
3690
- <span class="ml-2">{{ 'topbar.profile' | translate }}</span>
3691
- </button>
3650
+ </p-avatar>
3651
+ <span class="ml-2">{{ 'topbar.profile' | translate }}</span>
3652
+ </button>
3653
+ </div>
3692
3654
  </div>
3693
3655
  </div>
3694
- </div>
3695
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: UserNotificationsComponent, selector: "app-user-notifications" }, { kind: "component", type: AppTopbarApplicationSwitcherComponent, selector: "app-topbar-application-switcher" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3656
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$2.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i3$3.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: UserNotificationsComponent, selector: "app-user-notifications" }, { kind: "component", type: AppTopbarApplicationSwitcherComponent, selector: "app-topbar-application-switcher" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3696
3657
  }
3697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbar, decorators: [{
3658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppTopbar, decorators: [{
3698
3659
  type: Component,
3699
3660
  args: [{
3700
3661
  selector: 'app-topbar',
@@ -3714,108 +3675,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
3714
3675
  TranslatePipe,
3715
3676
  AppTopbarApplicationSwitcherComponent
3716
3677
  ],
3717
- template: ` <div class="layout-topbar">
3718
- <p-confirmDialog appendTo="body" />
3719
- <div class="layout-topbar-logo-container">
3720
- <button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
3721
- <i class="pi pi-bars"></i>
3722
- </button>
3723
- <a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
3724
- <ng-container
3725
- *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
3726
- <span>{{ 'app-info.title' | translate }}</span>
3727
- </a>
3728
- </div>
3678
+ template: `
3679
+ <div class="layout-topbar">
3680
+ <p-confirmDialog appendTo="body"/>
3681
+ <div class="layout-topbar-logo-container">
3682
+ <button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
3683
+ <i class="pi pi-bars"></i>
3684
+ </button>
3685
+ <a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
3686
+ <ng-container
3687
+ *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
3688
+ <span>{{ 'app-info.title' | translate }}</span>
3689
+ </a>
3690
+ </div>
3729
3691
 
3730
- @if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
3731
- <p-tabs
3732
- class="layout-topbar-tabs ml-2"
3733
- [value]="topBarService.activeId"
3734
- (valueChange)="onActiveTabChange($event)">
3735
- <p-tablist>
3736
- @for (tab of topBarService.availableTopBarItems; track tab.id) {
3737
- <p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
3738
- <i class="pi {{ tab.icon }}"></i>
3739
- <span class="ml-2">{{ tab.caption }}</span>
3740
- </p-tab>
3741
- }
3742
- </p-tablist>
3743
- </p-tabs>
3744
- }
3745
- <div class="layout-topbar-actions">
3746
- <div class="layout-config-menu">
3747
- <app-topbar-application-switcher />
3748
- <app-user-notifications />
3749
- <p-button
3750
- class="layout-topbar-action"
3751
- id="oip-app-topbar-theme-button"
3752
- severity="secondary"
3753
- type="button"
3754
- [rounded]="true"
3755
- [text]="true"
3756
- (click)="toggleDarkMode()">
3757
- <i
3758
- class="pi"
3759
- [ngClass]="{
3692
+ @if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
3693
+ <p-tabs
3694
+ class="layout-topbar-tabs ml-2"
3695
+ [value]="topBarService.activeId"
3696
+ (valueChange)="onActiveTabChange($event)">
3697
+ <p-tablist>
3698
+ @for (tab of topBarService.availableTopBarItems; track tab.id) {
3699
+ <p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
3700
+ <i class="pi {{ tab.icon }}"></i>
3701
+ <span class="ml-2">{{ tab.caption }}</span>
3702
+ </p-tab>
3703
+ }
3704
+ </p-tablist>
3705
+ </p-tabs>
3706
+ }
3707
+ <div class="layout-topbar-actions">
3708
+ <div class="layout-config-menu">
3709
+ <app-topbar-application-switcher/>
3710
+ <app-user-notifications/>
3711
+ <p-button
3712
+ class="layout-topbar-action"
3713
+ id="oip-app-topbar-theme-button"
3714
+ severity="secondary"
3715
+ type="button"
3716
+ [rounded]="true"
3717
+ [text]="true"
3718
+ (click)="toggleDarkMode()">
3719
+ <i
3720
+ class="pi"
3721
+ [ngClass]="{
3760
3722
  'pi-moon': layoutService.isDarkTheme(),
3761
3723
  'pi-sun': !layoutService.isDarkTheme()
3762
3724
  }"></i>
3763
- </p-button>
3764
- <div class="relative">
3765
- <p-button
3766
- class="layout-topbar-action layout-topbar-action-highlight"
3767
- enterActiveClass="animate-scalein"
3768
- enterFromClass="hidden"
3769
- id="oip-app-topbar-palette-button"
3770
- leaveActiveClass="animate-fadeout"
3771
- leaveToClass="hidden"
3772
- pStyleClass="@next"
3773
- [hideOnOutsideClick]="true"
3774
- [rounded]="true">
3775
- <i class="pi pi-palette"></i>
3776
3725
  </p-button>
3777
- <app-configurator />
3726
+ <div class="relative">
3727
+ <p-button
3728
+ class="layout-topbar-action layout-topbar-action-highlight"
3729
+ enterActiveClass="animate-scalein"
3730
+ enterFromClass="hidden"
3731
+ id="oip-app-topbar-palette-button"
3732
+ leaveActiveClass="animate-fadeout"
3733
+ leaveToClass="hidden"
3734
+ pStyleClass="@next"
3735
+ [hideOnOutsideClick]="true"
3736
+ [rounded]="true">
3737
+ <i class="pi pi-palette"></i>
3738
+ </p-button>
3739
+ <app-configurator/>
3740
+ </div>
3778
3741
  </div>
3779
- </div>
3780
3742
 
3781
- <button
3782
- class="layout-topbar-menu-button layout-topbar-action"
3783
- enterActiveClass="animate-scalein"
3784
- enterFromClass="hidden"
3785
- id="oip-app-topbar-menu-expand-button"
3786
- leaveActiveClass="animate-fadeout"
3787
- leaveToClass="hidden"
3788
- pStyleClass="@next"
3789
- [hideOnOutsideClick]="true">
3790
- <i class="pi pi-ellipsis-v"></i>
3791
- </button>
3792
-
3793
- <div class="layout-topbar-menu hidden lg:block">
3794
- <div class="layout-topbar-menu-content">
3795
- <button
3796
- class="layout-topbar-action"
3797
- id="oip-app-topbar-logout-button"
3798
- type="button"
3799
- (click)="confirmLogout()"
3800
- (keydown)="logoutKeyDown($event)">
3801
- <i class="pi pi-sign-out"></i>
3802
- <span>{{ 'topbar.logout' | translate }}</span>
3803
- </button>
3804
- <button class="layout-topbar-action" routerLink="config">
3805
- <p-avatar
3806
- class="p-link flex align-items-center"
3807
- id="oip-app-topbar-user-avatar"
3808
- shape="circle"
3809
- size="normal"
3810
- [image]="userService.photoLoaded ? userService.photo : null"
3743
+ <button
3744
+ class="layout-topbar-menu-button layout-topbar-action"
3745
+ enterActiveClass="animate-scalein"
3746
+ enterFromClass="hidden"
3747
+ id="oip-app-topbar-menu-expand-button"
3748
+ leaveActiveClass="animate-fadeout"
3749
+ leaveToClass="hidden"
3750
+ pStyleClass="@next"
3751
+ [hideOnOutsideClick]="true">
3752
+ <i class="pi pi-ellipsis-v"></i>
3753
+ </button>
3754
+
3755
+ <div class="layout-topbar-menu hidden lg:block">
3756
+ <div class="layout-topbar-menu-content">
3757
+ <button
3758
+ class="layout-topbar-action"
3759
+ id="oip-app-topbar-logout-button"
3760
+ type="button"
3761
+ (click)="confirmLogout()"
3762
+ (keydown)="logoutKeyDown($event)">
3763
+ <i class="pi pi-sign-out"></i>
3764
+ <span>{{ 'topbar.logout' | translate }}</span>
3765
+ </button>
3766
+ <button class="layout-topbar-action" routerLink="config">
3767
+ <p-avatar
3768
+ class="p-link flex align-items-center"
3769
+ id="oip-app-topbar-user-avatar"
3770
+ shape="circle"
3771
+ size="normal"
3772
+ [image]="userService.photoLoaded ? userService.photo : null"
3811
3773
  >{{ !userService.photoLoaded ? userService.shortLabel : null }}
3812
- </p-avatar>
3813
- <span class="ml-2">{{ 'topbar.profile' | translate }}</span>
3814
- </button>
3774
+ </p-avatar>
3775
+ <span class="ml-2">{{ 'topbar.profile' | translate }}</span>
3776
+ </button>
3777
+ </div>
3815
3778
  </div>
3816
3779
  </div>
3817
- </div>
3818
- </div>`,
3780
+ </div>`,
3819
3781
  providers: [ConfirmationService]
3820
3782
  }]
3821
3783
  }] });
@@ -3824,35 +3786,35 @@ class FooterComponent {
3824
3786
  constructor() {
3825
3787
  this.logoService = inject(LogoService);
3826
3788
  }
3827
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3828
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: `
3829
- <div class="layout-footer">
3830
- <div class="flex justify-center flex-1">
3831
- <div class="mr-2 -my-0.5">
3832
- <ng-container
3833
- *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
3834
- </div>
3835
- <span class="font-medium">{{ 'app-info.footer' | translate }}</span>
3836
- </div>
3837
- <p class="mr-auto">{{ 'app-info.version' | translate }}</p>
3838
- </div>
3789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3790
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: `
3791
+ <div class="layout-footer">
3792
+ <div class="flex justify-center flex-1">
3793
+ <div class="mr-2 -my-0.5">
3794
+ <ng-container
3795
+ *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
3796
+ </div>
3797
+ <span class="font-medium">{{ 'app-info.footer' | translate }}</span>
3798
+ </div>
3799
+ <p class="mr-auto">{{ 'app-info.version' | translate }}</p>
3800
+ </div>
3839
3801
  `, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
3840
3802
  }
3841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FooterComponent, decorators: [{
3803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FooterComponent, decorators: [{
3842
3804
  type: Component,
3843
3805
  args: [{
3844
3806
  selector: 'app-footer',
3845
- template: `
3846
- <div class="layout-footer">
3847
- <div class="flex justify-center flex-1">
3848
- <div class="mr-2 -my-0.5">
3849
- <ng-container
3850
- *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
3851
- </div>
3852
- <span class="font-medium">{{ 'app-info.footer' | translate }}</span>
3853
- </div>
3854
- <p class="mr-auto">{{ 'app-info.version' | translate }}</p>
3855
- </div>
3807
+ template: `
3808
+ <div class="layout-footer">
3809
+ <div class="flex justify-center flex-1">
3810
+ <div class="mr-2 -my-0.5">
3811
+ <ng-container
3812
+ *ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
3813
+ </div>
3814
+ <span class="font-medium">{{ 'app-info.footer' | translate }}</span>
3815
+ </div>
3816
+ <p class="mr-auto">{{ 'app-info.version' | translate }}</p>
3817
+ </div>
3856
3818
  `,
3857
3819
  standalone: true,
3858
3820
  imports: [TranslatePipe, NgComponentOutlet]
@@ -3925,10 +3887,10 @@ class MenuApi extends HttpClient {
3925
3887
  ...params,
3926
3888
  });
3927
3889
  }
3928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3929
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi }); }
3890
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3891
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuApi }); }
3930
3892
  }
3931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi, decorators: [{
3893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuApi, decorators: [{
3932
3894
  type: Injectable
3933
3895
  }] });
3934
3896
 
@@ -3984,10 +3946,10 @@ class MenuService {
3984
3946
  editModuleInstance(item) {
3985
3947
  return this.menuDataService.editModuleInstance(item);
3986
3948
  }
3987
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3988
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService }); }
3949
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3950
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuService }); }
3989
3951
  }
3990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService, decorators: [{
3952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuService, decorators: [{
3991
3953
  type: Injectable
3992
3954
  }] });
3993
3955
 
@@ -4224,8 +4186,8 @@ class MenuItemComponent {
4224
4186
  const currentIndex = items.findIndex((item) => item.moduleInstanceId == currentItem.moduleInstanceId);
4225
4187
  return this.findNextVisibleIndex(items, currentIndex) !== -1;
4226
4188
  }
4227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$5.Router }, { token: MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
4228
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey", menuItemCreateDialogComponent: "menuItemCreateDialogComponent", menuItemEditDialogComponent: "menuItemEditDialogComponent", contextMenu: "contextMenu" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, providers: [ConfirmationService], ngImport: i0, template: `
4189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.Router }, { token: MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
4190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey", menuItemCreateDialogComponent: "menuItemCreateDialogComponent", menuItemEditDialogComponent: "menuItemEditDialogComponent", contextMenu: "contextMenu" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, providers: [ConfirmationService], ngImport: i0, template: `
4229
4191
  <ng-container>
4230
4192
  <p-confirm-dialog />
4231
4193
  @if (root && item.visible !== false) {
@@ -4298,9 +4260,9 @@ class MenuItemComponent {
4298
4260
  </ul>
4299
4261
  }
4300
4262
  </ng-container>
4301
- `, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$2.Ripple, selector: "[pRipple]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }] }); }
4263
+ `, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$4.Ripple, selector: "[pRipple]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }] }); }
4302
4264
  }
4303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemComponent, decorators: [{
4265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemComponent, decorators: [{
4304
4266
  type: Component,
4305
4267
  args: [{
4306
4268
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -4382,7 +4344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
4382
4344
  imports: [RippleModule, NgClass, RouterLinkActive, RouterLink, ContextMenuModule, ConfirmDialog],
4383
4345
  providers: [ConfirmationService]
4384
4346
  }]
4385
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$5.Router }, { type: MenuService }], propDecorators: { item: [{
4347
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$2.Router }, { type: MenuService }], propDecorators: { item: [{
4386
4348
  type: Input
4387
4349
  }], index: [{
4388
4350
  type: Input
@@ -4465,8 +4427,8 @@ class MenuItemCreateDialogComponent {
4465
4427
  this.visible = true;
4466
4428
  this.visibleChange.emit(this.visible);
4467
4429
  }
4468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemCreateDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuItemCreateDialogComponent, isStandalone: true, selector: "menu-item-create-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
4430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemCreateDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MenuItemCreateDialogComponent, isStandalone: true, selector: "menu-item-create-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
4470
4432
  <p-dialog
4471
4433
  header="{{ 'menuItemCreateDialogComponent.header' | translate }}"
4472
4434
  [modal]="true"
@@ -4555,9 +4517,9 @@ class MenuItemCreateDialogComponent {
4555
4517
  (click)="save()" />
4556
4518
  </div>
4557
4519
  </p-dialog>
4558
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$4.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4520
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$4.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4559
4521
  }
4560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemCreateDialogComponent, decorators: [{
4522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemCreateDialogComponent, decorators: [{
4561
4523
  type: Component,
4562
4524
  args: [{
4563
4525
  selector: 'menu-item-create-dialog',
@@ -4722,8 +4684,8 @@ class MenuItemEditDialogComponent {
4722
4684
  this.visible = true;
4723
4685
  this.visibleChange.emit(this.visible);
4724
4686
  }
4725
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4726
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: MenuItemEditDialogComponent, isStandalone: true, selector: "menu-item-edit-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
4687
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4688
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MenuItemEditDialogComponent, isStandalone: true, selector: "menu-item-edit-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
4727
4689
  <p-dialog
4728
4690
  header="{{ 'menuItemEditDialogComponent.header' | translate }}"
4729
4691
  [modal]="true"
@@ -4801,9 +4763,9 @@ class MenuItemEditDialogComponent {
4801
4763
  (click)="save()" />
4802
4764
  </div>
4803
4765
  </p-dialog>
4804
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$4.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4766
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$4.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4805
4767
  }
4806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemEditDialogComponent, decorators: [{
4768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuItemEditDialogComponent, decorators: [{
4807
4769
  type: Component,
4808
4770
  args: [{
4809
4771
  imports: [ButtonModule, DialogModule, InputTextModule, SelectModule, FormsModule, TranslatePipe, MultiSelectModule],
@@ -4920,8 +4882,8 @@ class MenuComponent {
4920
4882
  }
4921
4883
  ];
4922
4884
  }
4923
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4924
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuComponent, isStandalone: true, selector: "app-menu", providers: [MenuApi], viewQueries: [{ propertyName: "menuItemCreateDialogComponent", first: true, predicate: MenuItemCreateDialogComponent, descendants: true }, { propertyName: "menuItemEditDialogComponent", first: true, predicate: MenuItemEditDialogComponent, descendants: true }, { propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], ngImport: i0, template: ` <div #empty class="layout-sidebar" (contextmenu)="onContextMenu($event)">
4885
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4886
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MenuComponent, isStandalone: true, selector: "app-menu", providers: [MenuApi], viewQueries: [{ propertyName: "menuItemCreateDialogComponent", first: true, predicate: MenuItemCreateDialogComponent, descendants: true }, { propertyName: "menuItemEditDialogComponent", first: true, predicate: MenuItemEditDialogComponent, descendants: true }, { propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], ngImport: i0, template: ` <div #empty class="layout-sidebar" (contextmenu)="onContextMenu($event)">
4925
4887
  <ul class="layout-menu">
4926
4888
  @for (item of menuService.menu; track item; let i = $index) {
4927
4889
  <ng-container>
@@ -4945,9 +4907,9 @@ class MenuComponent {
4945
4907
  <p-contextMenu [target]="empty" />
4946
4908
  <menu-item-create-dialog />
4947
4909
  <menu-item-edit-dialog />
4948
- }`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i1$6.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: MenuItemCreateDialogComponent, selector: "menu-item-create-dialog", inputs: ["visible"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MenuItemEditDialogComponent, selector: "menu-item-edit-dialog", inputs: ["visible"], outputs: ["visibleChange"] }] }); }
4910
+ }`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i1$3.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: MenuItemCreateDialogComponent, selector: "menu-item-create-dialog", inputs: ["visible"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MenuItemEditDialogComponent, selector: "menu-item-edit-dialog", inputs: ["visible"], outputs: ["visibleChange"] }] }); }
4949
4911
  }
4950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuComponent, decorators: [{
4912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MenuComponent, decorators: [{
4951
4913
  type: Component,
4952
4914
  args: [{
4953
4915
  imports: [
@@ -5002,10 +4964,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5002
4964
 
5003
4965
  class SidebarComponent {
5004
4966
  constructor() { }
5005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5006
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: SidebarComponent, isStandalone: true, selector: "app-sidebar", ngImport: i0, template: ` <app-menu></app-menu>`, isInline: true, dependencies: [{ kind: "component", type: MenuComponent, selector: "app-menu" }] }); }
4967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4968
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SidebarComponent, isStandalone: true, selector: "app-sidebar", ngImport: i0, template: ` <app-menu></app-menu>`, isInline: true, dependencies: [{ kind: "component", type: MenuComponent, selector: "app-menu" }] }); }
5007
4969
  }
5008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SidebarComponent, decorators: [{
4970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidebarComponent, decorators: [{
5009
4971
  type: Component,
5010
4972
  args: [{
5011
4973
  selector: 'app-sidebar',
@@ -5092,39 +5054,39 @@ class AppLayoutComponent {
5092
5054
  this.menuOutsideClickListener();
5093
5055
  }
5094
5056
  }
5095
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5096
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", providers: [MenuService, MenuApi], viewQueries: [{ propertyName: "appSidebar", first: true, predicate: SidebarComponent, descendants: true }, { propertyName: "appTopBar", first: true, predicate: AppTopbar, descendants: true }], ngImport: i0, template: `
5097
- <div class="layout-wrapper" [ngClass]="containerClass">
5098
- <app-topbar></app-topbar>
5099
- <app-sidebar></app-sidebar>
5100
- <div class="layout-main-container">
5101
- <div class="layout-main">
5102
- <router-outlet></router-outlet>
5103
- </div>
5104
- <app-footer></app-footer>
5105
- </div>
5106
- <div class="layout-mask animate-fadein"></div>
5107
- </div>
5108
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AppTopbar, selector: "app-topbar" }, { kind: "component", type: SidebarComponent, selector: "app-sidebar" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }] }); }
5057
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5058
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", providers: [MenuService, MenuApi], viewQueries: [{ propertyName: "appSidebar", first: true, predicate: SidebarComponent, descendants: true }, { propertyName: "appTopBar", first: true, predicate: AppTopbar, descendants: true }], ngImport: i0, template: `
5059
+ <div class="layout-wrapper" [ngClass]="containerClass">
5060
+ <app-topbar></app-topbar>
5061
+ <app-sidebar></app-sidebar>
5062
+ <div class="layout-main-container">
5063
+ <div class="layout-main">
5064
+ <router-outlet></router-outlet>
5065
+ </div>
5066
+ <app-footer></app-footer>
5067
+ </div>
5068
+ <div class="layout-mask animate-fadein"></div>
5069
+ </div>
5070
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AppTopbar, selector: "app-topbar" }, { kind: "component", type: SidebarComponent, selector: "app-sidebar" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }] }); }
5109
5071
  }
5110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppLayoutComponent, decorators: [{
5072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppLayoutComponent, decorators: [{
5111
5073
  type: Component,
5112
5074
  args: [{
5113
5075
  selector: 'app-layout',
5114
5076
  standalone: true,
5115
5077
  imports: [CommonModule, AppTopbar, SidebarComponent, RouterModule, FooterComponent],
5116
- template: `
5117
- <div class="layout-wrapper" [ngClass]="containerClass">
5118
- <app-topbar></app-topbar>
5119
- <app-sidebar></app-sidebar>
5120
- <div class="layout-main-container">
5121
- <div class="layout-main">
5122
- <router-outlet></router-outlet>
5123
- </div>
5124
- <app-footer></app-footer>
5125
- </div>
5126
- <div class="layout-mask animate-fadein"></div>
5127
- </div>
5078
+ template: `
5079
+ <div class="layout-wrapper" [ngClass]="containerClass">
5080
+ <app-topbar></app-topbar>
5081
+ <app-sidebar></app-sidebar>
5082
+ <div class="layout-main-container">
5083
+ <div class="layout-main">
5084
+ <router-outlet></router-outlet>
5085
+ </div>
5086
+ <app-footer></app-footer>
5087
+ </div>
5088
+ <div class="layout-mask animate-fadein"></div>
5089
+ </div>
5128
5090
  `,
5129
5091
  providers: [MenuService, MenuApi]
5130
5092
  }]
@@ -5147,8 +5109,8 @@ class AppFloatingConfiguratorComponent {
5147
5109
  darkTheme: !state.darkTheme
5148
5110
  }));
5149
5111
  }
5150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppFloatingConfiguratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppFloatingConfiguratorComponent, isStandalone: true, selector: "app-floating-configurator", ngImport: i0, template: `
5112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppFloatingConfiguratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AppFloatingConfiguratorComponent, isStandalone: true, selector: "app-floating-configurator", ngImport: i0, template: `
5152
5114
  <div class="fixed flex gap-4 top-8 right-8">
5153
5115
  <p-button
5154
5116
  id="oip-app-floating-configurator-dark-theme-button"
@@ -5172,9 +5134,9 @@ class AppFloatingConfiguratorComponent {
5172
5134
  <app-configurator />
5173
5135
  </div>
5174
5136
  </div>
5175
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }] }); }
5137
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$2.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }] }); }
5176
5138
  }
5177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppFloatingConfiguratorComponent, decorators: [{
5139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppFloatingConfiguratorComponent, decorators: [{
5178
5140
  type: Component,
5179
5141
  args: [{
5180
5142
  selector: 'app-floating-configurator',
@@ -5213,7 +5175,7 @@ var notfound$1 = {
5213
5175
  description: "Requested resource is not available.",
5214
5176
  button: "Go to home"
5215
5177
  };
5216
- var en$5 = {
5178
+ var en$7 = {
5217
5179
  notfound: notfound$1
5218
5180
  };
5219
5181
 
@@ -5223,17 +5185,17 @@ var notfound = {
5223
5185
  description: "Запрашиваемый ресурс недоступен.",
5224
5186
  button: "На главную"
5225
5187
  };
5226
- var ru$5 = {
5188
+ var ru$7 = {
5227
5189
  notfound: notfound
5228
5190
  };
5229
5191
 
5230
- L10nService.registerTranslations({ en: en$5, ru: ru$5 });
5192
+ L10nService.registerTranslations({ en: en$7, ru: ru$7 });
5231
5193
  class NotfoundComponent {
5232
5194
  constructor(l10nService) {
5233
5195
  l10nService.get('notfound');
5234
5196
  }
5235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotfoundComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
5236
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: NotfoundComponent, isStandalone: true, selector: "app-notfound", ngImport: i0, template: ` <app-floating-configurator />
5197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotfoundComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
5198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: NotfoundComponent, isStandalone: true, selector: "app-notfound", ngImport: i0, template: ` <app-floating-configurator />
5237
5199
  <div class="flex items-center justify-center min-h-screen overflow-hidden">
5238
5200
  <div class="flex flex-col items-center justify-center">
5239
5201
  <div
@@ -5253,9 +5215,9 @@ class NotfoundComponent {
5253
5215
  </div>
5254
5216
  </div>
5255
5217
  </div>
5256
- </div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$4.TranslatePipe, name: "translate" }] }); }
5218
+ </div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$5.TranslatePipe, name: "translate" }] }); }
5257
5219
  }
5258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotfoundComponent, decorators: [{
5220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NotfoundComponent, decorators: [{
5259
5221
  type: Component,
5260
5222
  args: [{
5261
5223
  selector: 'app-notfound',
@@ -5302,68 +5264,68 @@ class UnauthorizedComponent {
5302
5264
  const returnUrl = this.route.snapshot.queryParamMap.get('returnUrl') || '/';
5303
5265
  this.securityService.authorize(returnUrl);
5304
5266
  }
5305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: UnauthorizedComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
5307
- <app-floating-configurator />
5308
- <div
5309
- class="bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden">
5310
- <div class="flex flex-col items-center justify-center">
5311
- <div
5312
- style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)">
5313
- <div class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20" style="border-radius: 53px">
5314
- <div class="flex flex-col items-center justify-center">
5315
- <logo [height]="96" [width]="96" />
5316
- </div>
5317
- <div class="text-center mb-8">
5318
- <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
5319
- {{ 'unauthorized.welcomeToOip' | translate }}
5320
- </div>
5321
- <span class="text-muted-color font-medium">{{ 'unauthorized.signInToContinue' | translate }}</span>
5322
- </div>
5323
- <div>
5324
- <p-button
5325
- id="oip-unauthorized-error-sign-in-button"
5326
- label="{{ 'unauthorized.signIn' | translate }}"
5327
- styleClass="w-full"
5328
- (click)="signIn()"></p-button>
5329
- </div>
5330
- </div>
5331
- </div>
5332
- </div>
5333
- </div>
5334
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: UnauthorizedComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
5269
+ <app-floating-configurator />
5270
+ <div
5271
+ class="bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden">
5272
+ <div class="flex flex-col items-center justify-center">
5273
+ <div
5274
+ style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)">
5275
+ <div class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20" style="border-radius: 53px">
5276
+ <div class="flex flex-col items-center justify-center">
5277
+ <logo [height]="96" [width]="96" />
5278
+ </div>
5279
+ <div class="text-center mb-8">
5280
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
5281
+ {{ 'unauthorized.welcomeToOip' | translate }}
5282
+ </div>
5283
+ <span class="text-muted-color font-medium">{{ 'unauthorized.signInToContinue' | translate }}</span>
5284
+ </div>
5285
+ <div>
5286
+ <p-button
5287
+ id="oip-unauthorized-error-sign-in-button"
5288
+ label="{{ 'unauthorized.signIn' | translate }}"
5289
+ styleClass="w-full"
5290
+ (click)="signIn()"></p-button>
5291
+ </div>
5292
+ </div>
5293
+ </div>
5294
+ </div>
5295
+ </div>
5296
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5335
5297
  }
5336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UnauthorizedComponent, decorators: [{
5298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UnauthorizedComponent, decorators: [{
5337
5299
  type: Component,
5338
5300
  args: [{
5339
- template: `
5340
- <app-floating-configurator />
5341
- <div
5342
- class="bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden">
5343
- <div class="flex flex-col items-center justify-center">
5344
- <div
5345
- style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)">
5346
- <div class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20" style="border-radius: 53px">
5347
- <div class="flex flex-col items-center justify-center">
5348
- <logo [height]="96" [width]="96" />
5349
- </div>
5350
- <div class="text-center mb-8">
5351
- <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
5352
- {{ 'unauthorized.welcomeToOip' | translate }}
5353
- </div>
5354
- <span class="text-muted-color font-medium">{{ 'unauthorized.signInToContinue' | translate }}</span>
5355
- </div>
5356
- <div>
5357
- <p-button
5358
- id="oip-unauthorized-error-sign-in-button"
5359
- label="{{ 'unauthorized.signIn' | translate }}"
5360
- styleClass="w-full"
5361
- (click)="signIn()"></p-button>
5362
- </div>
5363
- </div>
5364
- </div>
5365
- </div>
5366
- </div>
5301
+ template: `
5302
+ <app-floating-configurator />
5303
+ <div
5304
+ class="bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden">
5305
+ <div class="flex flex-col items-center justify-center">
5306
+ <div
5307
+ style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)">
5308
+ <div class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20" style="border-radius: 53px">
5309
+ <div class="flex flex-col items-center justify-center">
5310
+ <logo [height]="96" [width]="96" />
5311
+ </div>
5312
+ <div class="text-center mb-8">
5313
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
5314
+ {{ 'unauthorized.welcomeToOip' | translate }}
5315
+ </div>
5316
+ <span class="text-muted-color font-medium">{{ 'unauthorized.signInToContinue' | translate }}</span>
5317
+ </div>
5318
+ <div>
5319
+ <p-button
5320
+ id="oip-unauthorized-error-sign-in-button"
5321
+ label="{{ 'unauthorized.signIn' | translate }}"
5322
+ styleClass="w-full"
5323
+ (click)="signIn()"></p-button>
5324
+ </div>
5325
+ </div>
5326
+ </div>
5327
+ </div>
5328
+ </div>
5367
5329
  `,
5368
5330
  imports: [
5369
5331
  ButtonModule,
@@ -5377,8 +5339,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5377
5339
  }] });
5378
5340
 
5379
5341
  class AccessComponent {
5380
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AccessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5381
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AccessComponent, isStandalone: true, selector: "app-access", ngImport: i0, template: `<div
5342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5343
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AccessComponent, isStandalone: true, selector: "app-access", ngImport: i0, template: `<div
5382
5344
  class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5383
5345
  <div class="flex flex-column align-items-center justify-content-center">
5384
5346
  <img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/access/logo-orange.svg" />
@@ -5408,9 +5370,9 @@ class AccessComponent {
5408
5370
  </div>
5409
5371
  </div>
5410
5372
  </div>
5411
- </div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$2.Ripple, selector: "[pRipple]" }] }); }
5373
+ </div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$4.Ripple, selector: "[pRipple]" }] }); }
5412
5374
  }
5413
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AccessComponent, decorators: [{
5375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccessComponent, decorators: [{
5414
5376
  type: Component,
5415
5377
  args: [{
5416
5378
  selector: 'app-access',
@@ -5451,85 +5413,120 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5451
5413
  }] });
5452
5414
 
5453
5415
  class ErrorComponent {
5454
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5455
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: ErrorComponent, isStandalone: true, selector: "app-error", ngImport: i0, template: `<div
5456
- class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5457
- <div class="flex flex-column align-items-center justify-content-center">
5458
- <img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
5459
- <div
5460
- style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
5461
- <div
5462
- class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
5463
- style="border-radius:53px">
5464
- <div class="grid flex flex-column align-items-center">
5465
- <div
5466
- class="flex justify-content-center align-items-center bg-pink-500 border-circle"
5467
- style="height:3.2rem; width:3.2rem;">
5468
- <i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
5469
- </div>
5470
- <h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
5471
- <span class="text-600 mb-5">Requested resource is not available.</span>
5472
- <img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
5473
- <button
5474
- class="p-button-text"
5475
- icon="pi pi-arrow-left"
5476
- id="oip-app-error-go-to-dashboard-button"
5477
- label="Go to Dashboard"
5478
- pButton
5479
- pRipple
5480
- [routerLink]="['/']"></button>
5481
- </div>
5482
- </div>
5483
- </div>
5484
- </div>
5485
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$2.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
5416
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5417
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ErrorComponent, isStandalone: true, selector: "app-error", ngImport: i0, template: `<div
5418
+ class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5419
+ <div class="flex flex-column align-items-center justify-content-center">
5420
+ <img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
5421
+ <div
5422
+ style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
5423
+ <div
5424
+ class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
5425
+ style="border-radius:53px">
5426
+ <div class="grid flex flex-column align-items-center">
5427
+ <div
5428
+ class="flex justify-content-center align-items-center bg-pink-500 border-circle"
5429
+ style="height:3.2rem; width:3.2rem;">
5430
+ <i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
5431
+ </div>
5432
+ <h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
5433
+ <span class="text-600 mb-5">Requested resource is not available.</span>
5434
+ <img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
5435
+ <button
5436
+ class="p-button-text"
5437
+ icon="pi pi-arrow-left"
5438
+ id="oip-app-error-go-to-dashboard-button"
5439
+ label="Go to Dashboard"
5440
+ pButton
5441
+ pRipple
5442
+ [routerLink]="['/']"></button>
5443
+ </div>
5444
+ </div>
5445
+ </div>
5446
+ </div>
5447
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2$4.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
5486
5448
  }
5487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ErrorComponent, decorators: [{
5449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorComponent, decorators: [{
5488
5450
  type: Component,
5489
5451
  args: [{
5490
5452
  selector: 'app-error',
5491
- template: `<div
5492
- class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5493
- <div class="flex flex-column align-items-center justify-content-center">
5494
- <img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
5495
- <div
5496
- style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
5497
- <div
5498
- class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
5499
- style="border-radius:53px">
5500
- <div class="grid flex flex-column align-items-center">
5501
- <div
5502
- class="flex justify-content-center align-items-center bg-pink-500 border-circle"
5503
- style="height:3.2rem; width:3.2rem;">
5504
- <i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
5505
- </div>
5506
- <h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
5507
- <span class="text-600 mb-5">Requested resource is not available.</span>
5508
- <img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
5509
- <button
5510
- class="p-button-text"
5511
- icon="pi pi-arrow-left"
5512
- id="oip-app-error-go-to-dashboard-button"
5513
- label="Go to Dashboard"
5514
- pButton
5515
- pRipple
5516
- [routerLink]="['/']"></button>
5517
- </div>
5518
- </div>
5519
- </div>
5520
- </div>
5453
+ template: `<div
5454
+ class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5455
+ <div class="flex flex-column align-items-center justify-content-center">
5456
+ <img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
5457
+ <div
5458
+ style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
5459
+ <div
5460
+ class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
5461
+ style="border-radius:53px">
5462
+ <div class="grid flex flex-column align-items-center">
5463
+ <div
5464
+ class="flex justify-content-center align-items-center bg-pink-500 border-circle"
5465
+ style="height:3.2rem; width:3.2rem;">
5466
+ <i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
5467
+ </div>
5468
+ <h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
5469
+ <span class="text-600 mb-5">Requested resource is not available.</span>
5470
+ <img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
5471
+ <button
5472
+ class="p-button-text"
5473
+ icon="pi pi-arrow-left"
5474
+ id="oip-app-error-go-to-dashboard-button"
5475
+ label="Go to Dashboard"
5476
+ pButton
5477
+ pRipple
5478
+ [routerLink]="['/']"></button>
5479
+ </div>
5480
+ </div>
5481
+ </div>
5482
+ </div>
5521
5483
  </div>`,
5522
5484
  standalone: true,
5523
5485
  imports: [ButtonModule, RippleModule, RouterLink]
5524
5486
  }]
5525
5487
  }] });
5526
5488
 
5527
- class ProfileComponent {
5528
- constructor() {
5489
+ var profileComponent$1 = {
5490
+ changePhoto: "Upload Photo",
5491
+ successfullyUploaded: "Uploaded successfully",
5492
+ failedToLoadPhoto: "Failed to load user photo",
5493
+ deletePhoto: "Delete Photo",
5494
+ deletePhotoConfirmHeader: "Delete Photo",
5495
+ deletePhotoConfirmMessage: "Are you sure you want to delete your photo?",
5496
+ deletePhotoConfirmRejectButtonPropsLabel: "Cancel",
5497
+ deletePhotoConfirmAcceptButtonPropsLabel: "Delete",
5498
+ photoDeleted: "Photo deleted",
5499
+ failedToDeletePhoto: "Failed to delete user photo"
5500
+ };
5501
+ var en$6 = {
5502
+ profileComponent: profileComponent$1
5503
+ };
5504
+
5505
+ var profileComponent = {
5506
+ changePhoto: "Загрузить фото",
5507
+ successfullyUploaded: "Загружено",
5508
+ failedToLoadPhoto: "Не удалось загрузить фото пользователя",
5509
+ deletePhoto: "Удалить фото",
5510
+ deletePhotoConfirmHeader: "Удаление фото",
5511
+ deletePhotoConfirmMessage: "Вы уверены, что хотите удалить своё фото?",
5512
+ deletePhotoConfirmRejectButtonPropsLabel: "Отмена",
5513
+ deletePhotoConfirmAcceptButtonPropsLabel: "Удалить",
5514
+ photoDeleted: "Фото удалено",
5515
+ failedToDeletePhoto: "Не удалось удалить фото пользователя"
5516
+ };
5517
+ var ru$6 = {
5518
+ profileComponent: profileComponent
5519
+ };
5520
+
5521
+ L10nService.registerTranslations({ en: en$6, ru: ru$6 });
5522
+ class UserProfileComponent {
5523
+ constructor(l10nService) {
5529
5524
  this.userService = inject(UserService);
5530
5525
  this.msgService = inject(MsgService);
5531
5526
  this.translateService = inject(TranslateService);
5532
5527
  this.userProfileApi = inject(UserProfileApi);
5528
+ this.confirmationService = inject(ConfirmationService);
5529
+ l10nService.get('profileComponent');
5533
5530
  }
5534
5531
  async uploadPhoto(event) {
5535
5532
  const file = event.files?.[0];
@@ -5545,15 +5542,46 @@ class ProfileComponent {
5545
5542
  this.msgService.error(error);
5546
5543
  }
5547
5544
  }
5548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: ProfileComponent, isStandalone: true, selector: "user-profile", ngImport: i0, template: `
5545
+ confirmDeletePhoto(event) {
5546
+ this.confirmationService.confirm({
5547
+ target: event.target,
5548
+ header: this.translateService.instant('profileComponent.deletePhotoConfirmHeader'),
5549
+ message: this.translateService.instant('profileComponent.deletePhotoConfirmMessage'),
5550
+ icon: 'pi pi-trash',
5551
+ rejectButtonProps: {
5552
+ label: this.translateService.instant('profileComponent.deletePhotoConfirmRejectButtonPropsLabel'),
5553
+ severity: 'secondary',
5554
+ outlined: true
5555
+ },
5556
+ acceptButtonProps: {
5557
+ label: this.translateService.instant('profileComponent.deletePhotoConfirmAcceptButtonPropsLabel'),
5558
+ severity: 'danger'
5559
+ },
5560
+ accept: async () => {
5561
+ await this.deletePhoto();
5562
+ }
5563
+ });
5564
+ }
5565
+ async deletePhoto() {
5566
+ try {
5567
+ await this.userProfileApi.deleteUserPhoto();
5568
+ this.userService.refreshUserPhoto();
5569
+ this.msgService.success(this.translateService.instant('profileComponent.photoDeleted'));
5570
+ }
5571
+ catch (error) {
5572
+ this.msgService.errorFromException(error, this.translateService.instant('profileComponent.failedToDeletePhoto'));
5573
+ }
5574
+ }
5575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserProfileComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
5576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: UserProfileComponent, isStandalone: true, selector: "user-profile", providers: [ConfirmationService], ngImport: i0, template: `
5577
+ <p-confirmDialog></p-confirmDialog>
5550
5578
  <p-avatar
5551
5579
  class="mr-2"
5552
5580
  id="oip-user-profile-photo-avatar"
5553
5581
  shape="circle"
5554
5582
  size="xlarge"
5555
5583
  [image]="userService.photoLoaded ? userService.photo : null" />
5556
- <div class="mt-2">
5584
+ <div class="mt-2 flex gap-2">
5557
5585
  <p-fileupload
5558
5586
  accept="image/*"
5559
5587
  chooseIcon="pi pi-upload"
@@ -5565,23 +5593,34 @@ class ProfileComponent {
5565
5593
  [auto]="true"
5566
5594
  [customUpload]="true"
5567
5595
  (uploadHandler)="uploadPhoto($event)" />
5596
+ @if (userService.photoLoaded) {
5597
+ <p-button
5598
+ icon="pi pi-trash"
5599
+ id="oip-user-profile-delete-photo"
5600
+ label="{{ 'profileComponent.deletePhoto' | translate }}"
5601
+ severity="danger"
5602
+ [outlined]="true"
5603
+ (onClick)="confirmDeletePhoto($event)" />
5604
+ }
5568
5605
  </div>
5569
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i1$7.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ImageModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5606
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i2$6.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ImageModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i3$3.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5570
5607
  }
5571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ProfileComponent, decorators: [{
5608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UserProfileComponent, decorators: [{
5572
5609
  type: Component,
5573
5610
  args: [{
5574
5611
  selector: 'user-profile',
5575
5612
  standalone: true,
5576
- imports: [FileUploadModule, ImageModule, AvatarModule, TranslatePipe],
5613
+ imports: [FileUploadModule, ImageModule, AvatarModule, ButtonModule, ConfirmDialog, TranslatePipe],
5614
+ providers: [ConfirmationService],
5577
5615
  template: `
5616
+ <p-confirmDialog></p-confirmDialog>
5578
5617
  <p-avatar
5579
5618
  class="mr-2"
5580
5619
  id="oip-user-profile-photo-avatar"
5581
5620
  shape="circle"
5582
5621
  size="xlarge"
5583
5622
  [image]="userService.photoLoaded ? userService.photo : null" />
5584
- <div class="mt-2">
5623
+ <div class="mt-2 flex gap-2">
5585
5624
  <p-fileupload
5586
5625
  accept="image/*"
5587
5626
  chooseIcon="pi pi-upload"
@@ -5593,10 +5632,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5593
5632
  [auto]="true"
5594
5633
  [customUpload]="true"
5595
5634
  (uploadHandler)="uploadPhoto($event)" />
5635
+ @if (userService.photoLoaded) {
5636
+ <p-button
5637
+ icon="pi pi-trash"
5638
+ id="oip-user-profile-delete-photo"
5639
+ label="{{ 'profileComponent.deletePhoto' | translate }}"
5640
+ severity="danger"
5641
+ [outlined]="true"
5642
+ (onClick)="confirmDeletePhoto($event)" />
5643
+ }
5596
5644
  </div>
5597
5645
  `
5598
5646
  }]
5599
- }] });
5647
+ }], ctorParameters: () => [{ type: L10nService }] });
5600
5648
 
5601
5649
  var config$1 = {
5602
5650
  all: "All",
@@ -5614,7 +5662,7 @@ var config$1 = {
5614
5662
  timeZone: "Time zone",
5615
5663
  usePhoto256x256Pixel: "Use photo 256x256 pixel"
5616
5664
  };
5617
- var en$4 = {
5665
+ var en$5 = {
5618
5666
  config: config$1
5619
5667
  };
5620
5668
 
@@ -5634,11 +5682,11 @@ var config = {
5634
5682
  timeZone: "Часовой пояс",
5635
5683
  usePhoto256x256Pixel: "Используйте фото 256x256 пикселей"
5636
5684
  };
5637
- var ru$4 = {
5685
+ var ru$5 = {
5638
5686
  config: config
5639
5687
  };
5640
5688
 
5641
- L10nService.registerTranslations({ en: en$4, ru: ru$4 });
5689
+ L10nService.registerTranslations({ en: en$5, ru: ru$5 });
5642
5690
  class ConfigComponent {
5643
5691
  constructor() {
5644
5692
  this.layoutService = inject(LayoutService);
@@ -5675,8 +5723,8 @@ class ConfigComponent {
5675
5723
  async onSwitchChange() {
5676
5724
  await this.menuService.loadMenu();
5677
5725
  }
5678
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5679
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: ConfigComponent, isStandalone: true, selector: "app-config", ngImport: i0, template: `
5726
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5727
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ConfigComponent, isStandalone: true, selector: "app-config", ngImport: i0, template: `
5680
5728
  <div class="flex flex-col md:flex-row gap-4">
5681
5729
  <div class="md:w-1/2">
5682
5730
  <div class="card flex flex-col gap-4">
@@ -5780,9 +5828,9 @@ class ConfigComponent {
5780
5828
  </div>
5781
5829
  }
5782
5830
  </div>
5783
- `, isInline: true, dependencies: [{ kind: "component", type: ProfileComponent, selector: "user-profile" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$5.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5831
+ `, isInline: true, dependencies: [{ kind: "component", type: UserProfileComponent, selector: "user-profile" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$7.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5784
5832
  }
5785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ConfigComponent, decorators: [{
5833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfigComponent, decorators: [{
5786
5834
  type: Component,
5787
5835
  args: [{
5788
5836
  selector: 'app-config',
@@ -5892,7 +5940,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5892
5940
  </div>
5893
5941
  `,
5894
5942
  imports: [
5895
- ProfileComponent,
5943
+ UserProfileComponent,
5896
5944
  Tooltip,
5897
5945
  FormsModule,
5898
5946
  Select,
@@ -5905,7 +5953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
5905
5953
  }]
5906
5954
  }], ctorParameters: () => [] });
5907
5955
 
5908
- var en$3 = {
5956
+ var en$4 = {
5909
5957
  "db-migration": {
5910
5958
  migrationManager: "Migration manager",
5911
5959
  actions: {
@@ -5925,7 +5973,7 @@ var en$3 = {
5925
5973
  }
5926
5974
  };
5927
5975
 
5928
- var ru$3 = {
5976
+ var ru$4 = {
5929
5977
  "db-migration": {
5930
5978
  migrationManager: "Менеджер миграций",
5931
5979
  actions: {
@@ -5946,7 +5994,7 @@ var ru$3 = {
5946
5994
  };
5947
5995
 
5948
5996
  class DbMigrationComponent extends BaseModuleComponent {
5949
- static { this.translations = { en: en$3, ru: ru$3 }; }
5997
+ static { this.translations = { en: en$4, ru: ru$4 }; }
5950
5998
  async ngOnInit() {
5951
5999
  await super.ngOnInit();
5952
6000
  await this.refreshAction();
@@ -5968,8 +6016,8 @@ class DbMigrationComponent extends BaseModuleComponent {
5968
6016
  const request = { name: rowData.name };
5969
6017
  return this.applyModuleMigration(request);
5970
6018
  }
5971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DbMigrationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5972
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: DbMigrationComponent, isStandalone: true, selector: "db-migration", providers: [ConfirmationService], usesInheritance: true, ngImport: i0, template: `
6019
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DbMigrationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6020
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DbMigrationComponent, isStandalone: true, selector: "db-migration", providers: [ConfirmationService], usesInheritance: true, ngImport: i0, template: `
5973
6021
  @if (isContent) {
5974
6022
  <div class="card" style="height: 100%">
5975
6023
  <p-confirmDialog />
@@ -6047,9 +6095,9 @@ class DbMigrationComponent extends BaseModuleComponent {
6047
6095
  } @else if (isSecurity) {
6048
6096
  <security [controller]="controller" [id]="id" />
6049
6097
  }
6050
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$8.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i1$8.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$8.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i1$8.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6098
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i1$4.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$4.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i1$4.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6051
6099
  }
6052
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DbMigrationComponent, decorators: [{
6100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DbMigrationComponent, decorators: [{
6053
6101
  type: Component,
6054
6102
  args: [{
6055
6103
  imports: [
@@ -6194,10 +6242,10 @@ class ExtensionModulesApi extends HttpClient {
6194
6242
  ...params,
6195
6243
  });
6196
6244
  }
6197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionModulesApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
6198
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionModulesApi }); }
6245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionModulesApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
6246
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionModulesApi }); }
6199
6247
  }
6200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionModulesApi, decorators: [{
6248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionModulesApi, decorators: [{
6201
6249
  type: Injectable
6202
6250
  }] });
6203
6251
 
@@ -6238,14 +6286,14 @@ class ModuleApi extends HttpClient {
6238
6286
  ...params,
6239
6287
  });
6240
6288
  }
6241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
6242
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi }); }
6289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
6290
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleApi }); }
6243
6291
  }
6244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi, decorators: [{
6292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleApi, decorators: [{
6245
6293
  type: Injectable
6246
6294
  }] });
6247
6295
 
6248
- var en$2 = {
6296
+ var en$3 = {
6249
6297
  "app-modules": {
6250
6298
  title: "Modules",
6251
6299
  refreshTooltip: "Refresh",
@@ -6276,7 +6324,7 @@ var en$2 = {
6276
6324
  }
6277
6325
  };
6278
6326
 
6279
- var ru$2 = {
6327
+ var ru$3 = {
6280
6328
  "app-modules": {
6281
6329
  title: "Модули",
6282
6330
  refreshTooltip: "Обновить",
@@ -6307,7 +6355,7 @@ var ru$2 = {
6307
6355
  }
6308
6356
  };
6309
6357
 
6310
- L10nService.registerTranslations({ en: en$2, ru: ru$2 });
6358
+ L10nService.registerTranslations({ en: en$3, ru: ru$3 });
6311
6359
  class AppModulesComponent {
6312
6360
  constructor() {
6313
6361
  this.modules = [];
@@ -6385,8 +6433,8 @@ class AppModulesComponent {
6385
6433
  t(key) {
6386
6434
  return this.l10nService.instant(key);
6387
6435
  }
6388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppModulesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6389
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppModulesComponent, isStandalone: true, selector: "app-modules", providers: [ConfirmationService, ModuleApi, ExtensionModulesApi], ngImport: i0, template: `
6436
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppModulesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6437
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AppModulesComponent, isStandalone: true, selector: "app-modules", providers: [ConfirmationService, ModuleApi, ExtensionModulesApi], ngImport: i0, template: `
6390
6438
  <p-confirmDialog></p-confirmDialog>
6391
6439
  <div class="flex flex-col md:flex-row gap-4">
6392
6440
  <div class="card w-full">
@@ -6459,9 +6507,9 @@ class AppModulesComponent {
6459
6507
  </p-table>
6460
6508
  </div>
6461
6509
  </div>
6462
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i5$1.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6510
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i5$2.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6463
6511
  }
6464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppModulesComponent, decorators: [{
6512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AppModulesComponent, decorators: [{
6465
6513
  type: Component,
6466
6514
  args: [{
6467
6515
  imports: [
@@ -6604,7 +6652,7 @@ var applications$1 = {
6604
6652
  deleteSuccess: "Application deleted"
6605
6653
  }
6606
6654
  };
6607
- var en$1 = {
6655
+ var en$2 = {
6608
6656
  applications: applications$1
6609
6657
  };
6610
6658
 
@@ -6652,11 +6700,11 @@ var applications = {
6652
6700
  deleteSuccess: "Приложение удалено"
6653
6701
  }
6654
6702
  };
6655
- var ru$1 = {
6703
+ var ru$2 = {
6656
6704
  applications: applications
6657
6705
  };
6658
6706
 
6659
- L10nService.registerTranslations({ en: en$1, ru: ru$1 });
6707
+ L10nService.registerTranslations({ en: en$2, ru: ru$2 });
6660
6708
  class ApplicationsComponent {
6661
6709
  get serviceTypeOptions() {
6662
6710
  return [
@@ -6878,8 +6926,8 @@ class ApplicationsComponent {
6878
6926
  t(key, params) {
6879
6927
  return this.l10nService.instant(key, params);
6880
6928
  }
6881
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6882
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: ApplicationsComponent, isStandalone: true, selector: "app-applications", providers: [ApplicationsApi, ConfirmationService], ngImport: i0, template: `
6929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6930
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ApplicationsComponent, isStandalone: true, selector: "app-applications", providers: [ApplicationsApi, ConfirmationService], ngImport: i0, template: `
6883
6931
  <p-confirmDialog></p-confirmDialog>
6884
6932
  <div class="flex flex-col gap-4">
6885
6933
  <div class="card w-full">
@@ -7109,9 +7157,9 @@ class ApplicationsComponent {
7109
7157
  </p-table>
7110
7158
  </div>
7111
7159
  </div>
7112
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$8.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i1$8.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i5$1.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$5.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
7160
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i1$4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i5$2.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$7.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
7113
7161
  }
7114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsComponent, decorators: [{
7162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationsComponent, decorators: [{
7115
7163
  type: Component,
7116
7164
  args: [{
7117
7165
  imports: [
@@ -7463,10 +7511,10 @@ class DiscussionApi extends HttpClient {
7463
7511
  ...params,
7464
7512
  });
7465
7513
  }
7466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
7467
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi }); }
7514
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DiscussionApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
7515
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DiscussionApi }); }
7468
7516
  }
7469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi, decorators: [{
7517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DiscussionApi, decorators: [{
7470
7518
  type: Injectable
7471
7519
  }] });
7472
7520
 
@@ -7483,8 +7531,97 @@ function getInitialsFromString(input) {
7483
7531
  return firstInitial + lastInitial;
7484
7532
  }
7485
7533
 
7534
+ var discussionComponent$1 = {
7535
+ writeCommentPlaceholder: "Write a comment. Use @email or @first.last for mentions.",
7536
+ mentionSuggestions: "Mention suggestions",
7537
+ edit: "Edit",
7538
+ preview: "Preview",
7539
+ attachFiles: "Attach files",
7540
+ send: "Send",
7541
+ loadingComments: "Loading comments...",
7542
+ noCommentsYet: "No comments yet.",
7543
+ edited: "Edited",
7544
+ editCommentPlaceholder: "Edit comment",
7545
+ addAttachment: "Add attachment",
7546
+ save: "Save",
7547
+ cancel: "Cancel",
7548
+ editHistory: "Edit history",
7549
+ loadingHistory: "Loading history...",
7550
+ before: "Before",
7551
+ after: "After",
7552
+ warning: "Warning",
7553
+ "delete": "Delete",
7554
+ confirmDeleteComment: "Are you sure you want to delete this comment?",
7555
+ confirmDeleteFile: "Are you sure you want to delete the file \"{{fileName}}\"?",
7556
+ units: {
7557
+ bytes: "B",
7558
+ kilobytes: "KB",
7559
+ megabytes: "MB"
7560
+ },
7561
+ errors: {
7562
+ loadComments: "Failed to load comments.",
7563
+ createComment: "Failed to create comment.",
7564
+ updateComment: "Failed to update comment.",
7565
+ loadEditHistory: "Failed to load edit history.",
7566
+ uploadAttachment: "Failed to upload attachment.",
7567
+ deleteComment: "Failed to delete comment.",
7568
+ deleteAttachment: "Failed to delete attachment.",
7569
+ downloadAttachment: "Failed to download attachment.",
7570
+ updateReaction: "Failed to update reaction.",
7571
+ addReaction: "Failed to add reaction."
7572
+ }
7573
+ };
7574
+ var en$1 = {
7575
+ discussionComponent: discussionComponent$1
7576
+ };
7577
+
7578
+ var discussionComponent = {
7579
+ writeCommentPlaceholder: "Напишите комментарий. Используйте @email или @first.last для упоминаний.",
7580
+ mentionSuggestions: "Варианты упоминаний",
7581
+ edit: "Редактировать",
7582
+ preview: "Предпросмотр",
7583
+ attachFiles: "Прикрепить файлы",
7584
+ send: "Отправить",
7585
+ loadingComments: "Загрузка комментариев...",
7586
+ noCommentsYet: "Комментариев пока нет.",
7587
+ edited: "Изменено",
7588
+ editCommentPlaceholder: "Изменить комментарий",
7589
+ addAttachment: "Добавить вложение",
7590
+ save: "Сохранить",
7591
+ cancel: "Отмена",
7592
+ editHistory: "История изменений",
7593
+ loadingHistory: "Загрузка истории...",
7594
+ before: "До",
7595
+ after: "После",
7596
+ warning: "Предупреждение",
7597
+ "delete": "Удалить",
7598
+ confirmDeleteComment: "Вы уверены, что хотите удалить этот комментарий?",
7599
+ confirmDeleteFile: "Вы уверены, что хотите удалить файл \"{{fileName}}\"?",
7600
+ units: {
7601
+ bytes: "Б",
7602
+ kilobytes: "КБ",
7603
+ megabytes: "МБ"
7604
+ },
7605
+ errors: {
7606
+ loadComments: "Не удалось загрузить комментарии.",
7607
+ createComment: "Не удалось создать комментарий.",
7608
+ updateComment: "Не удалось обновить комментарий.",
7609
+ loadEditHistory: "Не удалось загрузить историю изменений.",
7610
+ uploadAttachment: "Не удалось загрузить вложение.",
7611
+ deleteComment: "Не удалось удалить комментарий.",
7612
+ deleteAttachment: "Не удалось удалить вложение.",
7613
+ downloadAttachment: "Не удалось скачать вложение.",
7614
+ updateReaction: "Не удалось обновить реакцию.",
7615
+ addReaction: "Не удалось добавить реакцию."
7616
+ }
7617
+ };
7618
+ var ru$1 = {
7619
+ discussionComponent: discussionComponent
7620
+ };
7621
+
7622
+ L10nService.registerTranslations({ en: en$1, ru: ru$1 });
7486
7623
  class DiscussionComponent {
7487
- constructor() {
7624
+ constructor(l10nService) {
7488
7625
  this.msgService = inject(MsgService);
7489
7626
  this.discussionApi = inject(DiscussionApi);
7490
7627
  this.sanitizer = inject(DomSanitizer);
@@ -7507,6 +7644,7 @@ class DiscussionComponent {
7507
7644
  this.emojiPalette = ['👍', '👎', '🐳', '🍆', '🍑'];
7508
7645
  this.mentionSearchTimer = null;
7509
7646
  this.getInitialsFromString = getInitialsFromString;
7647
+ l10nService.get('discussionComponent');
7510
7648
  }
7511
7649
  ngOnChanges(changes) {
7512
7650
  if ((changes['objectTypeId'] || changes['objectId']) && this.objectTypeId && this.objectId) {
@@ -7883,8 +8021,8 @@ class DiscussionComponent {
7883
8021
  const match = value.match(/@([A-Za-z0-9._+\-@]*)$/);
7884
8022
  return match?.[1] ?? null;
7885
8023
  }
7886
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7887
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: DiscussionComponent, isStandalone: true, selector: "discussion", inputs: { objectTypeId: "objectTypeId", objectId: "objectId" }, providers: [ConfirmationService, DiscussionApi], usesOnChanges: true, ngImport: i0, template: `
8024
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DiscussionComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
8025
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DiscussionComponent, isStandalone: true, selector: "discussion", inputs: { objectTypeId: "objectTypeId", objectId: "objectId" }, providers: [ConfirmationService, DiscussionApi], usesOnChanges: true, ngImport: i0, template: `
7888
8026
  <p-confirmDialog />
7889
8027
 
7890
8028
  <section class="flex flex-col gap-4">
@@ -8198,9 +8336,9 @@ class DiscussionComponent {
8198
8336
  </div>
8199
8337
  }
8200
8338
  </section>
8201
- `, isInline: true, styles: [":host{display:block}.file-trigger{position:relative;display:inline-flex}.file-trigger input{position:absolute;inset:0;opacity:0;cursor:pointer}.markdown-preview,.history-markdown{word-break:break-word}.markdown-preview :is(h1,h2,h3),.history-markdown :is(h1,h2,h3){margin:0 0 .75rem;font-weight:600}.markdown-preview a,.history-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:.18em}.emoji-popover{display:flex;flex-wrap:wrap;gap:.5rem;max-width:16rem}.emoji-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i5$2.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: i6.Panel, selector: "p-panel", inputs: ["id", "toggleable", "header", "collapsed", "styleClass", "iconPos", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i7.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i9.Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "pSize", "variant", "fluid", "invalid"], outputs: ["onResize"] }, { kind: "pipe", type: i1$3.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8339
+ `, isInline: true, styles: [":host{display:block}.file-trigger{position:relative;display:inline-flex}.file-trigger input{position:absolute;inset:0;opacity:0;cursor:pointer}.markdown-preview,.history-markdown{word-break:break-word}.markdown-preview :is(h1,h2,h3),.history-markdown :is(h1,h2,h3){margin:0 0 .75rem;font-weight:600}.markdown-preview a,.history-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:.18em}.emoji-popover{display:flex;flex-wrap:wrap;gap:.5rem;max-width:16rem}.emoji-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i3$3.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i6.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: i7.Panel, selector: "p-panel", inputs: ["id", "toggleable", "header", "collapsed", "styleClass", "iconPos", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i8.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i5.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i10.Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "pSize", "variant", "fluid", "invalid"], outputs: ["onResize"] }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8202
8340
  }
8203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionComponent, decorators: [{
8341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DiscussionComponent, decorators: [{
8204
8342
  type: Component,
8205
8343
  args: [{ selector: 'discussion', standalone: true, providers: [ConfirmationService, DiscussionApi], imports: [
8206
8344
  CommonModule,
@@ -8532,7 +8670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
8532
8670
  }
8533
8671
  </section>
8534
8672
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}.file-trigger{position:relative;display:inline-flex}.file-trigger input{position:absolute;inset:0;opacity:0;cursor:pointer}.markdown-preview,.history-markdown{word-break:break-word}.markdown-preview :is(h1,h2,h3),.history-markdown :is(h1,h2,h3){margin:0 0 .75rem;font-weight:600}.markdown-preview a,.history-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:.18em}.emoji-popover{display:flex;flex-wrap:wrap;gap:.5rem;max-width:16rem}.emoji-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer}\n"] }]
8535
- }], propDecorators: { objectTypeId: [{
8673
+ }], ctorParameters: () => [{ type: L10nService }], propDecorators: { objectTypeId: [{
8536
8674
  type: Input,
8537
8675
  args: [{ required: true }]
8538
8676
  }], objectId: [{
@@ -8619,8 +8757,8 @@ class IframeModuleComponent extends BaseModuleComponent {
8619
8757
  const errorMessage = this.translate.instant('iframe-module.iframeModule.siteLoadingMessage');
8620
8758
  this.msgService.error(errorMessage);
8621
8759
  }
8622
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: IframeModuleComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "iframeElement", first: true, predicate: ["iframe"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
8760
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IframeModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8761
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: IframeModuleComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "iframeElement", first: true, predicate: ["iframe"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
8624
8762
  @if (isContent) {
8625
8763
  <iframe
8626
8764
  #iframe
@@ -8657,9 +8795,9 @@ class IframeModuleComponent extends BaseModuleComponent {
8657
8795
  } @else if (isSecurity) {
8658
8796
  <security [controller]="controller" [id]="id" />
8659
8797
  }
8660
- `, isInline: true, dependencies: [{ kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
8798
+ `, isInline: true, dependencies: [{ kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
8661
8799
  }
8662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleComponent, decorators: [{
8800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IframeModuleComponent, decorators: [{
8663
8801
  type: Component,
8664
8802
  args: [{
8665
8803
  standalone: true,
@@ -8759,10 +8897,10 @@ class ExtensionLoaderService {
8759
8897
  this.loadedScripts.set(scriptUrl, loadPromise);
8760
8898
  return loadPromise;
8761
8899
  }
8762
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8763
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionLoaderService, providedIn: 'root' }); }
8900
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8901
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionLoaderService, providedIn: 'root' }); }
8764
8902
  }
8765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionLoaderService, decorators: [{
8903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionLoaderService, decorators: [{
8766
8904
  type: Injectable,
8767
8905
  args: [{ providedIn: 'root' }]
8768
8906
  }] });
@@ -8992,8 +9130,8 @@ class CustomElementExtensionModuleHostComponent extends BaseModuleComponent {
8992
9130
  this.container.nativeElement.appendChild(element);
8993
9131
  this.updateExtensionContext();
8994
9132
  }
8995
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CustomElementExtensionModuleHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8996
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: CustomElementExtensionModuleHostComponent, isStandalone: true, selector: "ng-component", providers: [ExtensionModulesApi], viewQueries: [{ propertyName: "extensionContainer", first: true, predicate: ["extensionContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
9133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomElementExtensionModuleHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CustomElementExtensionModuleHostComponent, isStandalone: true, selector: "ng-component", providers: [ExtensionModulesApi], viewQueries: [{ propertyName: "extensionContainer", first: true, predicate: ["extensionContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
8997
9135
  @if (showContent) {
8998
9136
  <div class="min-h-[calc(100vh-10rem)] w-full">
8999
9137
  @if (loadError) {
@@ -9019,7 +9157,7 @@ class CustomElementExtensionModuleHostComponent extends BaseModuleComponent {
9019
9157
  }
9020
9158
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
9021
9159
  }
9022
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CustomElementExtensionModuleHostComponent, decorators: [{
9160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomElementExtensionModuleHostComponent, decorators: [{
9023
9161
  type: Component,
9024
9162
  args: [{
9025
9163
  standalone: true,
@@ -9231,8 +9369,8 @@ class ExtensionModuleHostComponent extends BaseModuleComponent {
9231
9369
  const baseUrl = document.getElementsByTagName('base')[0]?.href ?? `${window.location.origin}/`;
9232
9370
  return `${baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`}${path}`;
9233
9371
  }
9234
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionModuleHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9235
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: ExtensionModuleHostComponent, isStandalone: true, selector: "ng-component", providers: [ExtensionModulesApi], viewQueries: [{ propertyName: "extensionViewContainer", first: true, predicate: ["extensionContainer"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
9372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionModuleHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9373
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ExtensionModuleHostComponent, isStandalone: true, selector: "ng-component", providers: [ExtensionModulesApi], viewQueries: [{ propertyName: "extensionViewContainer", first: true, predicate: ["extensionContainer"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
9236
9374
  @if (loadError) {
9237
9375
  <div class="card flex flex-col gap-4">
9238
9376
  <div class="font-semibold text-xl">{{ loadError }}</div>
@@ -9243,7 +9381,7 @@ class ExtensionModuleHostComponent extends BaseModuleComponent {
9243
9381
  }
9244
9382
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
9245
9383
  }
9246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ExtensionModuleHostComponent, decorators: [{
9384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExtensionModuleHostComponent, decorators: [{
9247
9385
  type: Component,
9248
9386
  args: [{
9249
9387
  standalone: true,
@@ -9292,10 +9430,10 @@ class AuthGuardService {
9292
9430
  return false;
9293
9431
  }));
9294
9432
  }
9295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9296
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService }); }
9433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthGuardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9434
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthGuardService }); }
9297
9435
  }
9298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService, decorators: [{
9436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthGuardService, decorators: [{
9299
9437
  type: Injectable
9300
9438
  }] });
9301
9439
 
@@ -9352,10 +9490,10 @@ class ModuleInstanceRightsService {
9352
9490
  clearCache() {
9353
9491
  this.cache.clear();
9354
9492
  }
9355
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleInstanceRightsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9356
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleInstanceRightsService }); }
9493
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleInstanceRightsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9494
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleInstanceRightsService }); }
9357
9495
  }
9358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleInstanceRightsService, decorators: [{
9496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ModuleInstanceRightsService, decorators: [{
9359
9497
  type: Injectable
9360
9498
  }], ctorParameters: () => [] });
9361
9499
 
@@ -9447,10 +9585,10 @@ class TableFilterService {
9447
9585
  }
9448
9586
  this.updateFiltersState(filters);
9449
9587
  }
9450
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9451
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService }); }
9588
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9589
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableFilterService }); }
9452
9590
  }
9453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService, decorators: [{
9591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableFilterService, decorators: [{
9454
9592
  type: Injectable
9455
9593
  }] });
9456
9594
 
@@ -9575,10 +9713,10 @@ class FolderModuleApi extends HttpClient {
9575
9713
  ...params,
9576
9714
  });
9577
9715
  }
9578
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
9579
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi }); }
9716
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FolderModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
9717
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FolderModuleApi }); }
9580
9718
  }
9581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi, decorators: [{
9719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FolderModuleApi, decorators: [{
9582
9720
  type: Injectable
9583
9721
  }] });
9584
9722
 
@@ -9596,10 +9734,10 @@ class IframeModuleApi extends HttpClient {
9596
9734
  ...params,
9597
9735
  });
9598
9736
  }
9599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
9600
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi }); }
9737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IframeModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
9738
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IframeModuleApi }); }
9601
9739
  }
9602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi, decorators: [{
9740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IframeModuleApi, decorators: [{
9603
9741
  type: Injectable
9604
9742
  }] });
9605
9743
 
@@ -9609,5 +9747,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
9609
9747
  * Generated bundle index. Do not edit.
9610
9748
  */
9611
9749
 
9612
- export { APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AccessComponent, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppLayoutComponent, AppModulesComponent, AppTopbar, AppTopbarApplicationSwitcherComponent, ApplicationRegistryService, ApplicationsApi, ApplicationsComponent, AuthGuardService, BaseModuleComponent, BffSecurityService, ConfigComponent, ContentType, CustomElementExtensionModuleHostComponent, DbMigrationComponent, DiscussionComponent, ErrorComponent, ExtensionLoaderService, ExtensionModuleHostComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent, L10nService, LOGO_COMPONENT_TOKEN, LayoutService, LogoComponent, LogoService, MenuComponent, MenuService, ModuleInstanceRightsService, MsgService, NotfoundComponent, NotificationApi, NotificationService, OIP_EXTENSION_EVENTS, ProfileComponent, SecurityApi, SecurityComponent, SecurityService, SidebarComponent, TableFilterService, TopBarService, UnauthorizedComponent, UserNotificationsComponent, UserProfileApi, UserService, convertToPrimeNgDateFormat, defaultTheme, emitOipContextChange, emitOipError, emitOipNavigate, emitOipNotify, emitOipSettingsChange, emitOipTitleChange, langIntercept, mergeWithDefaults, moduleAccessGuard, provideAppThemes, provideLogoComponent, provideOip, replaceDefaults };
9750
+ export { APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AccessComponent, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppLayoutComponent, AppModulesComponent, AppTopbar, AppTopbarApplicationSwitcherComponent, ApplicationRegistryService, ApplicationsApi, ApplicationsComponent, AuthGuardService, BaseModuleComponent, BffSecurityService, ConfigComponent, ContentType, CustomElementExtensionModuleHostComponent, DbMigrationComponent, DiscussionComponent, ErrorComponent, ExtensionLoaderService, ExtensionModuleHostComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent, L10nService, LOGO_COMPONENT_TOKEN, LayoutService, LogoComponent, LogoService, MenuComponent, MenuService, ModuleInstanceRightsService, MsgService, NotfoundComponent, NotificationApi, NotificationService, OIP_EXTENSION_EVENTS, SecurityApi, SecurityComponent, SecurityService, SidebarComponent, TableFilterService, TopBarService, UnauthorizedComponent, UserNotificationsComponent, UserProfileApi, UserProfileComponent, UserService, convertToPrimeNgDateFormat, defaultTheme, emitOipContextChange, emitOipError, emitOipNavigate, emitOipNotify, emitOipSettingsChange, emitOipTitleChange, langIntercept, mergeWithDefaults, moduleAccessGuard, provideAppThemes, provideLogoComponent, provideOip, replaceDefaults };
9613
9751
  //# sourceMappingURL=oip-common.mjs.map