@volo/ngx-lepton-x.lite 4.3.6 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  --lpx-primary: #355dff;
4
4
  --lpx-secondary: #6c5dd3;
5
5
  --lpx-success: #4fbf67;
6
- --lpx-light: #eeeeee;
6
+ --lpx-light: #bbb;
7
7
  --lpx-info: #438aa7;
8
8
  --lpx-danger: #c00d49;
9
9
  --lpx-warning: #ff9f38;
@@ -56,6 +56,54 @@ select:-webkit-autofill:focus {
56
56
  transition: background-color 5000s ease-in-out 0s;
57
57
  }
58
58
 
59
+ .lpx-scroll-container::-webkit-scrollbar-thumb,
60
+ .lpx-nav-menu::-webkit-scrollbar-thumb,
61
+ body::-webkit-scrollbar-thumb,
62
+ pre code::-webkit-scrollbar-thumb,
63
+ .lpx-demo-scrollspy::-webkit-scrollbar-thumb,
64
+ .card-body::-webkit-scrollbar-thumb,
65
+ .modal-body::-webkit-scrollbar-thumb,
66
+ .form-select::-webkit-scrollbar-thumb {
67
+ background-clip: content-box;
68
+ border: solid 2px transparent;
69
+ border-radius: 10px;
70
+ }
71
+
72
+ .lpx-scroll-container, .lpx-nav-menu {
73
+ scrollbar-color: #222 #161616;
74
+ }
75
+ .lpx-scroll-container::-webkit-scrollbar-thumb, .lpx-nav-menu::-webkit-scrollbar-thumb {
76
+ background-color: #161616;
77
+ }
78
+ .lpx-scroll-container::-webkit-scrollbar-track, .lpx-nav-menu::-webkit-scrollbar-track {
79
+ background-color: #222;
80
+ }
81
+
82
+ body,
83
+ pre code,
84
+ .lpx-demo-scrollspy,
85
+ .card-body,
86
+ .modal-body,
87
+ .form-select {
88
+ scrollbar-color: #e7e9ec #ffffff;
89
+ }
90
+ body::-webkit-scrollbar-thumb,
91
+ pre code::-webkit-scrollbar-thumb,
92
+ .lpx-demo-scrollspy::-webkit-scrollbar-thumb,
93
+ .card-body::-webkit-scrollbar-thumb,
94
+ .modal-body::-webkit-scrollbar-thumb,
95
+ .form-select::-webkit-scrollbar-thumb {
96
+ background-color: #ffffff;
97
+ }
98
+ body::-webkit-scrollbar-track,
99
+ pre code::-webkit-scrollbar-track,
100
+ .lpx-demo-scrollspy::-webkit-scrollbar-track,
101
+ .card-body::-webkit-scrollbar-track,
102
+ .modal-body::-webkit-scrollbar-track,
103
+ .form-select::-webkit-scrollbar-track {
104
+ background-color: #e7e9ec;
105
+ }
106
+
59
107
  #lpx-wrapper {
60
108
  margin: 0 auto;
61
109
  max-width: 100% !important;
@@ -276,7 +324,7 @@ select:-webkit-autofill:focus {
276
324
  }
277
325
  .lpx-sidebar .lpx-logo-container .menu-collapse-icon {
278
326
  position: absolute;
279
- left: 30px;
327
+ right: 235px;
280
328
  top: 50%;
281
329
  transform: translateY(-50%);
282
330
  font-size: 1.5em;
@@ -288,6 +336,8 @@ select:-webkit-autofill:focus {
288
336
 
289
337
  .lpx-sidebar-container {
290
338
  min-width: 280px;
339
+ max-width: 280px;
340
+ overflow: hidden;
291
341
  z-index: 1000;
292
342
  position: fixed;
293
343
  top: 0;
@@ -295,6 +345,7 @@ select:-webkit-autofill:focus {
295
345
  }
296
346
  .lpx-sidebar-container .lpx-sidebar {
297
347
  min-height: 100vh;
348
+ margin-top: 72px;
298
349
  }
299
350
  .lpx-sidebar-container .lpx-sidebar .lpx-nav {
300
351
  min-width: 280px;
@@ -305,6 +356,9 @@ select:-webkit-autofill:focus {
305
356
  max-width: 280px;
306
357
  }
307
358
 
359
+ .hover-trigger .lpx-sidebar-container {
360
+ transition: box-shadow 0.25s ease;
361
+ }
308
362
  .hover-trigger .lpx-sidebar-container:not(:hover) .hidden-in-hover-trigger {
309
363
  display: none;
310
364
  }
@@ -314,6 +368,9 @@ select:-webkit-autofill:focus {
314
368
  .hover-trigger .lpx-sidebar-container:not(:hover) .lpx-brand-logo {
315
369
  background-image: var(--lpx-logo-icon);
316
370
  }
371
+ .hover-trigger .lpx-sidebar-container:hover {
372
+ box-shadow: 0 0 30px rgba(3, 19, 33, 0.1), 0 0 0 1px #e7e9ec;
373
+ }
317
374
  .hover-trigger .lpx-sidebar-container {
318
375
  min-width: 72px;
319
376
  }
@@ -328,6 +385,9 @@ select:-webkit-autofill:focus {
328
385
  }
329
386
 
330
387
  @media only screen and (min-width: 768px) and (max-width: 1199px) {
388
+ .lpx-sidebar-container {
389
+ transition: box-shadow 0.25s ease;
390
+ }
331
391
  .lpx-sidebar-container:not(:hover) .hidden-in-hover-trigger {
332
392
  display: none;
333
393
  }
@@ -337,6 +397,9 @@ select:-webkit-autofill:focus {
337
397
  .lpx-sidebar-container:not(:hover) .lpx-brand-logo {
338
398
  background-image: var(--lpx-logo-icon);
339
399
  }
400
+ .lpx-sidebar-container:hover {
401
+ box-shadow: 0 0 30px rgba(3, 19, 33, 0.1), 0 0 0 1px #e7e9ec;
402
+ }
340
403
  .lpx-sidebar-container {
341
404
  min-width: 72px;
342
405
  }
@@ -350,6 +413,75 @@ select:-webkit-autofill:focus {
350
413
  min-width: 280px;
351
414
  }
352
415
  }
416
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-nav {
417
+ min-width: 265px;
418
+ }
419
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-nav .lpx-nav-menu .lpx-menu-item-link .dd-icon {
420
+ left: 9px;
421
+ }
422
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-logo-container {
423
+ width: 280px !important;
424
+ }
425
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-logo-container .menu-collapse-icon {
426
+ right: 235px;
427
+ }
428
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-menu-filter {
429
+ margin-left: 1px;
430
+ }
431
+ #lpx-wrapper .lpx-sidebar.lpx-scroll-container.lpx-has-scrollbar .lpx-nav-menu {
432
+ max-width: 265px;
433
+ }
434
+
435
+ .select2-container--default .select2-selection--single {
436
+ border-radius: 8px;
437
+ height: 42px;
438
+ display: flex;
439
+ align-items: center;
440
+ padding: 0 12px;
441
+ border: 1px solid #d1d5db;
442
+ background-color: #f5f5f7;
443
+ transition: all 0.2s ease-in-out;
444
+ }
445
+
446
+ .select2-container--default .select2-search--dropdown .select2-search__field {
447
+ outline-color: transparent;
448
+ border-radius: 4px;
449
+ }
450
+
451
+ .select2-container--default .select2-results > .select2-results__options {
452
+ max-height: 200px;
453
+ overflow-y: auto;
454
+ border: 1px solid #d1d5db;
455
+ border-radius: 8px;
456
+ margin-top: 4px;
457
+ background-color: #fff;
458
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
459
+ }
460
+
461
+ .select2-container--default .select2-results__option {
462
+ padding: 8px 12px;
463
+ transition: background-color 0.15s;
464
+ }
465
+
466
+ .select2-container--default .select2-results__option--highlighted {
467
+ color: #fff;
468
+ }
469
+
470
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
471
+ left: 13px;
472
+ }
473
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
474
+ border: none;
475
+ width: 12px;
476
+ height: 12px;
477
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23111827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 4 7 9 12 4'/%3E%3C/svg%3E");
478
+ background-repeat: no-repeat;
479
+ background-position: center;
480
+ background-size: 12px 12px;
481
+ display: inline-block;
482
+ transition: transform 0.25s ease;
483
+ }
484
+
353
485
  @media only screen and (min-width: 1200px) {
354
486
  .lpx-content-container {
355
487
  margin-right: 280px;
@@ -381,10 +513,6 @@ select:-webkit-autofill:focus {
381
513
  min-height: calc(100vh - 64px);
382
514
  }
383
515
 
384
- .lpx-nav {
385
- padding-top: 72px;
386
- }
387
-
388
516
  .lpx-topbar-content {
389
517
  display: flex;
390
518
  align-items: center;
@@ -817,6 +945,10 @@ select:-webkit-autofill:focus {
817
945
  padding: 0 0 15px 0;
818
946
  }
819
947
 
948
+ .lpx-right-menu .lpx-nav .lpx-nav-menu {
949
+ padding: 0;
950
+ }
951
+
820
952
  .lpx-nav-menu {
821
953
  margin: 0;
822
954
  padding: 0;
@@ -978,6 +1110,65 @@ select:-webkit-autofill:focus {
978
1110
  text-decoration: none;
979
1111
  }
980
1112
 
1113
+ .lpx-menu-filter {
1114
+ font-size: 1em;
1115
+ margin: 1px 16px 9px;
1116
+ padding: 0px 9px;
1117
+ position: relative;
1118
+ background: #222;
1119
+ border-radius: 0.5rem;
1120
+ border: 1px solid rgba(255, 255, 255, 0.05);
1121
+ }
1122
+ .lpx-menu-filter .menu-filter-icon {
1123
+ width: 18px;
1124
+ line-height: 32px;
1125
+ text-align: center;
1126
+ display: inline-block;
1127
+ }
1128
+ .lpx-menu-filter .menu-filter-input {
1129
+ padding: 0;
1130
+ opacity: 1;
1131
+ color: #fff;
1132
+ height: 30px;
1133
+ width: 170px;
1134
+ border-radius: 0.5rem;
1135
+ transition: padding 0.2s ease;
1136
+ border: 0;
1137
+ outline: 0;
1138
+ background: #222;
1139
+ padding-right: 8px;
1140
+ position: absolute;
1141
+ top: 0;
1142
+ }
1143
+ .lpx-menu-filter .menu-filter-input::-moz-placeholder {
1144
+ color: #9198a5;
1145
+ }
1146
+ .lpx-menu-filter .menu-filter-input::placeholder {
1147
+ color: #9198a5;
1148
+ }
1149
+ .lpx-menu-filter .menu-filter-input:focus, .lpx-menu-filter .menu-filter-input:active {
1150
+ border: 0;
1151
+ outline: 0;
1152
+ background: #222;
1153
+ }
1154
+ .lpx-menu-filter .menu-filter-clear {
1155
+ position: absolute;
1156
+ top: 1px;
1157
+ left: 9px;
1158
+ cursor: pointer;
1159
+ opacity: 0.65;
1160
+ }
1161
+ .lpx-menu-filter .menu-filter-clear .clear-icon {
1162
+ font-size: 20px;
1163
+ }
1164
+ .lpx-menu-filter .menu-filter-clear.hidden {
1165
+ opacity: 0;
1166
+ }
1167
+
1168
+ .hover-trigger .lpx-sidebar:not(:hover) .menu-filter-clear {
1169
+ opacity: 0;
1170
+ }
1171
+
981
1172
  .lpx-user-profile.dropdown-toggle::after {
982
1173
  content: none;
983
1174
  }
@@ -1,17 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ContentChild, Component, NgModule, Directive, inject, ViewEncapsulation, Input, ChangeDetectionStrategy, InjectionToken, provideAppInitializer, makeEnvironmentProviders } from '@angular/core';
3
- import * as i1$1 from '@angular/common';
2
+ import { inject, ContentChild, Component, NgModule, TemplateRef, Directive, ViewEncapsulation, Input, ChangeDetectionStrategy, InjectionToken, provideAppInitializer, makeEnvironmentProviders } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
4
  import { NgTemplateOutlet, AsyncPipe, CommonModule, NgClass } from '@angular/common';
5
- import * as i1 from '@volo/ngx-lepton-x.core';
6
- import { IconComponent, NavbarRoutesComponent, BrandLogoComponent, LogoPanelDirective, LpxBrandLogoModule, LpxIconModule, LpxNavbarModule, UserProfileService, AvatarComponent, TranslatePipe, LpxAvatarModule, LpxTranslateModule, LanguageService, LpxVisibleDirective, ToolbarService, LayoutService, ResponsiveDirective, NavbarComponent, BreadcrumbComponent, FooterComponent, NavbarPanelDirective, MobileNavbarPanelDirective, BreadcrumbPanelDirective, FooterPanelDirective, NavitemPanelDirective, ContentPanelDirective, createStyleFactory, LPX_LAYOUT_STYLE_FINAL, LpxBreadcrumbModule, LpxResponsiveModule, LpxFooterModule, PanelsModule } from '@volo/ngx-lepton-x.core';
5
+ import { NavbarService, LayoutService, IconComponent, NavbarRoutesComponent, BrandLogoComponent, LogoPanelDirective, LpxBrandLogoModule, LpxIconModule, LpxNavbarModule, UserProfileService, AvatarComponent, TranslatePipe, LpxAvatarModule, LpxTranslateModule, LanguageService, LpxVisibleDirective, ToolbarService, ResponsiveDirective, NavbarComponent, BreadcrumbComponent, FooterComponent, NavbarPanelDirective, MobileNavbarPanelDirective, BreadcrumbPanelDirective, FooterPanelDirective, NavitemPanelDirective, ContentPanelDirective, createStyleFactory, LPX_LAYOUT_STYLE_FINAL, LpxBreadcrumbModule, LpxResponsiveModule, LpxFooterModule, PanelsModule } from '@volo/ngx-lepton-x.core';
7
6
  import { LanguageSelectionModule, UserProfileComponent, LanguageSelectionComponent, UserProfileModule } from '@volo/ngx-lepton-x.lite';
8
7
  import { ɵEmptyOutletComponent as _EmptyOutletComponent, RouterLink, RouterModule } from '@angular/router';
9
8
  import { Observable, of } from 'rxjs';
10
9
 
11
10
  class MobileNavbarComponent {
12
- constructor(navService, layoutService) {
13
- this.navService = navService;
14
- this.layoutService = layoutService;
11
+ constructor() {
12
+ this.navService = inject(NavbarService);
13
+ this.layoutService = inject(LayoutService);
15
14
  this.userMenuHidden = true;
16
15
  this.navItemsHidden = true;
17
16
  this.mobileMenuOpened = 'mobile-menu-opened';
@@ -34,7 +33,7 @@ class MobileNavbarComponent {
34
33
  this.layoutService.addClass(this.mobileMenuOpened);
35
34
  }
36
35
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileNavbarComponent, deps: [{ token: i1.NavbarService }, { token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
37
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", type: MobileNavbarComponent, isStandalone: true, selector: "lpx-mobile-navbar", queries: [{ propertyName: "logoPanel", first: true, predicate: LogoPanelDirective, descendants: true }], ngImport: i0, template: "<div class=\"lpx-mobile-navbar-container\">\r\n <header class=\"lpx-mobile-navbar\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n </div>\r\n <div class=\"user-menu\">\r\n <lpx-icon\r\n iconClass=\"bi bi-person\"\r\n role=\"button\"\r\n (click)=\"toggleUserMenu()\"\r\n ></lpx-icon>\r\n <lpx-icon\r\n iconClass=\"bi bi-list\"\r\n role=\"button\"\r\n (click)=\"toggleNavbar()\"\r\n ></lpx-icon>\r\n </div>\r\n </header>\r\n\r\n <div class=\"user-menu-groups\" [class.d-none]=\"userMenuHidden\">\r\n <ng-content> </ng-content>\r\n </div>\r\n\r\n <nav class=\"lpx-mobile-nav-items\" [class.d-none]=\"navItemsHidden\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"navService.navbarItems$ | async\"\r\n [routerItem]=\"true\"\r\n (routeClick)=\"toggleNavbar()\"\r\n ></lpx-navbar-routes>\r\n </nav>\r\n</div>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo />\r\n</ng-template>\r\n", styles: [".mobile-menu-opened :host{height:100vh;display:block}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "component", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: ["navbarItems", "groupedItems", "routerItem"], outputs: ["routeClick"] }, { kind: "component", type: BrandLogoComponent, selector: "lpx-brand-logo", inputs: ["layout"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
39
38
  }
40
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileNavbarComponent, decorators: [{
@@ -46,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
46
45
  BrandLogoComponent,
47
46
  AsyncPipe,
48
47
  ], template: "<div class=\"lpx-mobile-navbar-container\">\r\n <header class=\"lpx-mobile-navbar\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n </div>\r\n <div class=\"user-menu\">\r\n <lpx-icon\r\n iconClass=\"bi bi-person\"\r\n role=\"button\"\r\n (click)=\"toggleUserMenu()\"\r\n ></lpx-icon>\r\n <lpx-icon\r\n iconClass=\"bi bi-list\"\r\n role=\"button\"\r\n (click)=\"toggleNavbar()\"\r\n ></lpx-icon>\r\n </div>\r\n </header>\r\n\r\n <div class=\"user-menu-groups\" [class.d-none]=\"userMenuHidden\">\r\n <ng-content> </ng-content>\r\n </div>\r\n\r\n <nav class=\"lpx-mobile-nav-items\" [class.d-none]=\"navItemsHidden\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"navService.navbarItems$ | async\"\r\n [routerItem]=\"true\"\r\n (routeClick)=\"toggleNavbar()\"\r\n ></lpx-navbar-routes>\r\n </nav>\r\n</div>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo />\r\n</ng-template>\r\n", styles: [".mobile-menu-opened :host{height:100vh;display:block}\n"] }]
49
- }], ctorParameters: () => [{ type: i1.NavbarService }, { type: i1.LayoutService }], propDecorators: { logoPanel: [{
48
+ }], propDecorators: { logoPanel: [{
50
49
  type: ContentChild,
51
50
  args: [LogoPanelDirective]
52
51
  }] } });
@@ -82,16 +81,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
82
81
  }] });
83
82
 
84
83
  class SettingsPanelDirective {
85
- constructor(template) {
86
- this.template = template;
84
+ constructor() {
85
+ this.template = inject(TemplateRef);
87
86
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: SettingsPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: SettingsPanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
89
88
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: SettingsPanelDirective, isStandalone: true, selector: "ng-template[lpx-settings-panel]", ngImport: i0 }); }
90
89
  }
91
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: SettingsPanelDirective, decorators: [{
92
91
  type: Directive,
93
92
  args: [{ selector: 'ng-template[lpx-settings-panel]' }]
94
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
93
+ }] });
95
94
 
96
95
  class MnUserProfileComponent {
97
96
  constructor() {
@@ -193,7 +192,7 @@ class ToolbarItemComponent {
193
192
  }
194
193
  }
195
194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: ToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: ToolbarItemComponent, isStandalone: true, selector: "lpx-toolbar-item", inputs: { component: "component", template: "template", icon: "icon", badge: "badge", html: "html", action: "action" }, ngImport: i0, template: "@if (component) {\r\n <div class=\"lpx-menu-item-link\" (click)=\"actionClick()\">\r\n <div class=\"lpx-menu-item-icon\">\r\n <div class=\"lpx-icon\">\r\n <ng-container *ngComponentOutlet=\"component\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n} @else {\r\n @if (template) {\r\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\r\n } @else {\r\n @if (html) {\r\n <div [innerHtml]=\"html\" (click)=\"actionClick()\"></div>\r\n } @else {\r\n <a class=\"lpx-menu-item-link active-menu-item\" (click)=\"actionClick()\">\r\n <span class=\"lpx-menu-item-icon\">\r\n @if (badge$ | async; as badge) {\r\n <small class=\"menu-item-badge\">{{ badge }}</small>\r\n }\r\n @if (icon) {\r\n <lpx-icon class=\"action-icon\" [iconClass]=\"icon\"></lpx-icon>\r\n }\r\n </span>\r\n </a>\r\n }\r\n }\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }] }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: ToolbarItemComponent, isStandalone: true, selector: "lpx-toolbar-item", inputs: { component: "component", template: "template", icon: "icon", badge: "badge", html: "html", action: "action" }, ngImport: i0, template: "@if (component) {\r\n <div class=\"lpx-menu-item-link\" (click)=\"actionClick()\">\r\n <div class=\"lpx-menu-item-icon\">\r\n <div class=\"lpx-icon\">\r\n <ng-container *ngComponentOutlet=\"component\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n} @else {\r\n @if (template) {\r\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\r\n } @else {\r\n @if (html) {\r\n <div [innerHtml]=\"html\" (click)=\"actionClick()\"></div>\r\n } @else {\r\n <a class=\"lpx-menu-item-link active-menu-item\" (click)=\"actionClick()\">\r\n <span class=\"lpx-menu-item-icon\">\r\n @if (badge$ | async; as badge) {\r\n <small class=\"menu-item-badge\">{{ badge }}</small>\r\n }\r\n @if (icon) {\r\n <lpx-icon class=\"action-icon\" [iconClass]=\"icon\"></lpx-icon>\r\n }\r\n </span>\r\n </a>\r\n }\r\n }\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }] }); }
197
196
  }
198
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: ToolbarItemComponent, decorators: [{
199
198
  type: Component,
@@ -245,64 +244,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
245
244
  }] });
246
245
 
247
246
  class LanguageSelectionPanelDirective {
248
- constructor(template) {
249
- this.template = template;
247
+ constructor() {
248
+ this.template = inject(TemplateRef);
250
249
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: LanguageSelectionPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: LanguageSelectionPanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
252
251
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: LanguageSelectionPanelDirective, isStandalone: true, selector: "ng-template[lpx-language-selection]", ngImport: i0 }); }
253
252
  }
254
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: LanguageSelectionPanelDirective, decorators: [{
255
254
  type: Directive,
256
255
  args: [{ selector: 'ng-template[lpx-language-selection]' }]
257
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
256
+ }] });
258
257
 
259
258
  class MobileLanguageSelectionDirective {
260
- constructor(template) {
261
- this.template = template;
259
+ constructor() {
260
+ this.template = inject(TemplateRef);
262
261
  }
263
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileLanguageSelectionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileLanguageSelectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
264
263
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: MobileLanguageSelectionDirective, isStandalone: true, selector: "ng-template[lpx-mn-language-selection]", ngImport: i0 }); }
265
264
  }
266
265
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileLanguageSelectionDirective, decorators: [{
267
266
  type: Directive,
268
267
  args: [{ selector: 'ng-template[lpx-mn-language-selection]' }]
269
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
268
+ }] });
270
269
 
271
270
  class MobileUserProfilePanelDirective {
272
- constructor(template) {
273
- this.template = template;
271
+ constructor() {
272
+ this.template = inject(TemplateRef);
274
273
  }
275
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileUserProfilePanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileUserProfilePanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
276
275
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: MobileUserProfilePanelDirective, isStandalone: true, selector: "ng-template[lpx-mn-user-profile-panel]", ngImport: i0 }); }
277
276
  }
278
277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: MobileUserProfilePanelDirective, decorators: [{
279
278
  type: Directive,
280
279
  args: [{ selector: 'ng-template[lpx-mn-user-profile-panel]' }]
281
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
280
+ }] });
282
281
 
283
282
  class TopbarContentPanelDirective {
284
- constructor(template) {
285
- this.template = template;
283
+ constructor() {
284
+ this.template = inject(TemplateRef);
286
285
  }
287
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: TopbarContentPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: TopbarContentPanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
288
287
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: TopbarContentPanelDirective, isStandalone: true, selector: "ng-template[lpx-topbar-content]", ngImport: i0 }); }
289
288
  }
290
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: TopbarContentPanelDirective, decorators: [{
291
290
  type: Directive,
292
291
  args: [{ selector: 'ng-template[lpx-topbar-content]' }]
293
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
292
+ }] });
294
293
 
295
294
  class UserProfilePanelDirective {
296
- constructor(template) {
297
- this.template = template;
295
+ constructor() {
296
+ this.template = inject(TemplateRef);
298
297
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: UserProfilePanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: UserProfilePanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
300
299
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: UserProfilePanelDirective, isStandalone: true, selector: "ng-template[lpx-user-profile]", ngImport: i0 }); }
301
300
  }
302
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: UserProfilePanelDirective, decorators: [{
303
302
  type: Directive,
304
303
  args: [{ selector: 'ng-template[lpx-user-profile]' }]
305
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
304
+ }] });
306
305
 
307
306
  class SideMenuLayoutComponent {
308
307
  constructor() {