sgh-navbar 0.0.1

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.
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # SghNavbar
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project sgh-navbar` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project sgh-navbar`.
8
+ > Note: Don't forget to add `--project sgh-navbar` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build sgh-navbar` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build sgh-navbar`, go to the dist folder `cd dist/sgh-navbar` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test sgh-navbar` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,22 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SghNavbarComponent {
4
+ constructor() { }
5
+ ngOnInit() {
6
+ }
7
+ }
8
+ SghNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SghNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SghNavbarComponent, selector: "lib-sgh-navbar", ngImport: i0, template: `
10
+ <p>
11
+ sgh-navbar works!
12
+ </p>
13
+ `, isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'lib-sgh-navbar', template: `
17
+ <p>
18
+ sgh-navbar works!
19
+ </p>
20
+ ` }]
21
+ }], ctorParameters: function () { return []; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2doLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2doLW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7Z0hBTFUsa0JBQWtCO29HQUFsQixrQkFBa0Isc0RBUm5COzs7O0dBSVQ7NEZBSVUsa0JBQWtCO2tCQVY5QixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNnaC1uYXZiYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxwPlxuICAgICAgc2doLW5hdmJhciB3b3JrcyFcbiAgICA8L3A+XG4gIGAsXG4gIHN0eWxlczogW1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNnaE5hdmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { SghNavbarComponent } from './sgh-navbar.component';
3
+ import { SublevelMenuComponent } from './sidenav/sublevel-menu.component';
4
+ import { SidenavComponent } from './sidenav/sidenav.component';
5
+ import { ToolbarComponent } from './toolbar/toolbar.component';
6
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
+ import { CommonModule } from '@angular/common';
8
+ import { HttpClientModule } from '@angular/common/http';
9
+ import { RouterModule } from '@angular/router';
10
+ import { FormsModule } from '@angular/forms';
11
+ import * as i0 from "@angular/core";
12
+ export class SghNavbarModule {
13
+ }
14
+ SghNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ SghNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarModule, declarations: [SghNavbarComponent,
16
+ SublevelMenuComponent,
17
+ SidenavComponent,
18
+ ToolbarComponent], imports: [BrowserAnimationsModule,
19
+ CommonModule,
20
+ HttpClientModule,
21
+ RouterModule,
22
+ FormsModule], exports: [SghNavbarComponent,
23
+ SublevelMenuComponent,
24
+ SidenavComponent,
25
+ ToolbarComponent] });
26
+ SghNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarModule, imports: [BrowserAnimationsModule,
27
+ CommonModule,
28
+ HttpClientModule,
29
+ RouterModule,
30
+ FormsModule] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [
35
+ SghNavbarComponent,
36
+ SublevelMenuComponent,
37
+ SidenavComponent,
38
+ ToolbarComponent
39
+ ],
40
+ imports: [
41
+ BrowserAnimationsModule,
42
+ CommonModule,
43
+ HttpClientModule,
44
+ RouterModule,
45
+ FormsModule
46
+ ],
47
+ exports: [
48
+ SghNavbarComponent,
49
+ SublevelMenuComponent,
50
+ SidenavComponent,
51
+ ToolbarComponent
52
+ ]
53
+ }]
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2doLW5hdmJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2doLW5hdmJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUF5QjdDLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBbkJ4QixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUFHaEIsdUJBQXVCO1FBQ3ZCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFdBQVcsYUFHWCxrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixnQkFBZ0I7OEdBR1AsZUFBZSxZQWJ4Qix1QkFBdUI7UUFDdkIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osV0FBVzs0RkFTRixlQUFlO2tCQXJCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNnaE5hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vc2doLW5hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibGV2ZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlbmF2L3N1YmxldmVsLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGVuYXZDb21wb25lbnQgfSBmcm9tICcuL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNnaE5hdmJhckNvbXBvbmVudCxcbiAgICBTdWJsZXZlbE1lbnVDb21wb25lbnQsXG4gICAgU2lkZW5hdkNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNnaE5hdmJhckNvbXBvbmVudCxcbiAgICBTdWJsZXZlbE1lbnVDb21wb25lbnQsXG4gICAgU2lkZW5hdkNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2doTmF2YmFyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SghNavbarService {
4
+ constructor() { }
5
+ }
6
+ SghNavbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ SghNavbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SghNavbarService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2doLW5hdmJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3NnaC1uYXZiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLGdCQUFnQixDQUFDOzs4R0FGTixnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2doTmF2YmFyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { animate, style, transition, trigger } from "@angular/animations";
2
+ export const fadeInOut = trigger('fadeInOut', [
3
+ transition(':enter', [
4
+ style({ opacity: 0 }),
5
+ animate('350ms', style({ opacity: 1 }))
6
+ ]),
7
+ transition(':leave', [
8
+ style({ opacity: 1 }),
9
+ animate('350ms', style({ opacity: 0 }))
10
+ ])
11
+ ]);
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3NpZGVuYXYvaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVUxRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRTtJQUMxQyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ25CLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUNwQjtLQUNGLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ25CLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUNwQjtLQUNGLENBQUM7Q0FDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElOYXZiYXJEYXRhIHtcclxuICAgIHJvdXRlTGluazogc3RyaW5nO1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgICBpdGVtcz86IElOYXZiYXJEYXRhW107XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBmYWRlSW5PdXQgPSB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXHJcbiAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgIHN0eWxlKHtvcGFjaXR5OiAwfSksXHJcbiAgICAgIGFuaW1hdGUoJzM1MG1zJyxcclxuICAgICAgICBzdHlsZSh7b3BhY2l0eTogMX0pXHJcbiAgICAgIClcclxuICAgIF0pLFxyXG4gICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4gICAgICBzdHlsZSh7b3BhY2l0eTogMX0pLFxyXG4gICAgICBhbmltYXRlKCczNTBtcycsXHJcbiAgICAgICAgc3R5bGUoe29wYWNpdHk6IDB9KVxyXG4gICAgICApXHJcbiAgICBdKVxyXG4gIF0pIl19
@@ -0,0 +1,89 @@
1
+ export const navbarData = [
2
+ {
3
+ routeLink: 'dashboard',
4
+ icon: 'fal fa-home',
5
+ label: 'Dashboard'
6
+ },
7
+ {
8
+ routeLink: 'products',
9
+ icon: 'fal fa-box-open',
10
+ label: 'Products',
11
+ items: [
12
+ {
13
+ routeLink: 'products/level1.1',
14
+ label: 'Level 1.1',
15
+ items: [
16
+ {
17
+ routeLink: 'products/level2.1',
18
+ label: 'Level 2.1',
19
+ },
20
+ {
21
+ routeLink: 'products/level2.2',
22
+ label: 'Level 2.2',
23
+ items: [
24
+ {
25
+ routeLink: 'products/level3.1',
26
+ label: 'Level 3.1'
27
+ },
28
+ {
29
+ routeLink: 'products/level3.2',
30
+ label: 'Level 3.2'
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ routeLink: 'products/level1.2',
38
+ label: 'Level 1.2',
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ routeLink: 'statistics',
44
+ icon: 'fal fa-chart-bar',
45
+ label: 'Statistics'
46
+ },
47
+ {
48
+ routeLink: 'coupens',
49
+ icon: 'fal fa-tags',
50
+ label: 'Coupens',
51
+ items: [
52
+ {
53
+ routeLink: 'coupens/list',
54
+ label: 'List Coupens'
55
+ },
56
+ {
57
+ routeLink: 'coupens/create',
58
+ label: 'Create Coupens'
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ routeLink: 'pages',
64
+ icon: 'fal fa-file',
65
+ label: 'Pages'
66
+ },
67
+ {
68
+ routeLink: 'media',
69
+ icon: 'fal fa-camera',
70
+ label: 'Media'
71
+ },
72
+ {
73
+ routeLink: 'settings',
74
+ icon: 'fal fa-cog',
75
+ label: 'Settings',
76
+ expanded: true,
77
+ items: [
78
+ {
79
+ routeLink: 'settings/profile',
80
+ label: 'Profile'
81
+ },
82
+ {
83
+ routeLink: 'settings/customize',
84
+ label: 'Customize'
85
+ }
86
+ ]
87
+ },
88
+ ];
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2lkZW5hdi9uYXYtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCO0lBQ3JDO1FBQ0ksU0FBUyxFQUFFLFdBQVc7UUFDdEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsS0FBSyxFQUFFLFdBQVc7S0FDckI7SUFDRDtRQUNJLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFO1lBQ0g7Z0JBQ0ksU0FBUyxFQUFFLG1CQUFtQjtnQkFDOUIsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLEtBQUssRUFBRTtvQkFDSDt3QkFDSSxTQUFTLEVBQUUsbUJBQW1CO3dCQUM5QixLQUFLLEVBQUUsV0FBVztxQkFDckI7b0JBQ0Q7d0JBQ0ksU0FBUyxFQUFFLG1CQUFtQjt3QkFDOUIsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLEtBQUssRUFBRTs0QkFDSDtnQ0FDSSxTQUFTLEVBQUUsbUJBQW1CO2dDQUM5QixLQUFLLEVBQUUsV0FBVzs2QkFDckI7NEJBQ0Q7Z0NBQ0ksU0FBUyxFQUFFLG1CQUFtQjtnQ0FDOUIsS0FBSyxFQUFFLFdBQVc7NkJBQ3JCO3lCQUNKO3FCQUNKO2lCQUNKO2FBQ0o7WUFDRDtnQkFDSSxTQUFTLEVBQUUsbUJBQW1CO2dCQUM5QixLQUFLLEVBQUUsV0FBVzthQUNyQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLFlBQVk7S0FDdEI7SUFDRDtRQUNJLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLEtBQUssRUFBRTtZQUNIO2dCQUNJLFNBQVMsRUFBRSxjQUFjO2dCQUN6QixLQUFLLEVBQUUsY0FBYzthQUN4QjtZQUNEO2dCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7Z0JBQzNCLEtBQUssRUFBRSxnQkFBZ0I7YUFDMUI7U0FDSjtLQUNKO0lBQ0Q7UUFDSSxTQUFTLEVBQUUsT0FBTztRQUNsQixJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsT0FBTztLQUNqQjtJQUNEO1FBQ0ksU0FBUyxFQUFFLE9BQU87UUFDbEIsSUFBSSxFQUFFLGVBQWU7UUFDckIsS0FBSyxFQUFFLE9BQU87S0FDakI7SUFDRDtRQUNJLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFO1lBQ0g7Z0JBQ0ksU0FBUyxFQUFFLGtCQUFrQjtnQkFDN0IsS0FBSyxFQUFFLFNBQVM7YUFDbkI7WUFDRDtnQkFDSSxTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixLQUFLLEVBQUUsV0FBVzthQUNyQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU5hdmJhckRhdGEgfSBmcm9tIFwiLi9oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBuYXZiYXJEYXRhOiBJTmF2YmFyRGF0YVtdID0gW1xyXG4gICAge1xyXG4gICAgICAgIHJvdXRlTGluazogJ2Rhc2hib2FyZCcsXHJcbiAgICAgICAgaWNvbjogJ2ZhbCBmYS1ob21lJyxcclxuICAgICAgICBsYWJlbDogJ0Rhc2hib2FyZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcm91dGVMaW5rOiAncHJvZHVjdHMnLFxyXG4gICAgICAgIGljb246ICdmYWwgZmEtYm94LW9wZW4nLFxyXG4gICAgICAgIGxhYmVsOiAnUHJvZHVjdHMnLFxyXG4gICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlTGluazogJ3Byb2R1Y3RzL2xldmVsMS4xJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnTGV2ZWwgMS4xJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZUxpbms6ICdwcm9kdWN0cy9sZXZlbDIuMScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGV2ZWwgMi4xJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVMaW5rOiAncHJvZHVjdHMvbGV2ZWwyLjInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xldmVsIDIuMicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVMaW5rOiAncHJvZHVjdHMvbGV2ZWwzLjEnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGV2ZWwgMy4xJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZUxpbms6ICdwcm9kdWN0cy9sZXZlbDMuMicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMZXZlbCAzLjInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlTGluazogJ3Byb2R1Y3RzL2xldmVsMS4yJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnTGV2ZWwgMS4yJyxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcm91dGVMaW5rOiAnc3RhdGlzdGljcycsXHJcbiAgICAgICAgaWNvbjogJ2ZhbCBmYS1jaGFydC1iYXInLFxyXG4gICAgICAgIGxhYmVsOiAnU3RhdGlzdGljcydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcm91dGVMaW5rOiAnY291cGVucycsXHJcbiAgICAgICAgaWNvbjogJ2ZhbCBmYS10YWdzJyxcclxuICAgICAgICBsYWJlbDogJ0NvdXBlbnMnLFxyXG4gICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlTGluazogJ2NvdXBlbnMvbGlzdCcsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0xpc3QgQ291cGVucydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcm91dGVMaW5rOiAnY291cGVucy9jcmVhdGUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdDcmVhdGUgQ291cGVucydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcm91dGVMaW5rOiAncGFnZXMnLFxyXG4gICAgICAgIGljb246ICdmYWwgZmEtZmlsZScsXHJcbiAgICAgICAgbGFiZWw6ICdQYWdlcydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcm91dGVMaW5rOiAnbWVkaWEnLFxyXG4gICAgICAgIGljb246ICdmYWwgZmEtY2FtZXJhJyxcclxuICAgICAgICBsYWJlbDogJ01lZGlhJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICByb3V0ZUxpbms6ICdzZXR0aW5ncycsXHJcbiAgICAgICAgaWNvbjogJ2ZhbCBmYS1jb2cnLFxyXG4gICAgICAgIGxhYmVsOiAnU2V0dGluZ3MnLFxyXG4gICAgICAgIGV4cGFuZGVkOiB0cnVlLFxyXG4gICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlTGluazogJ3NldHRpbmdzL3Byb2ZpbGUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdQcm9maWxlJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICByb3V0ZUxpbms6ICdzZXR0aW5ncy9jdXN0b21pemUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdDdXN0b21pemUnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG5dOyJdfQ==
@@ -0,0 +1,95 @@
1
+ import { animate, keyframes, style, transition, trigger } from '@angular/animations';
2
+ import { Component, Output, EventEmitter, HostListener, Input } from '@angular/core';
3
+ import { fadeInOut } from './helper';
4
+ import { navbarData } from './nav-data';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "./sublevel-menu.component";
9
+ export class SidenavComponent {
10
+ constructor(router) {
11
+ this.router = router;
12
+ this.onToggleSideNav = new EventEmitter();
13
+ this.collapsed = false;
14
+ this.screenWidth = 0;
15
+ this.navData = navbarData;
16
+ this.bgColor = "#33284e";
17
+ this.imgSm = "assets/favicon.ico";
18
+ this.imgLg = "assets/SPAY.png";
19
+ this.multiple = false;
20
+ }
21
+ onResize(event) {
22
+ this.screenWidth = window.innerWidth;
23
+ if (this.screenWidth <= 768) {
24
+ this.collapsed = false;
25
+ this.onToggleSideNav.emit({ collapsed: this.collapsed, screenWidth: this.screenWidth });
26
+ }
27
+ }
28
+ ngOnInit() {
29
+ this.screenWidth = window.innerWidth;
30
+ }
31
+ toggleCollapse() {
32
+ this.collapsed = !this.collapsed;
33
+ this.onToggleSideNav.emit({ collapsed: this.collapsed, screenWidth: this.screenWidth });
34
+ }
35
+ closeSidenav() {
36
+ this.collapsed = false;
37
+ this.onToggleSideNav.emit({ collapsed: this.collapsed, screenWidth: this.screenWidth });
38
+ }
39
+ handleClick(item) {
40
+ this.shrinkItems(item);
41
+ item.expanded = !item.expanded;
42
+ }
43
+ getActiveClass(data) {
44
+ return this.router.url.includes(data.routeLink) ? 'active' : '';
45
+ }
46
+ shrinkItems(item) {
47
+ if (!this.multiple) {
48
+ for (let modelItem of this.navData) {
49
+ if (item !== modelItem && modelItem.expanded) {
50
+ modelItem.expanded = false;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
57
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SidenavComponent, selector: "app-sidenav", inputs: { navData: "navData", bgColor: "bgColor", imgSm: "imgSm", imgLg: "imgLg" }, outputs: { onToggleSideNav: "onToggleSideNav" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div class=\"sidenav\" [style.background-color]=\"bgColor\" [ngClass]=\"collapsed ? 'sidenav-collapsed': ''\">\r\n <div class=\"logo-container\">\r\n <img class=\"logo\" *ngIf=\"!collapsed\" (click)=\"toggleCollapse()\" [src]=\"imgSm\" alt=\"img\">\r\n <!-- <button class=\"logo\" (click)=\"toggleCollapse()\">SPDdasdsdaddad</button> -->\r\n <div class=\"logo-text\" *ngIf=\"collapsed\" (click)=\"closeSidenav()\">\r\n <img class=\"logo\" [src]=\"imgLg\" alt=\"img\">\r\n\r\n </div>\r\n <button class=\"btn-close\" @rotate *ngIf=\"collapsed\" (click)=\"closeSidenav()\">\r\n <i class=\"fal fa-times close-icon\"></i>\r\n </button>\r\n </div>\r\n <div class=\"scrollwrap scrollwrap_delayed\">\r\n <ul class=\"sidenav-nav\">\r\n <li class=\"sidenav-nav-item\" *ngFor=\"let data of navData\">\r\n <a class=\"sidenav-nav-link\" (click)=\"handleClick(data)\"\r\n *ngIf=\"data.items && data.items.length > 0\"\r\n [ngClass]=\"getActiveClass(data)\"\r\n >\r\n <i class=\"sidenav-link-icon\" [class]=\"data.icon\"></i>\r\n <span class=\"sidenav-link-text\" *ngIf=\"collapsed\">\r\n {{data.label}}\r\n </span>\r\n <i *ngIf=\"data.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!data.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n\r\n <a class=\"sidenav-nav-link\"\r\n *ngIf=\"!data.items || (data.items && data.items.length === 0)\"\r\n [routerLink]=\"[data.routeLink]\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n (click)=\"shrinkItems(data)\"\r\n >\r\n <i class=\"sidenav-link-icon\" [class]=\"data.icon\"></i>\r\n <span class=\"sidenav-link-text\" @fadeInOut *ngIf=\"collapsed\">\r\n {{data.label}}\r\n </span>\r\n </a>\r\n <div *ngIf=\"collapsed && data.items && data.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"data\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"data.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".sidenav{background:#494553;transition:all .5s ease;position:fixed;z-index:1;top:0;width:5rem;height:100vh;box-shadow:.023rem 0 1.25rem #72778163;overflow:hidden}.sidenav .logo-container{display:flex;align-items:center;padding:.938rem .938rem 0;width:100%}.sidenav .logo-container .logo{background:#fff;text-align:center;width:3rem;min-width:3rem;border-radius:.313rem;padding:.313rem;font-size:24px;font-weight:900;cursor:pointer;border:none;height:3rem}.sidenav .logo-container .logo-text{font-size:24px;font-weight:700;color:#fff}.sidenav .logo-container .btn-close{margin-left:auto;cursor:pointer;width:2rem;height:2rem;border-radius:50%;background-color:transparent;border:none}.sidenav .logo-container .btn-close .fa-times{color:#fff;font-size:24px}.sidenav .logo{overflow:hidden}.sidenav-collapsed{width:16.5625rem}.sidenav-collapsed .logo-container .logo{transition:all .5s ease;width:auto;min-width:auto;height:3rem}.sidenav-nav{list-style:none;padding:.938rem;margin:0;display:flex;flex-direction:column;align-items:center;cursor:pointer}.sidenav-nav .sidenav-nav-item{width:100%;margin-bottom:.625rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link{display:flex;align-items:center;height:3rem;color:#f3f3f3;text-decoration:none;border-radius:.625rem;transition:all .7s ease}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-icon{font-size:22px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-text{margin-left:1.5rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover{background-color:#fff;color:#000}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover .menu-collapse-icon{color:#000}.active{background-color:#fff}.active .menu-collapse-icon,.active .sidenav-link-icon,.active .sidenav-link-text{color:#000}.active-sublevel{color:#f3f3f3!important}.menu-collapse-icon{font-size:25px;width:2rem;min-width:2rem;margin:auto .5rem auto auto;text-align:center;color:#f3f3f3}.sublevel-nav{list-style:none;margin-left:10px}.sublevel-nav .sublevel-nav-item .sublevel-nav-link{display:flex;align-items:center;height:3rem;color:#fff;text-decoration:none;border-radius:.625rem;transition:all .3s ease}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-icon{font-size:4px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-text{margin-left:.8rem}.sublevel-nav .sublevel-nav-item .sublevel-nav-link:hover{color:#afafaf}.scrollwrap{overflow-y:auto;visibility:hidden;height:calc(100% - 3.65rem)}.sidenav-nav,.scrollwrap:hover,.scrollwrap:focus{visibility:visible}.scrollwrap_delayed{transition:visibility .4s .2s}.scrollwrap_delayed:hover{transition:visibility .2s .2s}.scrollwrap::-webkit-scrollbar{width:10px}.scrollwrap::-webkit-scrollbar-track{background:transparent}.scrollwrap::-webkit-scrollbar-thumb{background-color:#556268;border-radius:20px}.scrollwrap{scrollbar-width:thin;scrollbar-color:#556268 transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.SublevelMenuComponent, selector: "app-sublevel-menu", inputs: ["data", "collapsed", "animating", "expanded", "multiple"] }], animations: [
58
+ fadeInOut,
59
+ trigger('rotate', [
60
+ transition(':enter', [
61
+ animate('1000ms', keyframes([
62
+ style({ transform: 'rotate(0deg)', offset: '0' }),
63
+ style({ transform: 'rotate(2turn)', offset: '1' })
64
+ ]))
65
+ ])
66
+ ])
67
+ ] });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SidenavComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'app-sidenav', animations: [
71
+ fadeInOut,
72
+ trigger('rotate', [
73
+ transition(':enter', [
74
+ animate('1000ms', keyframes([
75
+ style({ transform: 'rotate(0deg)', offset: '0' }),
76
+ style({ transform: 'rotate(2turn)', offset: '1' })
77
+ ]))
78
+ ])
79
+ ])
80
+ ], template: "<div class=\"sidenav\" [style.background-color]=\"bgColor\" [ngClass]=\"collapsed ? 'sidenav-collapsed': ''\">\r\n <div class=\"logo-container\">\r\n <img class=\"logo\" *ngIf=\"!collapsed\" (click)=\"toggleCollapse()\" [src]=\"imgSm\" alt=\"img\">\r\n <!-- <button class=\"logo\" (click)=\"toggleCollapse()\">SPDdasdsdaddad</button> -->\r\n <div class=\"logo-text\" *ngIf=\"collapsed\" (click)=\"closeSidenav()\">\r\n <img class=\"logo\" [src]=\"imgLg\" alt=\"img\">\r\n\r\n </div>\r\n <button class=\"btn-close\" @rotate *ngIf=\"collapsed\" (click)=\"closeSidenav()\">\r\n <i class=\"fal fa-times close-icon\"></i>\r\n </button>\r\n </div>\r\n <div class=\"scrollwrap scrollwrap_delayed\">\r\n <ul class=\"sidenav-nav\">\r\n <li class=\"sidenav-nav-item\" *ngFor=\"let data of navData\">\r\n <a class=\"sidenav-nav-link\" (click)=\"handleClick(data)\"\r\n *ngIf=\"data.items && data.items.length > 0\"\r\n [ngClass]=\"getActiveClass(data)\"\r\n >\r\n <i class=\"sidenav-link-icon\" [class]=\"data.icon\"></i>\r\n <span class=\"sidenav-link-text\" *ngIf=\"collapsed\">\r\n {{data.label}}\r\n </span>\r\n <i *ngIf=\"data.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!data.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n\r\n <a class=\"sidenav-nav-link\"\r\n *ngIf=\"!data.items || (data.items && data.items.length === 0)\"\r\n [routerLink]=\"[data.routeLink]\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n (click)=\"shrinkItems(data)\"\r\n >\r\n <i class=\"sidenav-link-icon\" [class]=\"data.icon\"></i>\r\n <span class=\"sidenav-link-text\" @fadeInOut *ngIf=\"collapsed\">\r\n {{data.label}}\r\n </span>\r\n </a>\r\n <div *ngIf=\"collapsed && data.items && data.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"data\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"data.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".sidenav{background:#494553;transition:all .5s ease;position:fixed;z-index:1;top:0;width:5rem;height:100vh;box-shadow:.023rem 0 1.25rem #72778163;overflow:hidden}.sidenav .logo-container{display:flex;align-items:center;padding:.938rem .938rem 0;width:100%}.sidenav .logo-container .logo{background:#fff;text-align:center;width:3rem;min-width:3rem;border-radius:.313rem;padding:.313rem;font-size:24px;font-weight:900;cursor:pointer;border:none;height:3rem}.sidenav .logo-container .logo-text{font-size:24px;font-weight:700;color:#fff}.sidenav .logo-container .btn-close{margin-left:auto;cursor:pointer;width:2rem;height:2rem;border-radius:50%;background-color:transparent;border:none}.sidenav .logo-container .btn-close .fa-times{color:#fff;font-size:24px}.sidenav .logo{overflow:hidden}.sidenav-collapsed{width:16.5625rem}.sidenav-collapsed .logo-container .logo{transition:all .5s ease;width:auto;min-width:auto;height:3rem}.sidenav-nav{list-style:none;padding:.938rem;margin:0;display:flex;flex-direction:column;align-items:center;cursor:pointer}.sidenav-nav .sidenav-nav-item{width:100%;margin-bottom:.625rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link{display:flex;align-items:center;height:3rem;color:#f3f3f3;text-decoration:none;border-radius:.625rem;transition:all .7s ease}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-icon{font-size:22px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-text{margin-left:1.5rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover{background-color:#fff;color:#000}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover .menu-collapse-icon{color:#000}.active{background-color:#fff}.active .menu-collapse-icon,.active .sidenav-link-icon,.active .sidenav-link-text{color:#000}.active-sublevel{color:#f3f3f3!important}.menu-collapse-icon{font-size:25px;width:2rem;min-width:2rem;margin:auto .5rem auto auto;text-align:center;color:#f3f3f3}.sublevel-nav{list-style:none;margin-left:10px}.sublevel-nav .sublevel-nav-item .sublevel-nav-link{display:flex;align-items:center;height:3rem;color:#fff;text-decoration:none;border-radius:.625rem;transition:all .3s ease}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-icon{font-size:4px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-text{margin-left:.8rem}.sublevel-nav .sublevel-nav-item .sublevel-nav-link:hover{color:#afafaf}.scrollwrap{overflow-y:auto;visibility:hidden;height:calc(100% - 3.65rem)}.sidenav-nav,.scrollwrap:hover,.scrollwrap:focus{visibility:visible}.scrollwrap_delayed{transition:visibility .4s .2s}.scrollwrap_delayed:hover{transition:visibility .2s .2s}.scrollwrap::-webkit-scrollbar{width:10px}.scrollwrap::-webkit-scrollbar-track{background:transparent}.scrollwrap::-webkit-scrollbar-thumb{background-color:#556268;border-radius:20px}.scrollwrap{scrollbar-width:thin;scrollbar-color:#556268 transparent}\n"] }]
81
+ }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { onToggleSideNav: [{
82
+ type: Output
83
+ }], navData: [{
84
+ type: Input
85
+ }], bgColor: [{
86
+ type: Input
87
+ }], imgSm: [{
88
+ type: Input
89
+ }], imgLg: [{
90
+ type: Input
91
+ }], onResize: [{
92
+ type: HostListener,
93
+ args: ['window:resize', ['$event']]
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NnaC1uYXZiYXIvc3JjL2xpYi9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7O0FBeUJ4QyxNQUFNLE9BQU8sZ0JBQWdCO0lBb0IzQixZQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxCdkIsb0JBQWUsR0FBZ0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ1AsWUFBTyxHQUFHLFVBQVUsQ0FBQztRQUNyQixZQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLFVBQUssR0FBRyxvQkFBb0IsQ0FBQztRQUM3QixVQUFLLEdBQUcsaUJBQWlCLENBQUM7UUFDbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztJQVdVLENBQUM7SUFSckMsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUc7WUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFpQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWlCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLEtBQUksSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDakMsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQzVDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2lCQUM1QjthQUNGO1NBQ0Y7SUFDSCxDQUFDOzs4R0FyRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isc1BDN0I3QixxcEZBb0RBLHE2SERyQ2M7UUFDVixTQUFTO1FBQ1QsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNoQixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixPQUFPLENBQUMsUUFBUSxFQUNkLFNBQVMsQ0FBQztvQkFDUixLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUMsQ0FBQztvQkFDL0MsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUM7aUJBQ2pELENBQUMsQ0FDSDthQUNGLENBQUM7U0FDSCxDQUFDO0tBQ0g7NEZBRVUsZ0JBQWdCO2tCQWxCNUIsU0FBUzsrQkFDRSxhQUFhLGNBR1g7d0JBQ1YsU0FBUzt3QkFDVCxPQUFPLENBQUMsUUFBUSxFQUFFOzRCQUNoQixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixPQUFPLENBQUMsUUFBUSxFQUNkLFNBQVMsQ0FBQztvQ0FDUixLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUMsQ0FBQztvQ0FDL0MsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUM7aUNBQ2pELENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7NkZBSVMsZUFBZTtzQkFBeEIsTUFBTTtnQkFHRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGtleWZyYW1lcywgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZhZGVJbk91dCwgSU5hdmJhckRhdGEgfSBmcm9tICcuL2hlbHBlcic7XG5pbXBvcnQgeyBuYXZiYXJEYXRhIH0gZnJvbSAnLi9uYXYtZGF0YSc7XG5cbmludGVyZmFjZSBTaWRlTmF2VG9nZ2xlIHtcbiAgc2NyZWVuV2lkdGg6IG51bWJlcjtcbiAgY29sbGFwc2VkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2lkZW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZW5hdi5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgZmFkZUluT3V0LFxuICAgIHRyaWdnZXIoJ3JvdGF0ZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgYW5pbWF0ZSgnMTAwMG1zJyxcbiAgICAgICAgICBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKScsIG9mZnNldDogJzAnfSksXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAncm90YXRlKDJ0dXJuKScsIG9mZnNldDogJzEnfSlcbiAgICAgICAgICBdKVxuICAgICAgICApXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZW5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE91dHB1dCgpIG9uVG9nZ2xlU2lkZU5hdjogRXZlbnRFbWl0dGVyPFNpZGVOYXZUb2dnbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgc2NyZWVuV2lkdGggPSAwO1xuICBASW5wdXQoKSBuYXZEYXRhID0gbmF2YmFyRGF0YTtcbiAgQElucHV0KCkgYmdDb2xvciA9IFwiIzMzMjg0ZVwiO1xuICBASW5wdXQoKSBpbWdTbSA9IFwiYXNzZXRzL2Zhdmljb24uaWNvXCI7XG4gIEBJbnB1dCgpIGltZ0xnID0gXCJhc3NldHMvU1BBWS5wbmdcIjtcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICBpZih0aGlzLnNjcmVlbldpZHRoIDw9IDc2OCApIHtcbiAgICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLm9uVG9nZ2xlU2lkZU5hdi5lbWl0KHtjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkLCBzY3JlZW5XaWR0aDogdGhpcy5zY3JlZW5XaWR0aH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgfVxuXG4gIHRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIHRoaXMub25Ub2dnbGVTaWRlTmF2LmVtaXQoe2NvbGxhcHNlZDogdGhpcy5jb2xsYXBzZWQsIHNjcmVlbldpZHRoOiB0aGlzLnNjcmVlbldpZHRofSk7XG4gIH1cblxuICBjbG9zZVNpZGVuYXYoKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB0aGlzLm9uVG9nZ2xlU2lkZU5hdi5lbWl0KHtjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkLCBzY3JlZW5XaWR0aDogdGhpcy5zY3JlZW5XaWR0aH0pO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soaXRlbTogSU5hdmJhckRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNocmlua0l0ZW1zKGl0ZW0pO1xuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZFxuICB9XG5cbiAgZ2V0QWN0aXZlQ2xhc3MoZGF0YTogSU5hdmJhckRhdGEpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMoZGF0YS5yb3V0ZUxpbmspID8gJ2FjdGl2ZScgOiAnJztcbiAgfVxuXG4gIHNocmlua0l0ZW1zKGl0ZW06IElOYXZiYXJEYXRhKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICBmb3IobGV0IG1vZGVsSXRlbSBvZiB0aGlzLm5hdkRhdGEpIHtcbiAgICAgICAgaWYgKGl0ZW0gIT09IG1vZGVsSXRlbSAmJiBtb2RlbEl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICBtb2RlbEl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNpZGVuYXZcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiZ0NvbG9yXCIgW25nQ2xhc3NdPVwiY29sbGFwc2VkID8gJ3NpZGVuYXYtY29sbGFwc2VkJzogJydcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsb2dvLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJsb2dvXCIgKm5nSWY9XCIhY29sbGFwc2VkXCIgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIiBbc3JjXT1cImltZ1NtXCIgYWx0PVwiaW1nXCI+XHJcbiAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwibG9nb1wiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCI+U1BEZGFzZHNkYWRkYWQ8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ28tdGV4dFwiICpuZ0lmPVwiY29sbGFwc2VkXCIgKGNsaWNrKT1cImNsb3NlU2lkZW5hdigpXCI+XHJcbiAgICAgICAgICA8aW1nIGNsYXNzPVwibG9nb1wiIFtzcmNdPVwiaW1nTGdcIiBhbHQ9XCJpbWdcIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1jbG9zZVwiIEByb3RhdGUgKm5nSWY9XCJjb2xsYXBzZWRcIiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgY2xvc2UtaWNvblwiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbHdyYXAgc2Nyb2xsd3JhcF9kZWxheWVkXCI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwic2lkZW5hdi1uYXZcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwic2lkZW5hdi1uYXYtaXRlbVwiICpuZ0Zvcj1cImxldCBkYXRhIG9mIG5hdkRhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwic2lkZW5hdi1uYXYtbGlua1wiIChjbGljayk9XCJoYW5kbGVDbGljayhkYXRhKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLml0ZW1zICYmIGRhdGEuaXRlbXMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0QWN0aXZlQ2xhc3MoZGF0YSlcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic2lkZW5hdi1saW5rLWljb25cIiBbY2xhc3NdPVwiZGF0YS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZW5hdi1saW5rLXRleHRcIiAqbmdJZj1cImNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGEubGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImRhdGEuaXRlbXMgJiYgY29sbGFwc2VkXCIgY2xhc3M9XCJtZW51LWNvbGxhcHNlLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIhZGF0YS5leHBhbmRlZCA/ICdmYWwgZmEtYW5nbGUtcmlnaHQnIDogJ2ZhbCBmYS1hbmdsZS1kb3duJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInNpZGVuYXYtbmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGEuaXRlbXMgfHwgKGRhdGEuaXRlbXMgJiYgZGF0YS5pdGVtcy5sZW5ndGggPT09IDApXCJcclxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbZGF0YS5yb3V0ZUxpbmtdXCJcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0OiB0cnVlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNocmlua0l0ZW1zKGRhdGEpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzaWRlbmF2LWxpbmstaWNvblwiIFtjbGFzc109XCJkYXRhLmljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlbmF2LWxpbmstdGV4dFwiIEBmYWRlSW5PdXQgKm5nSWY9XCJjb2xsYXBzZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLmxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sbGFwc2VkICYmIGRhdGEuaXRlbXMgJiYgZGF0YS5pdGVtcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zdWJsZXZlbC1tZW51XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJkYXRhLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtc3VibGV2ZWwtbWVudT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,167 @@
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ import { Component, Input } from '@angular/core';
3
+ import { fadeInOut } from './helper';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@angular/common";
7
+ export class SublevelMenuComponent {
8
+ constructor(router) {
9
+ this.router = router;
10
+ this.data = {
11
+ routeLink: '',
12
+ icon: '',
13
+ label: '',
14
+ items: []
15
+ };
16
+ this.collapsed = false;
17
+ this.multiple = false;
18
+ }
19
+ ngOnInit() {
20
+ }
21
+ handleClick(item) {
22
+ if (!this.multiple) {
23
+ if (this.data.items && this.data.items.length > 0) {
24
+ for (let modelItem of this.data.items) {
25
+ if (item !== modelItem && modelItem.expanded) {
26
+ modelItem.expanded = false;
27
+ }
28
+ }
29
+ }
30
+ }
31
+ item.expanded = !item.expanded;
32
+ }
33
+ getActiveClass(item) {
34
+ return item.expanded && this.router.url.includes(item.routeLink)
35
+ ? 'active-sublevel'
36
+ : '';
37
+ }
38
+ }
39
+ SublevelMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SublevelMenuComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
40
+ SublevelMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SublevelMenuComponent, selector: "app-sublevel-menu", inputs: { data: "data", collapsed: "collapsed", animating: "animating", expanded: "expanded", multiple: "multiple" }, ngImport: i0, template: `
41
+ <ul *ngIf="collapsed && data.items && data.items.length > 0"
42
+ [@submenu]="expanded
43
+ ? {value: 'visible',
44
+ params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}
45
+ : {value: 'hidden',
46
+ params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}"
47
+ class="sublevel-nav"
48
+ >
49
+ <li *ngFor="let item of data.items" class="sublevel-nav-item">
50
+ <a class="sublevel-nav-link"
51
+ (click)="handleClick(item)"
52
+ *ngIf="item.items && item.items.length > 0"
53
+ [ngClass]="getActiveClass(item)"
54
+ >
55
+ <i class="sublevel-link-icon fa fa-circle"></i>
56
+ <span class="sublevel-link-text" @fadeInOut
57
+ *ngIf="collapsed">{{item.label}}</span>
58
+ <i *ngIf="item.items && collapsed" class="menu-collapse-icon"
59
+ [ngClass]="!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'"
60
+ ></i>
61
+ </a>
62
+ <a class="sublevel-nav-link"
63
+ *ngIf="!item.items || (item.items && item.items.length === 0)"
64
+ [routerLink]="[item.routeLink]"
65
+ routerLinkActive="active-sublevel"
66
+ [routerLinkActiveOptions]="{exact: true}"
67
+ >
68
+ <i class="sublevel-link-icon fa fa-circle"></i>
69
+ <span class="sublevel-link-text" @fadeInOut
70
+ *ngIf="collapsed">{{item.label}}</span>
71
+ </a>
72
+ <div *ngIf="item.items && item.items.length > 0">
73
+ <app-sublevel-menu
74
+ [data]="item"
75
+ [collapsed]="collapsed"
76
+ [multiple]="multiple"
77
+ [expanded]="item.expanded"
78
+ ></app-sublevel-menu>
79
+ </div>
80
+ </li>
81
+ </ul>
82
+ `, isInline: true, styles: [".sidenav{background:#494553;transition:all .5s ease;position:fixed;z-index:1;top:0;width:5rem;height:100vh;box-shadow:.023rem 0 1.25rem #72778163;overflow:hidden}.sidenav .logo-container{display:flex;align-items:center;padding:.938rem .938rem 0;width:100%}.sidenav .logo-container .logo{background:#fff;text-align:center;width:3rem;min-width:3rem;border-radius:.313rem;padding:.313rem;font-size:24px;font-weight:900;cursor:pointer;border:none;height:3rem}.sidenav .logo-container .logo-text{font-size:24px;font-weight:700;color:#fff}.sidenav .logo-container .btn-close{margin-left:auto;cursor:pointer;width:2rem;height:2rem;border-radius:50%;background-color:transparent;border:none}.sidenav .logo-container .btn-close .fa-times{color:#fff;font-size:24px}.sidenav .logo{overflow:hidden}.sidenav-collapsed{width:16.5625rem}.sidenav-collapsed .logo-container .logo{transition:all .5s ease;width:auto;min-width:auto;height:3rem}.sidenav-nav{list-style:none;padding:.938rem;margin:0;display:flex;flex-direction:column;align-items:center;cursor:pointer}.sidenav-nav .sidenav-nav-item{width:100%;margin-bottom:.625rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link{display:flex;align-items:center;height:3rem;color:#f3f3f3;text-decoration:none;border-radius:.625rem;transition:all .7s ease}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-icon{font-size:22px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-text{margin-left:1.5rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover{background-color:#fff;color:#000}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover .menu-collapse-icon{color:#000}.active{background-color:#fff}.active .menu-collapse-icon,.active .sidenav-link-icon,.active .sidenav-link-text{color:#000}.active-sublevel{color:#f3f3f3!important}.menu-collapse-icon{font-size:25px;width:2rem;min-width:2rem;margin:auto .5rem auto auto;text-align:center;color:#f3f3f3}.sublevel-nav{list-style:none;margin-left:10px}.sublevel-nav .sublevel-nav-item .sublevel-nav-link{display:flex;align-items:center;height:3rem;color:#fff;text-decoration:none;border-radius:.625rem;transition:all .3s ease}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-icon{font-size:4px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-text{margin-left:.8rem}.sublevel-nav .sublevel-nav-item .sublevel-nav-link:hover{color:#afafaf}.scrollwrap{overflow-y:auto;visibility:hidden;height:calc(100% - 3.65rem)}.sidenav-nav,.scrollwrap:hover,.scrollwrap:focus{visibility:visible}.scrollwrap_delayed{transition:visibility .4s .2s}.scrollwrap_delayed:hover{transition:visibility .2s .2s}.scrollwrap::-webkit-scrollbar{width:10px}.scrollwrap::-webkit-scrollbar-track{background:transparent}.scrollwrap::-webkit-scrollbar-thumb{background-color:#556268;border-radius:20px}.scrollwrap{scrollbar-width:thin;scrollbar-color:#556268 transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: SublevelMenuComponent, selector: "app-sublevel-menu", inputs: ["data", "collapsed", "animating", "expanded", "multiple"] }], animations: [
83
+ fadeInOut,
84
+ trigger('submenu', [
85
+ state('hidden', style({
86
+ height: '0',
87
+ overflow: 'hidden'
88
+ })),
89
+ state('visible', style({
90
+ height: '*'
91
+ })),
92
+ transition('visible <=> hidden', [style({ overflow: 'hidden' }),
93
+ animate('{{transitionParams}}')]),
94
+ transition('void => *', animate(0))
95
+ ])
96
+ ] });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SublevelMenuComponent, decorators: [{
98
+ type: Component,
99
+ args: [{ selector: 'app-sublevel-menu', template: `
100
+ <ul *ngIf="collapsed && data.items && data.items.length > 0"
101
+ [@submenu]="expanded
102
+ ? {value: 'visible',
103
+ params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}
104
+ : {value: 'hidden',
105
+ params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}"
106
+ class="sublevel-nav"
107
+ >
108
+ <li *ngFor="let item of data.items" class="sublevel-nav-item">
109
+ <a class="sublevel-nav-link"
110
+ (click)="handleClick(item)"
111
+ *ngIf="item.items && item.items.length > 0"
112
+ [ngClass]="getActiveClass(item)"
113
+ >
114
+ <i class="sublevel-link-icon fa fa-circle"></i>
115
+ <span class="sublevel-link-text" @fadeInOut
116
+ *ngIf="collapsed">{{item.label}}</span>
117
+ <i *ngIf="item.items && collapsed" class="menu-collapse-icon"
118
+ [ngClass]="!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'"
119
+ ></i>
120
+ </a>
121
+ <a class="sublevel-nav-link"
122
+ *ngIf="!item.items || (item.items && item.items.length === 0)"
123
+ [routerLink]="[item.routeLink]"
124
+ routerLinkActive="active-sublevel"
125
+ [routerLinkActiveOptions]="{exact: true}"
126
+ >
127
+ <i class="sublevel-link-icon fa fa-circle"></i>
128
+ <span class="sublevel-link-text" @fadeInOut
129
+ *ngIf="collapsed">{{item.label}}</span>
130
+ </a>
131
+ <div *ngIf="item.items && item.items.length > 0">
132
+ <app-sublevel-menu
133
+ [data]="item"
134
+ [collapsed]="collapsed"
135
+ [multiple]="multiple"
136
+ [expanded]="item.expanded"
137
+ ></app-sublevel-menu>
138
+ </div>
139
+ </li>
140
+ </ul>
141
+ `, animations: [
142
+ fadeInOut,
143
+ trigger('submenu', [
144
+ state('hidden', style({
145
+ height: '0',
146
+ overflow: 'hidden'
147
+ })),
148
+ state('visible', style({
149
+ height: '*'
150
+ })),
151
+ transition('visible <=> hidden', [style({ overflow: 'hidden' }),
152
+ animate('{{transitionParams}}')]),
153
+ transition('void => *', animate(0))
154
+ ])
155
+ ], styles: [".sidenav{background:#494553;transition:all .5s ease;position:fixed;z-index:1;top:0;width:5rem;height:100vh;box-shadow:.023rem 0 1.25rem #72778163;overflow:hidden}.sidenav .logo-container{display:flex;align-items:center;padding:.938rem .938rem 0;width:100%}.sidenav .logo-container .logo{background:#fff;text-align:center;width:3rem;min-width:3rem;border-radius:.313rem;padding:.313rem;font-size:24px;font-weight:900;cursor:pointer;border:none;height:3rem}.sidenav .logo-container .logo-text{font-size:24px;font-weight:700;color:#fff}.sidenav .logo-container .btn-close{margin-left:auto;cursor:pointer;width:2rem;height:2rem;border-radius:50%;background-color:transparent;border:none}.sidenav .logo-container .btn-close .fa-times{color:#fff;font-size:24px}.sidenav .logo{overflow:hidden}.sidenav-collapsed{width:16.5625rem}.sidenav-collapsed .logo-container .logo{transition:all .5s ease;width:auto;min-width:auto;height:3rem}.sidenav-nav{list-style:none;padding:.938rem;margin:0;display:flex;flex-direction:column;align-items:center;cursor:pointer}.sidenav-nav .sidenav-nav-item{width:100%;margin-bottom:.625rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link{display:flex;align-items:center;height:3rem;color:#f3f3f3;text-decoration:none;border-radius:.625rem;transition:all .7s ease}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-icon{font-size:22px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sidenav-nav .sidenav-nav-item .sidenav-nav-link .sidenav-link-text{margin-left:1.5rem}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover{background-color:#fff;color:#000}.sidenav-nav .sidenav-nav-item .sidenav-nav-link:hover .menu-collapse-icon{color:#000}.active{background-color:#fff}.active .menu-collapse-icon,.active .sidenav-link-icon,.active .sidenav-link-text{color:#000}.active-sublevel{color:#f3f3f3!important}.menu-collapse-icon{font-size:25px;width:2rem;min-width:2rem;margin:auto .5rem auto auto;text-align:center;color:#f3f3f3}.sublevel-nav{list-style:none;margin-left:10px}.sublevel-nav .sublevel-nav-item .sublevel-nav-link{display:flex;align-items:center;height:3rem;color:#fff;text-decoration:none;border-radius:.625rem;transition:all .3s ease}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-icon{font-size:4px;width:2rem;min-width:2rem;margin:0 .5rem;text-align:center}.sublevel-nav .sublevel-nav-item .sublevel-nav-link .sublevel-link-text{margin-left:.8rem}.sublevel-nav .sublevel-nav-item .sublevel-nav-link:hover{color:#afafaf}.scrollwrap{overflow-y:auto;visibility:hidden;height:calc(100% - 3.65rem)}.sidenav-nav,.scrollwrap:hover,.scrollwrap:focus{visibility:visible}.scrollwrap_delayed{transition:visibility .4s .2s}.scrollwrap_delayed:hover{transition:visibility .2s .2s}.scrollwrap::-webkit-scrollbar{width:10px}.scrollwrap::-webkit-scrollbar-track{background:transparent}.scrollwrap::-webkit-scrollbar-thumb{background-color:#556268;border-radius:20px}.scrollwrap{scrollbar-width:thin;scrollbar-color:#556268 transparent}\n"] }]
156
+ }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { data: [{
157
+ type: Input
158
+ }], collapsed: [{
159
+ type: Input
160
+ }], animating: [{
161
+ type: Input
162
+ }], expanded: [{
163
+ type: Input
164
+ }], multiple: [{
165
+ type: Input
166
+ }] } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibGV2ZWwtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2lkZW5hdi9zdWJsZXZlbC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxVQUFVLENBQUM7Ozs7QUFnRWxELE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFYeEIsU0FBSSxHQUFnQjtZQUMzQixTQUFTLEVBQUUsRUFBRTtZQUNiLElBQUksRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUE7UUFDUSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFFQyxDQUFDO0lBRXJDLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqRCxLQUFJLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNwQyxJQUFJLElBQUksS0FBSSxTQUFTLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTt3QkFDM0MsU0FBUyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7cUJBQzVCO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzlELENBQUMsQ0FBQyxpQkFBaUI7WUFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7O21IQW5DVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiwrS0E1RHRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QseXlIQWtCVSxxQkFBcUIsb0hBaEJwQjtRQUNWLFNBQVM7UUFDVCxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2pCLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsR0FBRztnQkFDWCxRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztnQkFDckIsTUFBTSxFQUFFLEdBQUc7YUFDWixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUM7Z0JBQzNELE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7WUFDbkMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEMsQ0FBQztLQUNIOzRGQUVVLHFCQUFxQjtrQkE5RGpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsY0FFVzt3QkFDVixTQUFTO3dCQUNULE9BQU8sQ0FBQyxTQUFTLEVBQUU7NEJBQ2pCLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNwQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxRQUFRLEVBQUUsUUFBUTs2QkFDbkIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsR0FBRzs2QkFDWixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDO2dDQUMzRCxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDOzRCQUNuQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDcEMsQ0FBQztxQkFDSDs2RkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmFkZUluT3V0LCBJTmF2YmFyRGF0YSB9IGZyb20gJy4vaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN1YmxldmVsLW1lbnUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx1bCAqbmdJZj1cImNvbGxhcHNlZCAmJiBkYXRhLml0ZW1zICYmIGRhdGEuaXRlbXMubGVuZ3RoID4gMFwiXG4gICAgW0BzdWJtZW51XT1cImV4cGFuZGVkXG4gICAgICA/IHt2YWx1ZTogJ3Zpc2libGUnLFxuICAgICAgICAgIHBhcmFtczoge3RyYW5zaXRpb25QYXJhbXM6ICc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknLCBoZWlnaHQ6ICcqJ319XG4gICAgICA6IHt2YWx1ZTogJ2hpZGRlbicsXG4gICAgICAgICAgcGFyYW1zOiB7dHJhbnNpdGlvblBhcmFtczogJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScsIGhlaWdodDogJzAnfX1cIlxuICAgICAgY2xhc3M9XCJzdWJsZXZlbC1uYXZcIlxuICAgID5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhLml0ZW1zXCIgY2xhc3M9XCJzdWJsZXZlbC1uYXYtaXRlbVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwic3VibGV2ZWwtbmF2LWxpbmtcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhpdGVtKVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldEFjdGl2ZUNsYXNzKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInN1YmxldmVsLWxpbmstaWNvbiBmYSBmYS1jaXJjbGVcIj48L2k+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1YmxldmVsLWxpbmstdGV4dFwiIEBmYWRlSW5PdXRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbGxhcHNlZFwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGNvbGxhcHNlZFwiIGNsYXNzPVwibWVudS1jb2xsYXBzZS1pY29uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiIWl0ZW0uZXhwYW5kZWQgPyAnZmFsIGZhLWFuZ2xlLXJpZ2h0JyA6ICdmYWwgZmEtYW5nbGUtZG93bidcIlxuICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGEgY2xhc3M9XCJzdWJsZXZlbC1uYXYtbGlua1wiXG4gICAgICAgICAgICAqbmdJZj1cIiFpdGVtLml0ZW1zIHx8IChpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMubGVuZ3RoID09PSAwKVwiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS5yb3V0ZUxpbmtdXCJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtc3VibGV2ZWxcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwic3VibGV2ZWwtbGluay1pY29uIGZhIGZhLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VibGV2ZWwtbGluay10ZXh0XCIgQGZhZGVJbk91dFxuICAgICAgICAgICAgICAgKm5nSWY9XCJjb2xsYXBzZWRcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8YXBwLXN1YmxldmVsLW1lbnVcbiAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxuICAgICAgICAgICAgPjwvYXBwLXN1YmxldmVsLW1lbnU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIGZhZGVJbk91dCxcbiAgICB0cmlnZ2VyKCdzdWJtZW51JywgW1xuICAgICAgc3RhdGUoJ2hpZGRlbicsIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSkpLFxuICAgICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJyonXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiBoaWRkZW4nLCBbc3R5bGUoe292ZXJmbG93OiAnaGlkZGVuJ30pLFxuICAgICAgICBhbmltYXRlKCd7e3RyYW5zaXRpb25QYXJhbXN9fScpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDApKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3VibGV2ZWxNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBkYXRhOiBJTmF2YmFyRGF0YSA9IHtcbiAgICByb3V0ZUxpbms6ICcnLFxuICAgIGljb246ICcnLFxuICAgIGxhYmVsOiAnJyxcbiAgICBpdGVtczogW11cbiAgfVxuICBASW5wdXQoKSBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYW5pbWF0aW5nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBleHBhbmRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBoYW5kbGVDbGljayhpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEuaXRlbXMgJiYgdGhpcy5kYXRhLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yKGxldCBtb2RlbEl0ZW0gb2YgdGhpcy5kYXRhLml0ZW1zKSB7XG4gICAgICAgICAgaWYgKGl0ZW0gIT09bW9kZWxJdGVtICYmIG1vZGVsSXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgICAgbW9kZWxJdGVtLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcbiAgfVxuXG4gIGdldEFjdGl2ZUNsYXNzKGl0ZW06IElOYXZiYXJEYXRhKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5leHBhbmRlZCAmJiB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMoaXRlbS5yb3V0ZUxpbmspXG4gICAgICA/ICdhY3RpdmUtc3VibGV2ZWwnXG4gICAgICA6ICcnO1xuICB9XG5cbn1cbiJdfQ==