aril 0.0.24 → 0.0.26

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.
Files changed (172) hide show
  1. package/boot/host/src/bootstrap.d.ts +2 -1
  2. package/boot/mfe/src/bootstrap.d.ts +2 -1
  3. package/esm2022/boot/host/index.mjs +1 -1
  4. package/esm2022/boot/host/src/app.component.mjs +1 -1
  5. package/esm2022/boot/host/src/bootstrap.mjs +14 -6
  6. package/esm2022/boot/host/src/services/custom-manifest.mjs +1 -1
  7. package/esm2022/boot/host/src/services/microFrontEnd.service.mjs +1 -1
  8. package/esm2022/boot/host/src/services/plugin-init.token.mjs +1 -1
  9. package/esm2022/boot/host/src/services/showdowDOMWrapper.mjs +1 -1
  10. package/esm2022/boot/index.mjs +1 -1
  11. package/esm2022/boot/mfe/index.mjs +1 -1
  12. package/esm2022/boot/mfe/src/app.component.mjs +13 -13
  13. package/esm2022/boot/mfe/src/bootstrap.mjs +13 -5
  14. package/esm2022/http/lib/enums.mjs +2 -1
  15. package/esm2022/http/lib/interfaces.mjs +1 -2
  16. package/esm2022/http/src/httpClient.mjs +1 -1
  17. package/esm2022/http/src/serviceBase.mjs +8 -5
  18. package/esm2022/http/src/serviceStateMethods.mjs +1 -2
  19. package/esm2022/i18n/src/file-url-token.mjs +1 -1
  20. package/esm2022/i18n/src/i18n.module.mjs +1 -1
  21. package/esm2022/i18n/src/loader.mjs +2 -2
  22. package/esm2022/i18n/src/provideI18n.mjs +1 -1
  23. package/esm2022/i18n/src/provideScope.mjs +1 -1
  24. package/esm2022/keycloak/aril-keycloak.mjs +5 -0
  25. package/esm2022/keycloak/index.mjs +3 -0
  26. package/esm2022/keycloak/src/auth.interceptor.mjs +13 -0
  27. package/esm2022/keycloak/src/keycloak.manager.mjs +59 -0
  28. package/esm2022/public-api.mjs +1 -1
  29. package/esm2022/theme/index.mjs +1 -1
  30. package/esm2022/theme/layout/app/config/app.config.component.mjs +4 -4
  31. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +5 -5
  32. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +21 -21
  33. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +4 -4
  34. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +2 -2
  35. package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +2 -2
  36. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +12 -9
  37. package/esm2022/theme/layout/service/app.layout.service.mjs +1 -1
  38. package/esm2022/theme/layout/service/app.menu.service.mjs +1 -1
  39. package/esm2022/ui/button/src/button.component.mjs +2 -2
  40. package/esm2022/ui/calendar/src/calendar.component.mjs +4 -4
  41. package/esm2022/ui/field/src/field.component.mjs +5 -5
  42. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +3 -3
  43. package/esm2022/ui/form/index.mjs +2 -2
  44. package/esm2022/ui/form/src/form-submit-button.component.mjs +2 -2
  45. package/esm2022/ui/form/src/form.component.mjs +1 -1
  46. package/esm2022/ui/index.mjs +1 -1
  47. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
  48. package/esm2022/ui/lib/src/form/form-field-builder.mjs +1 -1
  49. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +1 -1
  50. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
  51. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +1 -1
  52. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +1 -1
  53. package/esm2022/ui/mask/src/mask.component.mjs +2 -2
  54. package/esm2022/ui/number/src/number.component.mjs +2 -2
  55. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +2 -2
  56. package/esm2022/ui/password/src/password.component.mjs +2 -2
  57. package/esm2022/ui/radioButton/src/radio-button.component.mjs +1 -1
  58. package/esm2022/ui/selectBox/src/select-box.component.mjs +4 -4
  59. package/esm2022/ui/switch/src/switch.component.mjs +2 -2
  60. package/esm2022/ui/table/index.mjs +3 -3
  61. package/esm2022/ui/table/src/table-column.component.mjs +1 -1
  62. package/esm2022/ui/table/src/table.component.mjs +2 -2
  63. package/esm2022/ui/tagBox/src/tag-box.component.mjs +1 -1
  64. package/esm2022/ui/text/src/text.component.mjs +2 -2
  65. package/esm2022/ui/textArea/src/text-area.component.mjs +3 -3
  66. package/esm2022/ui/tree/src/tree.component.mjs +5 -5
  67. package/esm2022/ui/treeTable/src/tree-table.component.mjs +4 -4
  68. package/esm2022/util/custom_pages/index.mjs +1 -1
  69. package/esm2022/util/custom_pages/src/notFound.component.mjs +109 -109
  70. package/esm2022/util/index.mjs +1 -1
  71. package/esm2022/util/lib/src/module-router.mjs +1 -1
  72. package/esm2022/util/lib/src/types.mjs +1 -4
  73. package/esm2022/util/loaders/index.mjs +1 -1
  74. package/esm2022/util/loaders/script/script.loader.service.mjs +1 -1
  75. package/esm2022/util/loaders/style/style.loader.service.mjs +1 -1
  76. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +1 -1
  77. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +1 -1
  78. package/fesm2022/{aril-app.component-tFlRp3qI.mjs → aril-app.component-sZDpvJDM.mjs} +16 -14
  79. package/fesm2022/aril-app.component-sZDpvJDM.mjs.map +1 -0
  80. package/fesm2022/{aril-aril--3c18nTH.mjs → aril-aril-D__IXMsf.mjs} +24 -10
  81. package/fesm2022/aril-aril-D__IXMsf.mjs.map +1 -0
  82. package/fesm2022/aril-boot-host.mjs +13 -5
  83. package/fesm2022/aril-boot-host.mjs.map +1 -1
  84. package/fesm2022/{aril-boot-mfe-app.component-wYzFs1Za.mjs → aril-boot-mfe-app.component-zro0FnKY.mjs} +15 -13
  85. package/fesm2022/aril-boot-mfe-app.component-zro0FnKY.mjs.map +1 -0
  86. package/fesm2022/aril-boot-mfe.mjs +13 -5
  87. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  88. package/fesm2022/aril-boot.mjs.map +1 -1
  89. package/fesm2022/aril-http.mjs +6 -4
  90. package/fesm2022/aril-http.mjs.map +1 -1
  91. package/fesm2022/aril-i18n.mjs +1 -1
  92. package/fesm2022/aril-i18n.mjs.map +1 -1
  93. package/fesm2022/aril-keycloak.mjs +77 -0
  94. package/fesm2022/aril-keycloak.mjs.map +1 -0
  95. package/fesm2022/aril-theme-layout.mjs +266 -264
  96. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  97. package/fesm2022/aril-theme.mjs.map +1 -1
  98. package/fesm2022/aril-ui-button.mjs.map +1 -1
  99. package/fesm2022/aril-ui-calendar.mjs +3 -3
  100. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  101. package/fesm2022/aril-ui-field.mjs +3 -3
  102. package/fesm2022/aril-ui-field.mjs.map +1 -1
  103. package/fesm2022/aril-ui-fileUpload.mjs +2 -2
  104. package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
  105. package/fesm2022/aril-ui-form.mjs +28 -28
  106. package/fesm2022/aril-ui-form.mjs.map +1 -1
  107. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  108. package/fesm2022/aril-ui-mask.mjs +1 -1
  109. package/fesm2022/aril-ui-mask.mjs.map +1 -1
  110. package/fesm2022/aril-ui-number.mjs +2 -2
  111. package/fesm2022/aril-ui-number.mjs.map +1 -1
  112. package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
  113. package/fesm2022/aril-ui-password.mjs +2 -2
  114. package/fesm2022/aril-ui-password.mjs.map +1 -1
  115. package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
  116. package/fesm2022/aril-ui-selectBox.mjs +2 -2
  117. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  118. package/fesm2022/aril-ui-switch.mjs +2 -2
  119. package/fesm2022/aril-ui-switch.mjs.map +1 -1
  120. package/fesm2022/aril-ui-table.mjs +23 -23
  121. package/fesm2022/aril-ui-table.mjs.map +1 -1
  122. package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
  123. package/fesm2022/aril-ui-text.mjs +1 -1
  124. package/fesm2022/aril-ui-text.mjs.map +1 -1
  125. package/fesm2022/aril-ui-textArea.mjs +2 -2
  126. package/fesm2022/aril-ui-textArea.mjs.map +1 -1
  127. package/fesm2022/aril-ui-tree.mjs +4 -4
  128. package/fesm2022/aril-ui-tree.mjs.map +1 -1
  129. package/fesm2022/aril-ui-treeTable.mjs +2 -2
  130. package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
  131. package/fesm2022/aril-ui.mjs.map +1 -1
  132. package/fesm2022/aril-util-custom_pages.mjs +108 -108
  133. package/fesm2022/aril-util-custom_pages.mjs.map +1 -1
  134. package/fesm2022/aril-util-lib.mjs +0 -3
  135. package/fesm2022/aril-util-lib.mjs.map +1 -1
  136. package/fesm2022/aril-util-loaders.mjs.map +1 -1
  137. package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
  138. package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
  139. package/fesm2022/aril-util.mjs.map +1 -1
  140. package/fesm2022/aril.mjs +3 -1
  141. package/fesm2022/aril.mjs.map +1 -1
  142. package/http/lib/enums.d.ts +1 -0
  143. package/keycloak/index.d.ts +2 -0
  144. package/keycloak/src/auth.interceptor.d.ts +2 -0
  145. package/keycloak/src/keycloak.manager.d.ts +24 -0
  146. package/package.json +10 -2
  147. package/styles/ui/ui.common.scss +24 -24
  148. package/theme/index.ts +1 -1
  149. package/theme/layout/app/config/app.config.component.d.ts +1 -1
  150. package/theme/layout/app/config/app.config.component.ts +4 -4
  151. package/theme/layout/app/layout/app.layout.component.d.ts +1 -1
  152. package/theme/layout/app/layout/app.layout.component.ts +6 -6
  153. package/theme/layout/app/layout/mfe.layout.component.ts +49 -49
  154. package/theme/layout/app/menu/app.menu.component.d.ts +2 -2
  155. package/theme/layout/app/menu/app.menu.component.ts +2 -2
  156. package/theme/layout/app/menu/app.sub.menu.component.html +13 -13
  157. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +1 -1
  158. package/theme/layout/app/sidebar/app.sidebar.component.ts +1 -1
  159. package/theme/layout/app/topbar/app.topbar.component.d.ts +3 -2
  160. package/theme/layout/app/topbar/app.topbar.component.html +45 -37
  161. package/theme/layout/app/topbar/app.topbar.component.ts +32 -28
  162. package/theme/layout/service/app.layout.service.ts +178 -178
  163. package/theme/layout/service/app.menu.service.ts +59 -57
  164. package/theme/ng-package.json +6 -6
  165. package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
  166. package/theme/styles/theme/dark/_variables.scss +918 -918
  167. package/theme/styles/theme/light/_variables.scss +911 -911
  168. package/ui/selectBox/src/select-box.component.d.ts +1 -1
  169. package/ui/table/src/table.component.d.ts +1 -1
  170. package/fesm2022/aril-app.component-tFlRp3qI.mjs.map +0 -1
  171. package/fesm2022/aril-aril--3c18nTH.mjs.map +0 -1
  172. package/fesm2022/aril-boot-mfe-app.component-wYzFs1Za.mjs.map +0 -1
@@ -1,10 +1,9 @@
1
- import { NgClass, AsyncPipe, NgTemplateOutlet, NgStyle } from '@angular/common';
1
+ import { AsyncPipe, NgTemplateOutlet, NgStyle, NgClass } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { signal, computed, Injectable, effect, Component, Input, HostBinding, ViewChild, inject } from '@angular/core';
4
- import * as i2 from '@angular/router';
3
+ import { Component, signal, effect, Injectable, computed, Input, HostBinding, ViewChild, inject } from '@angular/core';
4
+ import * as i1 from '@angular/router';
5
5
  import { NavigationEnd, RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
6
- import { Subject, BehaviorSubject, filter as filter$1 } from 'rxjs';
7
- import * as i4$1 from 'primeng/confirmdialog';
6
+ import * as i4$2 from 'primeng/confirmdialog';
8
7
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
9
8
  import * as i5$2 from 'primeng/confirmpopup';
10
9
  import { ConfirmPopupModule } from 'primeng/confirmpopup';
@@ -14,73 +13,61 @@ import * as i7$1 from 'primeng/messages';
14
13
  import { MessagesModule } from 'primeng/messages';
15
14
  import * as i8 from 'primeng/toast';
16
15
  import { ToastModule } from 'primeng/toast';
17
- import { trigger, state, style, transition, animate } from '@angular/animations';
18
- import { DomHandler } from 'primeng/dom';
19
- import * as i5 from 'primeng/ripple';
20
- import { RippleModule } from 'primeng/ripple';
21
- import * as i4 from 'primeng/tooltip';
22
- import { TooltipModule } from 'primeng/tooltip';
16
+ import { BehaviorSubject, Subject, filter as filter$1 } from 'rxjs';
23
17
  import { filter } from 'rxjs/operators';
18
+ import * as i3 from '@angular/forms';
19
+ import { FormsModule } from '@angular/forms';
24
20
  import * as i6 from 'primeng/button';
25
21
  import { ButtonModule } from 'primeng/button';
26
- import * as i3 from 'primeng/tag';
27
- import { TagModule } from 'primeng/tag';
28
- import * as i2$1 from 'primeng/sidebar';
29
- import { SidebarModule } from 'primeng/sidebar';
30
- import * as i3$1 from '@angular/forms';
31
- import { FormsModule } from '@angular/forms';
32
- import * as i5$1 from 'primeng/radiobutton';
33
- import { RadioButtonModule } from 'primeng/radiobutton';
34
22
  import * as i7 from 'primeng/inputswitch';
35
23
  import { InputSwitchModule } from 'primeng/inputswitch';
24
+ import * as i5 from 'primeng/radiobutton';
25
+ import { RadioButtonModule } from 'primeng/radiobutton';
26
+ import * as i4 from 'primeng/sidebar';
27
+ import { SidebarModule } from 'primeng/sidebar';
28
+ import * as i3$1 from 'primeng/tag';
29
+ import { TagModule } from 'primeng/tag';
30
+ import { trigger, state, style, transition, animate } from '@angular/animations';
31
+ import { DomHandler } from 'primeng/dom';
32
+ import * as i5$1 from 'primeng/ripple';
33
+ import { RippleModule } from 'primeng/ripple';
34
+ import * as i4$1 from 'primeng/tooltip';
35
+ import { TooltipModule } from 'primeng/tooltip';
36
+ import { KeycloakManager } from 'aril/keycloak';
36
37
 
37
- class AppMenuService {
38
- constructor() {
39
- this.menuSource = new Subject();
40
- this.resetSource = new Subject();
41
- this.menuConfig = signal({ items: [], prefix: undefined });
42
- this.subMenuConfig = signal({ items: [], prefix: undefined });
43
- this.menuItems = computed(() => {
44
- const config = this.menuConfig();
45
- if (config.prefix)
46
- return config.items.map((item) => this.addPrefix(item, config.prefix));
47
- else
48
- return config.items;
49
- });
50
- this.subMenuItems = computed(() => {
51
- const config = this.subMenuConfig();
52
- if (config.prefix)
53
- return config.items.map((item) => this.addPrefix(item, config.prefix));
54
- else
55
- return config.items;
38
+ class AppBreadcrumbComponent {
39
+ constructor(router) {
40
+ this.router = router;
41
+ this._breadcrumbs$ = new BehaviorSubject([]);
42
+ this.breadcrumbs$ = this._breadcrumbs$.asObservable();
43
+ this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
44
+ const root = this.router.routerState.snapshot.root;
45
+ const breadcrumbs = [];
46
+ this.addBreadcrumb(root, [], breadcrumbs);
47
+ this._breadcrumbs$.next(breadcrumbs);
56
48
  });
57
- this.menuSource$ = this.menuSource.asObservable();
58
- this.resetSource$ = this.resetSource.asObservable();
59
49
  }
60
- addPrefix(menuItem, appPrefix) {
61
- if (menuItem.items) {
62
- menuItem.items = menuItem.items.map((item) => this.addPrefix(item, appPrefix));
50
+ addBreadcrumb(route, parentUrl, breadcrumbs) {
51
+ const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
52
+ const breadcrumb = route.data['breadcrumb'];
53
+ const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;
54
+ if (breadcrumb && breadcrumb !== parentBreadcrumb) {
55
+ breadcrumbs.push({
56
+ label: route.data['breadcrumb'],
57
+ url: '/' + routeUrl.join('/')
58
+ });
63
59
  }
64
- else {
65
- menuItem.routerLink = `/${appPrefix}/${menuItem.routerLink}`;
60
+ if (route.firstChild) {
61
+ this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
66
62
  }
67
- return menuItem;
68
63
  }
69
- onMenuStateChange(event) {
70
- this.menuSource.next(event);
71
- }
72
- reset() {
73
- this.resetSource.next(true);
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, providedIn: 'root' }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] }); }
77
66
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }] });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ standalone: true, selector: 'app-breadcrumb', imports: [NgTemplateOutlet, AsyncPipe], template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n" }]
70
+ }], ctorParameters: () => [{ type: i1.Router }] });
84
71
 
85
72
  class LayoutService {
86
73
  constructor() {
@@ -206,6 +193,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
206
193
  }]
207
194
  }], ctorParameters: () => [] });
208
195
 
196
+ class AppMenuService {
197
+ constructor() {
198
+ this.menuSource = new Subject();
199
+ this.resetSource = new Subject();
200
+ this.menuConfig = signal({ items: [], prefix: undefined });
201
+ this.subMenuConfig = signal({ items: [], prefix: undefined });
202
+ this.menuItems = computed(() => {
203
+ const config = this.menuConfig();
204
+ if (config.prefix)
205
+ return config.items.map((item) => this.addPrefix(item, config.prefix));
206
+ else
207
+ return config.items;
208
+ });
209
+ this.subMenuItems = computed(() => {
210
+ const config = this.subMenuConfig();
211
+ if (config.prefix)
212
+ return config.items.map((item) => this.addPrefix(item, config.prefix));
213
+ else
214
+ return config.items;
215
+ });
216
+ this.menuSource$ = this.menuSource.asObservable();
217
+ this.resetSource$ = this.resetSource.asObservable();
218
+ }
219
+ addPrefix(menuItem, appPrefix) {
220
+ if (menuItem.items) {
221
+ menuItem.items = menuItem.items.map((item) => this.addPrefix(item, appPrefix));
222
+ }
223
+ else {
224
+ menuItem.routerLink = `/${appPrefix}/${menuItem.routerLink}`;
225
+ }
226
+ return menuItem;
227
+ }
228
+ onMenuStateChange(event) {
229
+ this.menuSource.next(event);
230
+ }
231
+ reset() {
232
+ this.resetSource.next(true);
233
+ }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
235
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, providedIn: 'root' }); }
236
+ }
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuService, decorators: [{
238
+ type: Injectable,
239
+ args: [{
240
+ providedIn: 'root'
241
+ }]
242
+ }] });
243
+
244
+ class AppConfigComponent {
245
+ constructor(layoutService, menuService) {
246
+ this.layoutService = layoutService;
247
+ this.menuService = menuService;
248
+ this.minimal = false;
249
+ this.componentThemes = [];
250
+ this.scales = [12, 13, 14, 15, 16];
251
+ }
252
+ get visible() {
253
+ return this.layoutService.state.configSidebarVisible;
254
+ }
255
+ set visible(_val) {
256
+ this.layoutService.state.configSidebarVisible = _val;
257
+ }
258
+ get scale() {
259
+ return this.layoutService.config().scale;
260
+ }
261
+ set scale(_val) {
262
+ this.layoutService.config.update((config) => ({
263
+ ...config,
264
+ scale: _val
265
+ }));
266
+ }
267
+ get menuMode() {
268
+ return this.layoutService.config().menuMode;
269
+ }
270
+ set menuMode(_val) {
271
+ this.layoutService.config.update((config) => ({
272
+ ...config,
273
+ menuMode: _val
274
+ }));
275
+ if (this.layoutService.isSlimPlus() || this.layoutService.isSlim() || this.layoutService.isHorizontal()) {
276
+ this.menuService.reset();
277
+ }
278
+ }
279
+ get colorScheme() {
280
+ return this.layoutService.config().colorScheme;
281
+ }
282
+ set colorScheme(_val) {
283
+ this.layoutService.config.update((config) => ({
284
+ ...config,
285
+ colorScheme: _val
286
+ }));
287
+ }
288
+ get inputStyle() {
289
+ return this.layoutService.config().inputStyle;
290
+ }
291
+ set inputStyle(_val) {
292
+ this.layoutService.config.update((config) => ({
293
+ ...config,
294
+ inputStyle: _val
295
+ }));
296
+ }
297
+ get ripple() {
298
+ return this.layoutService.config().ripple;
299
+ }
300
+ set ripple(_val) {
301
+ this.layoutService.config.update((config) => ({
302
+ ...config,
303
+ ripple: _val
304
+ }));
305
+ }
306
+ get menuTheme() {
307
+ return this.layoutService.config().menuTheme;
308
+ }
309
+ set menuTheme(_val) {
310
+ this.layoutService.config.update((config) => ({
311
+ ...config,
312
+ menuTheme: _val
313
+ }));
314
+ }
315
+ get theme() {
316
+ return this.layoutService.config().theme;
317
+ }
318
+ set theme(_val) {
319
+ this.layoutService.config.update((config) => ({
320
+ ...config,
321
+ theme: _val
322
+ }));
323
+ }
324
+ ngOnInit() {
325
+ this.componentThemes = [
326
+ { name: 'indigo', color: '#6366F1' },
327
+ { name: 'blue', color: '#3B82F6' },
328
+ { name: 'purple', color: '#8B5CF6' },
329
+ { name: 'teal', color: '#14B8A6' },
330
+ { name: 'cyan', color: '#06b6d4' },
331
+ { name: 'green', color: '#10b981' },
332
+ { name: 'orange', color: '#f59e0b' },
333
+ { name: 'pink', color: '#d946ef' }
334
+ ];
335
+ }
336
+ onConfigButtonClick() {
337
+ this.layoutService.showConfigSidebar();
338
+ }
339
+ changeColorScheme(colorScheme) {
340
+ this.colorScheme = colorScheme;
341
+ }
342
+ changeTheme(theme) {
343
+ this.theme = theme;
344
+ }
345
+ decrementScale() {
346
+ this.scale--;
347
+ }
348
+ incrementScale() {
349
+ this.scale++;
350
+ }
351
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, deps: [{ token: LayoutService }, { token: AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
352
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppConfigComponent, isStandalone: true, selector: "app-config", inputs: { minimal: "minimal" }, ngImport: i0, template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i7.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy"], outputs: ["onChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
353
+ }
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, decorators: [{
355
+ type: Component,
356
+ args: [{ standalone: true, selector: 'app-config', imports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass], template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n" }]
357
+ }], ctorParameters: () => [{ type: LayoutService }, { type: AppMenuService }], propDecorators: { minimal: [{
358
+ type: Input
359
+ }] } });
360
+
361
+ class AppProfileSidebarComponent {
362
+ constructor(layoutService) {
363
+ this.layoutService = layoutService;
364
+ }
365
+ get visible() {
366
+ return this.layoutService.state.profileSidebarVisible;
367
+ }
368
+ set visible(_val) {
369
+ this.layoutService.state.profileSidebarVisible = _val;
370
+ }
371
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppProfileSidebarComponent, deps: [{ token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
372
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppProfileSidebarComponent, isStandalone: true, selector: "app-profilemenu", ngImport: i0, template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Welcome</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">Isabella Andolini</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin m\u0131ollit</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Sign Out</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Sed ut perspiciatis</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</p-sidebar>\n", dependencies: [{ kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3$1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
373
+ }
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppProfileSidebarComponent, decorators: [{
375
+ type: Component,
376
+ args: [{ standalone: true, selector: 'app-profilemenu', imports: [SidebarModule, TagModule], template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Welcome</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">Isabella Andolini</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin m\u0131ollit</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Sign Out</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Sed ut perspiciatis</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</p-sidebar>\n" }]
377
+ }], ctorParameters: () => [{ type: LayoutService }] });
378
+
209
379
  class AppMenuItemComponent {
210
380
  constructor(layoutService, cd, router, menuService) {
211
381
  this.layoutService = layoutService;
@@ -364,7 +534,7 @@ class AppMenuItemComponent {
364
534
  this.menuResetSubscription.unsubscribe();
365
535
  }
366
536
  }
367
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuItemComponent, deps: [{ token: LayoutService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
537
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuItemComponent, deps: [{ token: LayoutService }, { token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
368
538
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppMenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, viewQueries: [{ propertyName: "submenu", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: `
369
539
  <ng-container>
370
540
  @if (root) {
@@ -432,7 +602,7 @@ class AppMenuItemComponent {
432
602
  </ul>
433
603
  }
434
604
  </ng-container>
435
- `, isInline: true, dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i5.Ripple, selector: "[pRipple]" }], animations: [
605
+ `, isInline: true, dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i5$1.Ripple, selector: "[pRipple]" }], animations: [
436
606
  trigger('children', [
437
607
  state('collapsed', style({
438
608
  height: '0'
@@ -542,7 +712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
542
712
  ])
543
713
  ]
544
714
  }]
545
- }], ctorParameters: () => [{ type: LayoutService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: AppMenuService }], propDecorators: { item: [{
715
+ }], ctorParameters: () => [{ type: LayoutService }, { type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: AppMenuService }], propDecorators: { item: [{
546
716
  type: Input
547
717
  }], index: [{
548
718
  type: Input
@@ -579,11 +749,11 @@ class AppSubMenuComponent {
579
749
  return 'app-sub-menu-' + globalThis.activeMF;
580
750
  }
581
751
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
582
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSubMenuComponent, isStandalone: true, selector: "app-sub-menu", host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"layout-sidebar\">\r\n\t<div #subMenuContainer class=\"layout-menu-container\">\r\n\t\t<ul class=\"layout-menu flex-wrap\">\r\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\r\n\t\t\t\t@if (subItem.separator) {\r\n\t\t\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
752
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSubMenuComponent, isStandalone: true, selector: "app-sub-menu", host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"layout-sidebar\">\n\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t<ul class=\"layout-menu flex-wrap\">\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\n\t\t\t\t@if (subItem.separator) {\n\t\t\t\t\t<li class=\"menu-separator\"></li>\n\t\t\t\t} @else {\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n</div>\n", dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
583
753
  }
584
754
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, decorators: [{
585
755
  type: Component,
586
- args: [{ standalone: true, selector: 'app-sub-menu', imports: [AppMenuItemComponent], template: "<div class=\"layout-sidebar\">\r\n\t<div #subMenuContainer class=\"layout-menu-container\">\r\n\t\t<ul class=\"layout-menu flex-wrap\">\r\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\r\n\t\t\t\t@if (subItem.separator) {\r\n\t\t\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n" }]
756
+ args: [{ standalone: true, selector: 'app-sub-menu', imports: [AppMenuItemComponent], template: "<div class=\"layout-sidebar\">\n\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t<ul class=\"layout-menu flex-wrap\">\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\n\t\t\t\t@if (subItem.separator) {\n\t\t\t\t\t<li class=\"menu-separator\"></li>\n\t\t\t\t} @else {\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n</div>\n" }]
587
757
  }], propDecorators: { id: [{
588
758
  type: HostBinding,
589
759
  args: ['id']
@@ -625,43 +795,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
625
795
  args: ['menuContainer']
626
796
  }] } });
627
797
 
628
- class AppBreadcrumbComponent {
629
- constructor(router) {
630
- this.router = router;
631
- this._breadcrumbs$ = new BehaviorSubject([]);
632
- this.breadcrumbs$ = this._breadcrumbs$.asObservable();
633
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
634
- const root = this.router.routerState.snapshot.root;
635
- const breadcrumbs = [];
636
- this.addBreadcrumb(root, [], breadcrumbs);
637
- this._breadcrumbs$.next(breadcrumbs);
638
- });
639
- }
640
- addBreadcrumb(route, parentUrl, breadcrumbs) {
641
- const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
642
- const breadcrumb = route.data['breadcrumb'];
643
- const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;
644
- if (breadcrumb && breadcrumb !== parentBreadcrumb) {
645
- breadcrumbs.push({
646
- label: route.data['breadcrumb'],
647
- url: '/' + routeUrl.join('/')
648
- });
649
- }
650
- if (route.firstChild) {
651
- this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
652
- }
653
- }
654
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
655
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] }); }
656
- }
657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
658
- type: Component,
659
- args: [{ standalone: true, selector: 'app-breadcrumb', imports: [NgTemplateOutlet, AsyncPipe], template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n" }]
660
- }], ctorParameters: () => [{ type: i2.Router }] });
661
-
662
798
  class AppTopbarComponent {
663
- constructor(layoutService) {
664
- this.layoutService = layoutService;
799
+ constructor() {
800
+ this.layoutService = inject(LayoutService);
801
+ this.keyCloakManager = inject(KeycloakManager);
665
802
  }
666
803
  onMenuButtonClick() {
667
804
  this.layoutService.onMenuToggle();
@@ -672,152 +809,17 @@ class AppTopbarComponent {
672
809
  onConfigButtonClick() {
673
810
  this.layoutService.showConfigSidebar();
674
811
  }
675
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [{ token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
676
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\r\n\t\t<!-- <app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb> -->\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li class=\"topbar-search\">\r\n\t\t\t\t<span class=\"p-input-icon-left\">\r\n\t\t\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tpInputText\r\n\t\t\t\t\t\tplaceholder=\"Search\"\r\n\t\t\t\t\t\tclass=\"p-inputtext p-component p-element w-12rem sm:w-full\" />\r\n\t\t\t\t</span>\r\n\t\t\t</li>\r\n\t\t\t<!-- <li class=\"ml-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tpButton\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\r\n\t\t\t\t\t(click)=\"onConfigButtonClick()\"></button>\r\n\t\t\t</li> -->\r\n\t\t\t<li class=\"topbar-profile\">\r\n\t\t\t\t<button type=\"button\" class=\"p-link\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t<img src=\"assets/images/avatar.png\" alt=\"Profile\" />\r\n\t\t\t\t</button>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }] }); }
812
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
813
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n\t<div class=\"topbar-start\">\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\n\t\t\t<i class=\"pi pi-bars\"></i>\n\t\t</button>\n\n\t\t<!-- <app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb> -->\n\t</div>\n\n\t<div class=\"topbar-end\">\n\t\t<ul class=\"topbar-menu\">\n\t\t\t<li class=\"topbar-search\">\n\t\t\t\t<span class=\"p-input-icon-left\">\n\t\t\t\t\t<i class=\"pi pi-search\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tpInputText\n\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\tclass=\"p-inputtext p-component p-element w-12rem sm:w-full\" />\n\t\t\t\t</span>\n\t\t\t</li>\n\t\t\t<!-- <li class=\"ml-3\">\n\t\t\t\t<button\n\t\t\t\t\tpButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ticon=\"pi pi-cog\"\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\n\t\t\t\t\t(click)=\"onConfigButtonClick()\"></button>\n\t\t\t</li> -->\n\t\t\t<li class=\"ml-3\">\n\t\t\t\t<button\n\t\t\t\t\tpButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ticon=\"pi pi-power-off\"\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\n\t\t\t\t\t(click)=\"keyCloakManager.logout()\"></button>\n\t\t\t</li>\n\t\t\t<li class=\"topbar-profile\">\n\t\t\t\t<button type=\"button\" class=\"p-link\" (click)=\"onProfileButtonClick()\">\n\t\t\t\t\t<img src=\"assets/images/avatar.png\" alt=\"Profile\" />\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] }); }
677
814
  }
678
815
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, decorators: [{
679
816
  type: Component,
680
- args: [{ standalone: true, selector: 'app-topbar', imports: [ButtonModule, AppBreadcrumbComponent], template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\r\n\t\t<!-- <app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb> -->\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li class=\"topbar-search\">\r\n\t\t\t\t<span class=\"p-input-icon-left\">\r\n\t\t\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tpInputText\r\n\t\t\t\t\t\tplaceholder=\"Search\"\r\n\t\t\t\t\t\tclass=\"p-inputtext p-component p-element w-12rem sm:w-full\" />\r\n\t\t\t\t</span>\r\n\t\t\t</li>\r\n\t\t\t<!-- <li class=\"ml-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tpButton\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\r\n\t\t\t\t\t(click)=\"onConfigButtonClick()\"></button>\r\n\t\t\t</li> -->\r\n\t\t\t<li class=\"topbar-profile\">\r\n\t\t\t\t<button type=\"button\" class=\"p-link\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t<img src=\"assets/images/avatar.png\" alt=\"Profile\" />\r\n\t\t\t\t</button>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n" }]
681
- }], ctorParameters: () => [{ type: LayoutService }], propDecorators: { menuButton: [{
817
+ args: [{ standalone: true, selector: 'app-topbar', imports: [ButtonModule, AppBreadcrumbComponent], template: "<div class=\"layout-topbar\">\n\t<div class=\"topbar-start\">\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\n\t\t\t<i class=\"pi pi-bars\"></i>\n\t\t</button>\n\n\t\t<!-- <app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb> -->\n\t</div>\n\n\t<div class=\"topbar-end\">\n\t\t<ul class=\"topbar-menu\">\n\t\t\t<li class=\"topbar-search\">\n\t\t\t\t<span class=\"p-input-icon-left\">\n\t\t\t\t\t<i class=\"pi pi-search\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tpInputText\n\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\tclass=\"p-inputtext p-component p-element w-12rem sm:w-full\" />\n\t\t\t\t</span>\n\t\t\t</li>\n\t\t\t<!-- <li class=\"ml-3\">\n\t\t\t\t<button\n\t\t\t\t\tpButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ticon=\"pi pi-cog\"\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\n\t\t\t\t\t(click)=\"onConfigButtonClick()\"></button>\n\t\t\t</li> -->\n\t\t\t<li class=\"ml-3\">\n\t\t\t\t<button\n\t\t\t\t\tpButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ticon=\"pi pi-power-off\"\n\t\t\t\t\tclass=\"p-button-text p-button-secondary p-button-rounded flex-shrink-0\"\n\t\t\t\t\t(click)=\"keyCloakManager.logout()\"></button>\n\t\t\t</li>\n\t\t\t<li class=\"topbar-profile\">\n\t\t\t\t<button type=\"button\" class=\"p-link\" (click)=\"onProfileButtonClick()\">\n\t\t\t\t\t<img src=\"assets/images/avatar.png\" alt=\"Profile\" />\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</div>\n" }]
818
+ }], propDecorators: { menuButton: [{
682
819
  type: ViewChild,
683
820
  args: ['menubutton']
684
821
  }] } });
685
822
 
686
- class AppProfileSidebarComponent {
687
- constructor(layoutService) {
688
- this.layoutService = layoutService;
689
- }
690
- get visible() {
691
- return this.layoutService.state.profileSidebarVisible;
692
- }
693
- set visible(_val) {
694
- this.layoutService.state.profileSidebarVisible = _val;
695
- }
696
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppProfileSidebarComponent, deps: [{ token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
697
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppProfileSidebarComponent, isStandalone: true, selector: "app-profilemenu", ngImport: i0, template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Welcome</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">Isabella Andolini</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin m\u0131ollit</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Sign Out</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Sed ut perspiciatis</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</p-sidebar>\n", dependencies: [{ kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
698
- }
699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppProfileSidebarComponent, decorators: [{
700
- type: Component,
701
- args: [{ standalone: true, selector: 'app-profilemenu', imports: [SidebarModule, TagModule], template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Welcome</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">Isabella Andolini</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin m\u0131ollit</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Sign Out</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Sed ut perspiciatis</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n\t<div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\n\n\t\t<ul class=\"list-none m-0 p-0\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</p-sidebar>\n" }]
702
- }], ctorParameters: () => [{ type: LayoutService }] });
703
-
704
- class AppConfigComponent {
705
- constructor(layoutService, menuService) {
706
- this.layoutService = layoutService;
707
- this.menuService = menuService;
708
- this.minimal = false;
709
- this.componentThemes = [];
710
- this.scales = [12, 13, 14, 15, 16];
711
- }
712
- get visible() {
713
- return this.layoutService.state.configSidebarVisible;
714
- }
715
- set visible(_val) {
716
- this.layoutService.state.configSidebarVisible = _val;
717
- }
718
- get scale() {
719
- return this.layoutService.config().scale;
720
- }
721
- set scale(_val) {
722
- this.layoutService.config.update((config) => ({
723
- ...config,
724
- scale: _val
725
- }));
726
- }
727
- get menuMode() {
728
- return this.layoutService.config().menuMode;
729
- }
730
- set menuMode(_val) {
731
- this.layoutService.config.update((config) => ({
732
- ...config,
733
- menuMode: _val
734
- }));
735
- if (this.layoutService.isSlimPlus() || this.layoutService.isSlim() || this.layoutService.isHorizontal()) {
736
- this.menuService.reset();
737
- }
738
- }
739
- get colorScheme() {
740
- return this.layoutService.config().colorScheme;
741
- }
742
- set colorScheme(_val) {
743
- this.layoutService.config.update((config) => ({
744
- ...config,
745
- colorScheme: _val
746
- }));
747
- }
748
- get inputStyle() {
749
- return this.layoutService.config().inputStyle;
750
- }
751
- set inputStyle(_val) {
752
- this.layoutService.config.update((config) => ({
753
- ...config,
754
- inputStyle: _val
755
- }));
756
- }
757
- get ripple() {
758
- return this.layoutService.config().ripple;
759
- }
760
- set ripple(_val) {
761
- this.layoutService.config.update((config) => ({
762
- ...config,
763
- ripple: _val
764
- }));
765
- }
766
- get menuTheme() {
767
- return this.layoutService.config().menuTheme;
768
- }
769
- set menuTheme(_val) {
770
- this.layoutService.config.update((config) => ({
771
- ...config,
772
- menuTheme: _val
773
- }));
774
- }
775
- get theme() {
776
- return this.layoutService.config().theme;
777
- }
778
- set theme(_val) {
779
- this.layoutService.config.update((config) => ({
780
- ...config,
781
- theme: _val
782
- }));
783
- }
784
- ngOnInit() {
785
- this.componentThemes = [
786
- { name: 'indigo', color: '#6366F1' },
787
- { name: 'blue', color: '#3B82F6' },
788
- { name: 'purple', color: '#8B5CF6' },
789
- { name: 'teal', color: '#14B8A6' },
790
- { name: 'cyan', color: '#06b6d4' },
791
- { name: 'green', color: '#10b981' },
792
- { name: 'orange', color: '#f59e0b' },
793
- { name: 'pink', color: '#d946ef' }
794
- ];
795
- }
796
- onConfigButtonClick() {
797
- this.layoutService.showConfigSidebar();
798
- }
799
- changeColorScheme(colorScheme) {
800
- this.colorScheme = colorScheme;
801
- }
802
- changeTheme(theme) {
803
- this.theme = theme;
804
- }
805
- decrementScale() {
806
- this.scale--;
807
- }
808
- incrementScale() {
809
- this.scale++;
810
- }
811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, deps: [{ token: LayoutService }, { token: AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppConfigComponent, isStandalone: true, selector: "app-config", inputs: { minimal: "minimal" }, ngImport: i0, template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i5$1.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i7.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy"], outputs: ["onChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
813
- }
814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, decorators: [{
815
- type: Component,
816
- args: [{ standalone: true, selector: 'app-config', imports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass], template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n" }]
817
- }], ctorParameters: () => [{ type: LayoutService }, { type: AppMenuService }], propDecorators: { minimal: [{
818
- type: Input
819
- }] } });
820
-
821
823
  class AppLayoutComponent {
822
824
  constructor(menuService, layoutService, renderer, router) {
823
825
  this.menuService = menuService;
@@ -915,8 +917,8 @@ class AppLayoutComponent {
915
917
  this.menuOutsideClickListener();
916
918
  }
917
919
  }
918
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: AppMenuService }, { token: LayoutService }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
919
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n\n<p-toast key=\"toast-root\"></p-toast>\n<p-dialog key=\"dialog-root\"></p-dialog>\n<p-messages key=\"messages-root\"></p-messages>\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$1.ConfirmDialog, selector: "p-confirmDialog", 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", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }, { kind: "component", type: AppConfigComponent, selector: "app-config", inputs: ["minimal"] }] }); }
920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: AppMenuService }, { token: LayoutService }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
921
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n\n<p-toast key=\"toast-root\"></p-toast>\n<p-dialog key=\"dialog-root\"></p-dialog>\n<p-messages key=\"messages-root\"></p-messages>\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$2.ConfirmDialog, selector: "p-confirmDialog", 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", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }, { kind: "component", type: AppConfigComponent, selector: "app-config", inputs: ["minimal"] }] }); }
920
922
  }
921
923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
922
924
  type: Component,
@@ -934,7 +936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
934
936
  AppProfileSidebarComponent,
935
937
  AppConfigComponent
936
938
  ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n\n<p-toast key=\"toast-root\"></p-toast>\n<p-dialog key=\"dialog-root\"></p-dialog>\n<p-messages key=\"messages-root\"></p-messages>\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\n" }]
937
- }], ctorParameters: () => [{ type: AppMenuService }, { type: LayoutService }, { type: i0.Renderer2 }, { type: i2.Router }], propDecorators: { appSidebar: [{
939
+ }], ctorParameters: () => [{ type: AppMenuService }, { type: LayoutService }, { type: i0.Renderer2 }, { type: i1.Router }], propDecorators: { appSidebar: [{
938
940
  type: ViewChild,
939
941
  args: [AppSidebarComponent]
940
942
  }], appTopbar: [{
@@ -955,33 +957,33 @@ class MFELayoutComponent {
955
957
  document.getElementById('app-sub-menu-' + globalThis.activeMF)?.remove();
956
958
  }
957
959
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MFELayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
958
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: MFELayoutComponent, isStandalone: true, selector: "mfe-layout", ngImport: i0, template: `
959
- <app-sub-menu hidden></app-sub-menu>
960
-
961
- <router-outlet />
962
-
963
- <p-toast key="toast-root"></p-toast>
964
- <p-dialog key="dialog-root"></p-dialog>
965
- <p-messages key="messages-root"></p-messages>
966
- <p-confirmPopup key="confirmPopup-root"></p-confirmPopup>
967
- <p-confirmDialog key="confirmDialog-root"></p-confirmDialog>
968
- `, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$1.ConfirmDialog, selector: "p-confirmDialog", 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", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSubMenuComponent, selector: "app-sub-menu" }] }); }
960
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: MFELayoutComponent, isStandalone: true, selector: "mfe-layout", ngImport: i0, template: `
961
+ <app-sub-menu hidden></app-sub-menu>
962
+
963
+ <router-outlet />
964
+
965
+ <p-toast key="toast-root"></p-toast>
966
+ <p-dialog key="dialog-root"></p-dialog>
967
+ <p-messages key="messages-root"></p-messages>
968
+ <p-confirmPopup key="confirmPopup-root"></p-confirmPopup>
969
+ <p-confirmDialog key="confirmDialog-root"></p-confirmDialog>
970
+ `, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$2.ConfirmDialog, selector: "p-confirmDialog", 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", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSubMenuComponent, selector: "app-sub-menu" }] }); }
969
971
  }
970
972
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MFELayoutComponent, decorators: [{
971
973
  type: Component,
972
974
  args: [{
973
975
  standalone: true,
974
976
  selector: 'mfe-layout',
975
- template: `
976
- <app-sub-menu hidden></app-sub-menu>
977
-
978
- <router-outlet />
979
-
980
- <p-toast key="toast-root"></p-toast>
981
- <p-dialog key="dialog-root"></p-dialog>
982
- <p-messages key="messages-root"></p-messages>
983
- <p-confirmPopup key="confirmPopup-root"></p-confirmPopup>
984
- <p-confirmDialog key="confirmDialog-root"></p-confirmDialog>
977
+ template: `
978
+ <app-sub-menu hidden></app-sub-menu>
979
+
980
+ <router-outlet />
981
+
982
+ <p-toast key="toast-root"></p-toast>
983
+ <p-dialog key="dialog-root"></p-dialog>
984
+ <p-messages key="messages-root"></p-messages>
985
+ <p-confirmPopup key="confirmPopup-root"></p-confirmPopup>
986
+ <p-confirmDialog key="confirmDialog-root"></p-confirmDialog>
985
987
  `,
986
988
  imports: [
987
989
  RouterOutlet,