@rxap/layout 16.0.0-dev.0 → 16.0.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +378 -0
  2. package/LICENSE +621 -21
  3. package/LICENSE.md +621 -0
  4. package/README.md +7 -22
  5. package/esm2022/index.mjs +5 -20
  6. package/esm2022/lib/app-url.service.mjs +64 -0
  7. package/esm2022/lib/footer/footer.component.mjs +13 -42
  8. package/esm2022/lib/footer.directive.mjs +21 -35
  9. package/esm2022/lib/header/apps-button/apps-button.component.mjs +42 -101
  10. package/esm2022/lib/header/header.component.mjs +66 -108
  11. package/esm2022/lib/header/language-selector/language-selector.component.mjs +30 -108
  12. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +22 -26
  13. package/esm2022/lib/header/reset-button/reset-button.component.mjs +16 -21
  14. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +20 -36
  15. package/esm2022/lib/header/sign-out/sign-out.component.mjs +19 -28
  16. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.mjs +39 -109
  17. package/esm2022/lib/i18n-check.guard.mjs +34 -0
  18. package/esm2022/lib/i18n.service.mjs +36 -0
  19. package/esm2022/lib/language-selector.service.mjs +34 -0
  20. package/esm2022/lib/layout/layout.component.mjs +58 -72
  21. package/esm2022/lib/layout/layout.component.service.mjs +21 -22
  22. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +120 -234
  23. package/esm2022/lib/navigation/navigation-item.mjs +4 -4
  24. package/esm2022/lib/navigation/navigation.component.mjs +47 -91
  25. package/esm2022/lib/navigation/navigation.service.mjs +28 -27
  26. package/esm2022/lib/navigation/replace-router-paths.service.mjs +9 -10
  27. package/esm2022/lib/sidenav/sidenav-footer.directive.mjs +15 -15
  28. package/esm2022/lib/sidenav/sidenav-header.directive.mjs +15 -15
  29. package/esm2022/lib/sidenav/sidenav.component.mjs +40 -112
  30. package/esm2022/lib/sidenav/sidenav.component.service.mjs +8 -9
  31. package/esm2022/lib/sidenav/version/version.component.mjs +17 -44
  32. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +19 -40
  33. package/esm2022/lib/tokens.mjs +1 -1
  34. package/esm2022/lib/types.mjs +1 -1
  35. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.mjs +18 -36
  36. package/esm2022/rxap-layout.mjs +1 -1
  37. package/fesm2022/rxap-layout.mjs +761 -1845
  38. package/fesm2022/rxap-layout.mjs.map +1 -1
  39. package/index.d.ts +4 -17
  40. package/lib/app-url.service.d.ts +26 -0
  41. package/lib/footer/footer.component.d.ts +1 -1
  42. package/lib/footer.directive.d.ts +2 -7
  43. package/lib/header/apps-button/apps-button.component.d.ts +13 -21
  44. package/lib/header/header.component.d.ts +8 -11
  45. package/lib/header/language-selector/language-selector.component.d.ts +2 -17
  46. package/lib/header/navigation-progress-bar/navigation-progress-bar.component.d.ts +1 -1
  47. package/lib/header/reset-button/reset-button.component.d.ts +1 -1
  48. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +1 -1
  49. package/lib/header/sign-out/sign-out.component.d.ts +5 -5
  50. package/lib/header/user-profile-icon/user-profile-icon.component.d.ts +12 -8
  51. package/lib/i18n-check.guard.d.ts +14 -0
  52. package/lib/i18n.service.d.ts +12 -0
  53. package/lib/language-selector.service.d.ts +15 -0
  54. package/lib/layout/layout.component.d.ts +8 -4
  55. package/lib/navigation/navigation-item/navigation-item.component.d.ts +11 -18
  56. package/lib/navigation/navigation-item.d.ts +1 -1
  57. package/lib/navigation/navigation.component.d.ts +6 -6
  58. package/lib/navigation/navigation.service.d.ts +1 -1
  59. package/lib/sidenav/sidenav-footer.directive.d.ts +1 -1
  60. package/lib/sidenav/sidenav-header.directive.d.ts +1 -1
  61. package/lib/sidenav/sidenav.component.d.ts +1 -1
  62. package/lib/sidenav/version/version.component.d.ts +3 -3
  63. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.d.ts +3 -5
  64. package/lib/types.d.ts +3 -2
  65. package/lib/window-container-sidenav/window-container-sidenav.component.d.ts +2 -2
  66. package/package.json +90 -67
  67. package/theme.css +1 -0
  68. package/collection.json +0 -10
  69. package/esm2022/lib/footer/footer.component.module.mjs +0 -30
  70. package/esm2022/lib/header/apps-button/apps-button.component.module.mjs +0 -46
  71. package/esm2022/lib/header/header.component.module.mjs +0 -70
  72. package/esm2022/lib/header/language-selector/language-selector.component.module.mjs +0 -30
  73. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.mjs +0 -26
  74. package/esm2022/lib/header/reset-button/reset-button.component.module.mjs +0 -26
  75. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.mjs +0 -30
  76. package/esm2022/lib/header/sign-out/sign-out.component.module.mjs +0 -30
  77. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.module.mjs +0 -38
  78. package/esm2022/lib/layout/layout.component.module.mjs +0 -70
  79. package/esm2022/lib/navigation/navigation.component.module.mjs +0 -71
  80. package/esm2022/lib/navigation/replace-router-paths.pipe.mjs +0 -36
  81. package/esm2022/lib/sidenav/sidenav.component.module.mjs +0 -44
  82. package/esm2022/lib/sidenav/version/version.component.module.mjs +0 -26
  83. package/esm2022/lib/sidenav-content/sidenav-content.component.mjs +0 -46
  84. package/esm2022/lib/sidenav-content/sidenav-content.component.module.mjs +0 -26
  85. package/esm2022/lib/sidenav-content/sidenav-content.component.service.mjs +0 -37
  86. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.mjs +0 -30
  87. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.module.mjs +0 -30
  88. package/lib/footer/footer.component.module.d.ts +0 -10
  89. package/lib/header/apps-button/apps-button.component.module.d.ts +0 -14
  90. package/lib/header/header.component.module.d.ts +0 -20
  91. package/lib/header/language-selector/language-selector.component.module.d.ts +0 -10
  92. package/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.d.ts +0 -9
  93. package/lib/header/reset-button/reset-button.component.module.d.ts +0 -9
  94. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.d.ts +0 -10
  95. package/lib/header/sign-out/sign-out.component.module.d.ts +0 -10
  96. package/lib/header/user-profile-icon/user-profile-icon.component.module.d.ts +0 -12
  97. package/lib/layout/layout.component.module.d.ts +0 -20
  98. package/lib/navigation/navigation.component.module.d.ts +0 -19
  99. package/lib/navigation/replace-router-paths.pipe.d.ts +0 -16
  100. package/lib/sidenav/sidenav.component.module.d.ts +0 -15
  101. package/lib/sidenav/version/version.component.module.d.ts +0 -9
  102. package/lib/sidenav-content/sidenav-content.component.d.ts +0 -12
  103. package/lib/sidenav-content/sidenav-content.component.module.d.ts +0 -9
  104. package/lib/sidenav-content/sidenav-content.component.service.d.ts +0 -15
  105. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.d.ts +0 -10
  106. package/lib/window-container-sidenav/window-container-sidenav.component.module.d.ts +0 -10
  107. package/migration.json +0 -4
  108. package/src/schematics/ng-add/index.d.ts +0 -2
  109. package/src/schematics/ng-add/index.js +0 -8
  110. package/src/schematics/ng-add/index.js.map +0 -1
  111. package/src/schematics/ng-add/schema.json +0 -7
@@ -1,85 +1,33 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, Input, ChangeDetectionStrategy, ViewChild, HostBinding, ViewEncapsulation, ElementRef, Renderer2, HostListener, TemplateRef, ViewContainerRef, Inject, } from '@angular/core';
3
- import { Required, DebounceCall } from '@rxap/utilities';
4
- import { trigger, style, transition, animate } from '@angular/animations';
5
- import { RouterLinkActive, Router, NavigationEnd } from '@angular/router';
6
- import { Subscription } from 'rxjs';
7
- import { filter, tap, delay, startWith, distinctUntilChanged, skip, } from 'rxjs/operators';
8
- import { SidenavComponentService } from '../../sidenav/sidenav.component.service';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, Input, Renderer2, signal, ViewChild, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
3
+ import { Required } from '@rxap/utilities';
4
+ import { animate, style, transition, trigger, } from '@angular/animations';
5
+ import { NavigationEnd, Router, RouterLink, RouterLinkActive, } from '@angular/router';
6
+ import { debounceTime, Subscription, } from 'rxjs';
7
+ import { filter, startWith, tap, } from 'rxjs/operators';
9
8
  import { Overlay } from '@angular/cdk/overlay';
10
- import { TemplatePortal } from '@angular/cdk/portal';
9
+ import { SidenavComponentService } from '../../sidenav/sidenav.component.service';
10
+ import { NavigationComponent } from '../navigation.component';
11
+ import { MatDividerModule } from '@angular/material/divider';
12
+ import { IconDirective } from '@rxap/material-directives/icon';
13
+ import { MatIconModule } from '@angular/material/icon';
14
+ import { MatRippleModule } from '@angular/material/core';
15
+ import { NgClass, NgIf, } from '@angular/common';
11
16
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/router";
13
- import * as i2 from "../../sidenav/sidenav.component.service";
14
- import * as i3 from "@angular/cdk/overlay";
15
- const _c0 = ["navigationOverlay"];
16
- const _c1 = ["rxap-navigation-item", ""];
17
- function NavigationItemComponent_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
18
- i0.ɵɵelement(0, "mat-icon", 5);
19
- } if (rf & 2) {
20
- const ctx_r0 = i0.ɵɵnextContext();
21
- i0.ɵɵproperty("rxapIcon", ctx_r0.item.icon);
22
- } }
23
- function NavigationItemComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementStart(0, "span", 6);
25
- i0.ɵɵtext(1);
26
- i0.ɵɵelementEnd();
27
- } if (rf & 2) {
28
- const ctx_r1 = i0.ɵɵnextContext();
29
- i0.ɵɵadvance(1);
30
- i0.ɵɵtextInterpolate(ctx_r1.item.label);
31
- } }
32
- function NavigationItemComponent_ul_5_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "ul", 7);
34
- } if (rf & 2) {
35
- const ctx_r2 = i0.ɵɵnextContext();
36
- i0.ɵɵproperty("@sub-nav", undefined)("items", ctx_r2.children)("level", ctx_r2.level + 1);
37
- } }
38
- function NavigationItemComponent_ng_template_7_li_2_a_1_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelement(0, "mat-icon", 5);
40
- } if (rf & 2) {
41
- const child_r6 = i0.ɵɵnextContext(2).$implicit;
42
- const ctx_r8 = i0.ɵɵnextContext(2);
43
- i0.ɵɵproperty("rxapIcon", ctx_r8.asNavigationItem(child_r6).icon);
44
- } }
45
- function NavigationItemComponent_ng_template_7_li_2_a_1_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelementStart(0, "a", 11);
47
- i0.ɵɵtemplate(1, NavigationItemComponent_ng_template_7_li_2_a_1_mat_icon_1_Template, 1, 1, "mat-icon", 1);
48
- i0.ɵɵelementStart(2, "span", 6);
49
- i0.ɵɵtext(3);
50
- i0.ɵɵelementEnd()();
51
- } if (rf & 2) {
52
- const child_r6 = i0.ɵɵnextContext().$implicit;
53
- const ctx_r7 = i0.ɵɵnextContext(2);
54
- i0.ɵɵproperty("routerLink", ctx_r7.asNavigationItem(child_r6).routerLink);
55
- i0.ɵɵadvance(1);
56
- i0.ɵɵproperty("ngIf", ctx_r7.asNavigationItem(child_r6).icon);
57
- i0.ɵɵadvance(2);
58
- i0.ɵɵtextInterpolate(ctx_r7.asNavigationItem(child_r6).label);
59
- } }
60
- function NavigationItemComponent_ng_template_7_li_2_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelementStart(0, "li");
62
- i0.ɵɵtemplate(1, NavigationItemComponent_ng_template_7_li_2_a_1_Template, 4, 3, "a", 10);
63
- i0.ɵɵelementEnd();
64
- } if (rf & 2) {
65
- const child_r6 = ctx.$implicit;
66
- const ctx_r5 = i0.ɵɵnextContext(2);
67
- i0.ɵɵadvance(1);
68
- i0.ɵɵproperty("ngIf", ctx_r5.isNavigationItem(child_r6));
69
- } }
70
- function NavigationItemComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
71
- const _r12 = i0.ɵɵgetCurrentView();
72
- i0.ɵɵelementStart(0, "div", 8);
73
- i0.ɵɵlistener("mouseenter", function NavigationItemComponent_ng_template_7_Template_div_mouseenter_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.lockeOverlay = true); })("mouseleave", function NavigationItemComponent_ng_template_7_Template_div_mouseleave_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(); ctx_r13.lockeOverlay = false; return i0.ɵɵresetView(ctx_r13.onMouseleave()); });
74
- i0.ɵɵelementStart(1, "ul");
75
- i0.ɵɵtemplate(2, NavigationItemComponent_ng_template_7_li_2_Template, 2, 1, "li", 9);
76
- i0.ɵɵelementEnd()();
77
- } if (rf & 2) {
78
- const ctx_r4 = i0.ɵɵnextContext();
79
- i0.ɵɵadvance(2);
80
- i0.ɵɵproperty("ngForOf", ctx_r4.children);
81
- } }
82
- class NavigationItemComponent {
17
+ import * as i1 from "@angular/material/core";
18
+ import * as i2 from "@angular/material/icon";
19
+ import * as i3 from "@angular/material/divider";
20
+ import * as i4 from "@angular/router";
21
+ import * as i5 from "../../sidenav/sidenav.component.service";
22
+ import * as i6 from "@angular/cdk/overlay";
23
+ export class NavigationItemComponent {
24
+ get isActive() {
25
+ return this._isActive;
26
+ }
27
+ set isActive(value) {
28
+ this._isActive = value;
29
+ this.active.set(value);
30
+ }
83
31
  constructor(router, sidenav, elementRef, renderer, overlay, viewContainerRef) {
84
32
  this.router = router;
85
33
  this.sidenav = sidenav;
@@ -87,30 +35,35 @@ class NavigationItemComponent {
87
35
  this.renderer = renderer;
88
36
  this.overlay = overlay;
89
37
  this.viewContainerRef = viewContainerRef;
90
- this.children = null;
91
38
  this.level = 0;
92
- this.isActive = false;
39
+ this._isActive = false;
40
+ this.children = null;
41
+ this.active = signal(false);
93
42
  this._subscription = new Subscription();
94
- /**
95
- * indicates the mouse is over the
96
- */
97
- this.lockeOverlay = false;
98
43
  }
99
44
  ngOnChanges(changes) {
100
- if (changes.item) {
101
- const item = changes.item.currentValue;
45
+ if (changes['item']) {
46
+ const item = changes['item'].currentValue;
102
47
  this.children =
103
48
  item.children && item.children.length ? item.children : null;
104
49
  }
105
50
  }
106
51
  ngAfterViewInit() {
107
52
  this._subscription.add(this.router.events
108
- .pipe(filter((event) => event instanceof NavigationEnd), startWith(true), delay(100), tap(() => {
109
- if (this.routerLinkActive.isActive) {
110
- if (!this.sidenav.collapsed$.value) {
111
- // only close the overlay if sidenav collapsed
112
- this._overlayRef?.detach();
53
+ .pipe(filter((event) => event instanceof NavigationEnd), debounceTime(100), startWith(true), tap(() => {
54
+ let isActive = true;
55
+ const urlParts = this.router.url.split('/');
56
+ if (urlParts[0] === '') {
57
+ urlParts[0] = '/';
58
+ }
59
+ for (let i = 0; i < this.item.routerLink.length; i++) {
60
+ if (urlParts[i] !== this.item.routerLink[i]) {
61
+ isActive = false;
62
+ break;
113
63
  }
64
+ }
65
+ this.isActive = isActive;
66
+ if (isActive) {
114
67
  this.renderer.addClass(this.elementRef.nativeElement, 'active');
115
68
  }
116
69
  else {
@@ -119,45 +72,8 @@ class NavigationItemComponent {
119
72
  }))
120
73
  .subscribe());
121
74
  }
122
- ngOnInit() {
123
- // detach the navigation overlay if the sidenav collapsed
124
- // state is changed
125
- this._subscription.add(this.sidenav.collapsed$
126
- .pipe(skip(1), distinctUntilChanged(), tap(() => this._overlayRef?.detach()))
127
- .subscribe());
128
- }
129
75
  ngOnDestroy() {
130
76
  this._subscription?.unsubscribe();
131
- this._overlayRef?.dispose();
132
- }
133
- onMouseenter() {
134
- if (this.children) {
135
- if (!this.routerLinkActive.isActive || this.sidenav.collapsed$.value) {
136
- if (!this._overlayRef) {
137
- this._overlayRef = this.overlay.create({
138
- positionStrategy: this.overlay
139
- .position()
140
- .flexibleConnectedTo(this.elementRef)
141
- .withPositions([
142
- {
143
- originY: 'top',
144
- originX: 'end',
145
- overlayY: 'top',
146
- overlayX: 'start',
147
- },
148
- ]),
149
- });
150
- }
151
- if (!this._overlayRef.hasAttached()) {
152
- this._embeddedViewRef = this._overlayRef.attach(new TemplatePortal(this._navigationOverlay, this.viewContainerRef));
153
- }
154
- }
155
- }
156
- }
157
- onMouseleave() {
158
- if (!this.lockeOverlay) {
159
- this._overlayRef?.detach();
160
- }
161
77
  }
162
78
  // region type save item property
163
79
  // required to check the type of the item property in the ngFor loop
@@ -173,115 +89,85 @@ class NavigationItemComponent {
173
89
  }
174
90
  return item;
175
91
  }
176
- static { this.ɵfac = function NavigationItemComponent_Factory(t) { return new (t || NavigationItemComponent)(i0.ɵɵdirectiveInject(Router), i0.ɵɵdirectiveInject(SidenavComponentService), i0.ɵɵdirectiveInject(ElementRef), i0.ɵɵdirectiveInject(Renderer2), i0.ɵɵdirectiveInject(Overlay), i0.ɵɵdirectiveInject(ViewContainerRef)); }; }
177
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationItemComponent, selectors: [["li", "rxap-navigation-item", ""]], viewQuery: function NavigationItemComponent_Query(rf, ctx) { if (rf & 1) {
178
- i0.ɵɵviewQuery(RouterLinkActive, 7);
179
- i0.ɵɵviewQuery(_c0, 5);
180
- } if (rf & 2) {
181
- let _t;
182
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.routerLinkActive = _t.first);
183
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._navigationOverlay = _t.first);
184
- } }, hostAttrs: [1, "rxap-navigation-item"], hostVars: 2, hostBindings: function NavigationItemComponent_HostBindings(rf, ctx) { if (rf & 1) {
185
- i0.ɵɵlistener("mouseenter", function NavigationItemComponent_mouseenter_HostBindingHandler() { return ctx.onMouseenter(); })("mouseleave", function NavigationItemComponent_mouseleave_HostBindingHandler() { return ctx.onMouseleave(); });
186
- } if (rf & 2) {
187
- i0.ɵɵclassProp("active", ctx.isActive);
188
- } }, inputs: { item: "item", level: "level" }, features: [i0.ɵɵNgOnChangesFeature], attrs: _c1, decls: 9, vars: 15, consts: [["routerLinkActive", "link-active", "matRipple", "", 3, "routerLink", "matTooltipDisabled", "matTooltip"], ["class", "icon", 3, "rxapIcon", 4, "ngIf"], [3, "ngIf"], ["rxap-navigation", "", "class", "sub-items", "fxFlex", "nogrow", 3, "items", "level", 4, "ngIf"], ["navigationOverlay", ""], [1, "icon", 3, "rxapIcon"], [1, "label"], ["rxap-navigation", "", "fxFlex", "nogrow", 1, "sub-items", 3, "items", "level"], [1, "navigation-overlay-container", "mat-elevation-z1", 3, "mouseenter", "mouseleave"], [4, "ngFor", "ngForOf"], ["class", "navigation-link mat-body-2 mat-body-strong", "matRipple", "", 3, "routerLink", 4, "ngIf"], ["matRipple", "", 1, "navigation-link", "mat-body-2", "mat-body-strong", 3, "routerLink"]], template: function NavigationItemComponent_Template(rf, ctx) { if (rf & 1) {
189
- i0.ɵɵelementStart(0, "a", 0);
190
- i0.ɵɵpipe(1, "async");
191
- i0.ɵɵtemplate(2, NavigationItemComponent_mat_icon_2_Template, 1, 1, "mat-icon", 1);
192
- i0.ɵɵtemplate(3, NavigationItemComponent_ng_template_3_Template, 2, 1, "ng-template", 2);
193
- i0.ɵɵpipe(4, "async");
194
- i0.ɵɵelementEnd();
195
- i0.ɵɵtemplate(5, NavigationItemComponent_ul_5_Template, 1, 3, "ul", 3);
196
- i0.ɵɵpipe(6, "async");
197
- i0.ɵɵtemplate(7, NavigationItemComponent_ng_template_7_Template, 3, 1, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
198
- } if (rf & 2) {
199
- i0.ɵɵclassMapInterpolate1("navigation-link mat-body-2 mat-body-strong navigation-level-", ctx.level, "");
200
- i0.ɵɵproperty("routerLink", ctx.item.routerLink)("matTooltipDisabled", !i0.ɵɵpipeBind1(1, 9, ctx.sidenav.collapsed$))("matTooltip", ctx.item.label);
201
- i0.ɵɵadvance(2);
202
- i0.ɵɵproperty("ngIf", ctx.item.icon);
203
- i0.ɵɵadvance(1);
204
- i0.ɵɵproperty("ngIf", !i0.ɵɵpipeBind1(4, 11, ctx.sidenav.collapsed$));
205
- i0.ɵɵadvance(2);
206
- i0.ɵɵproperty("ngIf", ctx.routerLinkActive.isActive && !i0.ɵɵpipeBind1(6, 13, ctx.sidenav.collapsed$) && ctx.children);
207
- } }, styles: [".rxap-navigation-item,.navigation-overlay-container{display:flex;flex-direction:column;min-height:48px}.rxap-navigation-item .navigation-link,.navigation-overlay-container .navigation-link{display:flex;flex-direction:row;align-items:center;text-decoration:none;height:48px}.rxap-navigation-item .navigation-link .icon,.navigation-overlay-container .navigation-link .icon{margin:0 16px}.rxap-navigation-item .navigation-link .label,.navigation-overlay-container .navigation-link .label{padding-right:12px}.rxap-navigation-item .navigation-link.navigation-level-1,.navigation-overlay-container .navigation-link.navigation-level-1{padding-left:52px}.rxap-navigation-item .navigation-link.navigation-level-1 .icon,.navigation-overlay-container .navigation-link.navigation-level-1 .icon{padding-left:0}.rxap-navigation-item .navigation-link.navigation-level-2,.navigation-overlay-container .navigation-link.navigation-level-2{padding-left:88px}.rxap-navigation-item .navigation-link.navigation-level-2 .icon,.navigation-overlay-container .navigation-link.navigation-level-2 .icon{padding-left:0}.navigation-overlay-container{padding:0 16px}.navigation-overlay-container ul{list-style-type:none;margin:0;padding:0}.navigation-overlay-container ul .navigation-link .label{padding-right:0}.navigation-overlay-container ul .navigation-link .icon{margin-left:0}\n"], encapsulation: 2, data: { animation: [
208
- trigger('sub-nav', [
209
- transition(':enter', [
210
- style({ display: 'block', height: '0', overflow: 'hidden' }),
211
- animate(150, style({ height: '*' })),
212
- ]),
213
- transition(':leave', [
214
- style({ overflow: 'hidden' }),
215
- animate(300, style({ height: '0' })),
216
- style({ display: 'none' }),
217
- ]),
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: NavigationItemComponent, deps: [{ token: Router }, { token: SidenavComponentService }, { token: ElementRef }, { token: Renderer2 }, { token: Overlay }, { token: ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: NavigationItemComponent, isStandalone: true, selector: "li[rxap-navigation-item]", inputs: { level: "level", item: "item" }, host: { properties: { "class.active": "this.isActive" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{\n 'border-l-4 text-accent-400 border-accent-600': active(),\n }\">\n <a [routerLink]=\"item.routerLink\"\n class=\"h-12 pl-4 pr-5 flex flex-row justify-between items-center gap-x-4\"\n matRipple\n routerLinkActive\n\n >\n <span\n [ngClass]=\"{\n 'pl-0': level === 0,\n 'pl-4': level === 1,\n 'pl-8': level === 2,\n 'pl-12': level === 3\n }\"\n class=\"grow whitespace-nowrap\"\n >\n {{ item.label }}\n </span>\n <mat-icon *ngIf=\"item.icon\" [rxapIcon]=\"item.icon\"></mat-icon>\n </a>\n\n <ng-container *ngIf=\"item.children?.length && active()\">\n\n <mat-divider></mat-divider>\n\n <ul [@sub-nav]\n [items]=\"children ?? []\"\n [level]=\"level + 1\"\n rxap-navigation\n >\n </ul>\n\n <mat-divider></mat-divider>\n\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatRippleModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatIconModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i2.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i0.forwardRef(function () { return IconDirective; }), selector: "mat-icon[rxapIcon]", inputs: ["rxapIcon"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatDividerModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i3.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i0.forwardRef(function () { return NavigationComponent; }), selector: "ul[rxap-navigation]", inputs: ["items", "level", "root"] }, { kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
94
+ trigger('sub-nav', [
95
+ transition(':enter', [
96
+ style({
97
+ display: 'block',
98
+ height: '0',
99
+ overflow: 'hidden',
100
+ }),
101
+ animate(150, style({ height: '*' })),
102
+ ]),
103
+ transition(':leave', [
104
+ style({ overflow: 'hidden' }),
105
+ animate(300, style({ height: '0' })),
106
+ style({ display: 'none' }),
218
107
  ]),
219
- ] }, changeDetection: 0 }); }
108
+ ]),
109
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
220
110
  }
221
111
  __decorate([
222
112
  Required,
223
113
  __metadata("design:type", Object)
224
114
  ], NavigationItemComponent.prototype, "item", void 0);
225
- __decorate([
226
- DebounceCall(100),
227
- __metadata("design:type", Function),
228
- __metadata("design:paramtypes", []),
229
- __metadata("design:returntype", void 0)
230
- ], NavigationItemComponent.prototype, "onMouseleave", null);
231
- export { NavigationItemComponent };
232
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavigationItemComponent, [{
233
- type: Component,
234
- args: [{ selector: 'li[rxap-navigation-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
235
- class: 'rxap-navigation-item',
236
- }, animations: [
237
- trigger('sub-nav', [
238
- transition(':enter', [
239
- style({ display: 'block', height: '0', overflow: 'hidden' }),
240
- animate(150, style({ height: '*' })),
241
- ]),
242
- transition(':leave', [
243
- style({ overflow: 'hidden' }),
244
- animate(300, style({ height: '0' })),
245
- style({ display: 'none' }),
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: NavigationItemComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'li[rxap-navigation-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [
118
+ trigger('sub-nav', [
119
+ transition(':enter', [
120
+ style({
121
+ display: 'block',
122
+ height: '0',
123
+ overflow: 'hidden',
124
+ }),
125
+ animate(150, style({ height: '*' })),
126
+ ]),
127
+ transition(':leave', [
128
+ style({ overflow: 'hidden' }),
129
+ animate(300, style({ height: '0' })),
130
+ style({ display: 'none' }),
131
+ ]),
246
132
  ]),
247
- ]),
248
- ], template: "<a [routerLink]=\"item.routerLink\"\n routerLinkActive=\"link-active\"\n [matTooltipDisabled]=\"!(sidenav.collapsed$ | async)\"\n [matTooltip]=\"item.label\"\n class=\"navigation-link mat-body-2 mat-body-strong navigation-level-{{level}}\" matRipple>\n <mat-icon *ngIf=\"item.icon\" [rxapIcon]=\"item.icon\" class=\"icon\"></mat-icon>\n <ng-template [ngIf]=\"!(sidenav.collapsed$ | async)\">\n <span class=\"label\">{{ item.label }}</span>\n </ng-template>\n</a>\n\n<ul rxap-navigation\n *ngIf=\"routerLinkActive.isActive && !(sidenav.collapsed$ | async) && children\"\n [@sub-nav]\n [items]=\"children\"\n [level]=\"level + 1\"\n class=\"sub-items\"\n fxFlex=\"nogrow\"\n>\n</ul>\n\n<ng-template #navigationOverlay>\n <div class=\"navigation-overlay-container mat-elevation-z1\"\n (mouseenter)=\"lockeOverlay = true\" (mouseleave)=\"lockeOverlay = false; onMouseleave()\">\n <ul>\n <li *ngFor=\"let child of children\">\n <a *ngIf=\"isNavigationItem(child)\" [routerLink]=\"asNavigationItem(child).routerLink\"\n class=\"navigation-link mat-body-2 mat-body-strong\" matRipple>\n <mat-icon *ngIf=\"asNavigationItem(child).icon\" [rxapIcon]=\"asNavigationItem(child).icon\" class=\"icon\"></mat-icon>\n <span class=\"label\">{{ asNavigationItem(child).label }}</span>\n </a>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [".rxap-navigation-item,.navigation-overlay-container{display:flex;flex-direction:column;min-height:48px}.rxap-navigation-item .navigation-link,.navigation-overlay-container .navigation-link{display:flex;flex-direction:row;align-items:center;text-decoration:none;height:48px}.rxap-navigation-item .navigation-link .icon,.navigation-overlay-container .navigation-link .icon{margin:0 16px}.rxap-navigation-item .navigation-link .label,.navigation-overlay-container .navigation-link .label{padding-right:12px}.rxap-navigation-item .navigation-link.navigation-level-1,.navigation-overlay-container .navigation-link.navigation-level-1{padding-left:52px}.rxap-navigation-item .navigation-link.navigation-level-1 .icon,.navigation-overlay-container .navigation-link.navigation-level-1 .icon{padding-left:0}.rxap-navigation-item .navigation-link.navigation-level-2,.navigation-overlay-container .navigation-link.navigation-level-2{padding-left:88px}.rxap-navigation-item .navigation-link.navigation-level-2 .icon,.navigation-overlay-container .navigation-link.navigation-level-2 .icon{padding-left:0}.navigation-overlay-container{padding:0 16px}.navigation-overlay-container ul{list-style-type:none;margin:0;padding:0}.navigation-overlay-container ul .navigation-link .label{padding-right:0}.navigation-overlay-container ul .navigation-link .icon{margin-left:0}\n"] }]
249
- }], function () { return [{ type: i1.Router, decorators: [{
250
- type: Inject,
251
- args: [Router]
252
- }] }, { type: i2.SidenavComponentService, decorators: [{
253
- type: Inject,
254
- args: [SidenavComponentService]
255
- }] }, { type: i0.ElementRef, decorators: [{
256
- type: Inject,
257
- args: [ElementRef]
258
- }] }, { type: i0.Renderer2, decorators: [{
259
- type: Inject,
260
- args: [Renderer2]
261
- }] }, { type: i3.Overlay, decorators: [{
262
- type: Inject,
263
- args: [Overlay]
264
- }] }, { type: i0.ViewContainerRef, decorators: [{
265
- type: Inject,
266
- args: [ViewContainerRef]
267
- }] }]; }, { routerLinkActive: [{
268
- type: ViewChild,
269
- args: [RouterLinkActive, { static: true }]
270
- }], item: [{
271
- type: Input
272
- }], level: [{
273
- type: Input
274
- }], isActive: [{
275
- type: HostBinding,
276
- args: ['class.active']
277
- }], _navigationOverlay: [{
278
- type: ViewChild,
279
- args: ['navigationOverlay']
280
- }], onMouseenter: [{
281
- type: HostListener,
282
- args: ['mouseenter']
283
- }], onMouseleave: [{
284
- type: HostListener,
285
- args: ['mouseleave']
286
- }] }); })();
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFHdkIsU0FBUyxFQUdULFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLGdCQUFnQixFQUVoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFNMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3BCLElBQUksR0FDTCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxF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Q3JDLENBQUM7d0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDOzRCQUM3QixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUNwQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7eUJBQzNCLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDs7c0JBa0NFLE1BQU07dUJBQUMsTUFBTTs7c0JBRWIsTUFBTTt1QkFBQyx1QkFBdUI7O3NCQUU5QixNQUFNO3VCQUFDLFVBQVU7O3NCQUVqQixNQUFNO3VCQUFDLFNBQVM7O3NCQUVoQixNQUFNO3VCQUFDLE9BQU87O3NCQUVkLE1BQU07dUJBQUMsZ0JBQWdCO3dCQXBDbkIsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUt0QyxJQUFJO2tCQUZWLEtBQUs7WUFLQyxLQUFLO2tCQURYLEtBQUs7WUFJQyxRQUFRO2tCQURkLFdBQVc7bUJBQUMsY0FBYztZQUluQixrQkFBa0I7a0JBRHpCLFNBQVM7bUJBQUMsbUJBQW1CO1lBa0Z2QixZQUFZO2tCQURsQixZQUFZO21CQUFDLFlBQVk7WUE4Qm5CLFlBQVk7a0JBRmxCLFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgT25EZXN0cm95LFxuICBBZnRlclZpZXdJbml0LFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXF1aXJlZCwgRGVib3VuY2VDYWxsIH0gZnJvbSAnQHJ4YXAvdXRpbGl0aWVzJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uSXRlbSxcbiAgTmF2aWdhdGlvbixcbiAgTmF2aWdhdGlvbkRpdmlkZXJJdGVtLFxufSBmcm9tICcuLi9uYXZpZ2F0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICB0YXAsXG4gIGRlbGF5LFxuICBzdGFydFdpdGgsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBza2lwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaWRlbmF2Q29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGlbcnhhcC1uYXZpZ2F0aW9uLWl0ZW1dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24taXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAncnhhcC1uYXZpZ2F0aW9uLWl0ZW0nLFxuICB9LFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc3ViLW5hdicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBkaXNwbGF5OiAnYmxvY2snLCBoZWlnaHQ6ICcwJywgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pLFxuICAgICAgICBhbmltYXRlKDE1MCwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgIGFuaW1hdGUoMzAwLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgICAgc3R5bGUoeyBkaXNwbGF5OiAnbm9uZScgfSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkl0ZW1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIHB1YmxpYyBjaGlsZHJlbjogTmF2aWdhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoUm91dGVyTGlua0FjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHJvdXRlckxpbmtBY3RpdmUhOiBSb3V0ZXJMaW5rQWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIEBSZXF1aXJlZFxuICBwdWJsaWMgaXRlbSE6IE5hdmlnYXRpb25JdGVtO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZXZlbDogbnVtYmVyID0gMDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpXG4gIHB1YmxpYyBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ25hdmlnYXRpb25PdmVybGF5JylcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbk92ZXJsYXkhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIF9vdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBfZW1iZWRkZWRWaWV3UmVmPzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgLyoqXG4gICAqIGluZGljYXRlcyB0aGUgbW91c2UgaXMgb3ZlciB0aGVcbiAgICovXG4gIHB1YmxpYyBsb2NrZU92ZXJsYXk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFJvdXRlcilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIEBJbmplY3QoU2lkZW5hdkNvbXBvbmVudFNlcnZpY2UpXG4gICAgcHVibGljIHJlYWRvbmx5IHNpZGVuYXY6IFNpZGVuYXZDb21wb25lbnRTZXJ2aWNlLFxuICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChSZW5kZXJlcjIpXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBJbmplY3QoT3ZlcmxheSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksXG4gICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVtKSB7XG4gICAgICBjb25zdCBpdGVtOiBOYXZpZ2F0aW9uSXRlbSA9IGNoYW5nZXMuaXRlbS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLmNoaWxkcmVuID1cbiAgICAgICAgaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA/IGl0ZW0uY2hpbGRyZW4gOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgIHN0YXJ0V2l0aCh0cnVlKSxcbiAgICAgICAgICBkZWxheSgxMDApLFxuICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXJMaW5rQWN0aXZlLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5zaWRlbmF2LmNvbGxhcHNlZCQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAvLyBvbmx5IGNsb3NlIHRoZSBvdmVybGF5IGlmIHNpZGVuYXYgY29sbGFwc2VkXG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnYWN0aXZlJ1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAvLyBkZXRhY2ggdGhlIG5hdmlnYXRpb24gb3ZlcmxheSBpZiB0aGUgc2lkZW5hdiBjb2xsYXBzZWRcbiAgICAvLyBzdGF0ZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc2lkZW5hdi5jb2xsYXBzZWQkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHB1YmxpYyBvbk1vdXNlZW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIGlmICghdGhpcy5yb3V0ZXJMaW5rQWN0aXZlLmlzQWN0aXZlIHx8IHRoaXMuc2lkZW5hdi5jb2xsYXBzZWQkLnZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICB0aGlzLl9lbWJlZGRlZFZpZXdSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChcbiAgICAgICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9uYXZpZ2F0aW9uT3ZlcmxheSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgQERlYm91bmNlQ2FsbCgxMDApXG4gIHB1YmxpYyBvbk1vdXNlbGVhdmUoKSB7XG4gICAgaWYgKCF0aGlzLmxvY2tlT3ZlcmxheSkge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVnaW9uIHR5cGUgc2F2ZSBpdGVtIHByb3BlcnR5XG5cbiAgLy8gcmVxdWlyZWQgdG8gY2hlY2sgdGhlIHR5cGUgb2YgdGhlIGl0ZW0gcHJvcGVydHkgaW4gdGhlIG5nRm9yIGxvb3BcblxuICBwdWJsaWMgaXNOYXZpZ2F0aW9uRGl2aWRlckl0ZW0oXG4gICAgaXRlbTogTmF2aWdhdGlvbkl0ZW0gfCBOYXZpZ2F0aW9uRGl2aWRlckl0ZW1cbiAgKTogaXRlbSBpcyBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0ge1xuICAgIHJldHVybiAoaXRlbSBhcyBhbnkpWydkaXZpZGVyJ107XG4gIH1cblxuICBwdWJsaWMgaXNOYXZpZ2F0aW9uSXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbVxuICApOiBpdGVtIGlzIE5hdmlnYXRpb25JdGVtIHtcbiAgICByZXR1cm4gIXRoaXMuaXNOYXZpZ2F0aW9uRGl2aWRlckl0ZW0oaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYXNOYXZpZ2F0aW9uSXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbVxuICApOiBOYXZpZ2F0aW9uSXRlbSB7XG4gICAgaWYgKCF0aGlzLmlzTmF2aWdhdGlvbkl0ZW0oaXRlbSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGl0ZW0gaXMgbm90IGEgTmF2aWdhdGlvbkl0ZW0nKTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW07XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbn1cbiIsIjxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICByb3V0ZXJMaW5rQWN0aXZlPVwibGluay1hY3RpdmVcIlxuICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhKHNpZGVuYXYuY29sbGFwc2VkJCB8IGFzeW5jKVwiXG4gICBbbWF0VG9vbHRpcF09XCJpdGVtLmxhYmVsXCJcbiAgIGNsYXNzPVwibmF2aWdhdGlvbi1saW5rIG1hdC1ib2R5LTIgbWF0LWJvZHktc3Ryb25nIG5hdmlnYXRpb24tbGV2ZWwte3tsZXZlbH19XCIgbWF0UmlwcGxlPlxuICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbcnhhcEljb25dPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJpY29uXCI+PC9tYXQtaWNvbj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiEoc2lkZW5hdi5jb2xsYXBzZWQkIHwgYXN5bmMpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L2E+XG5cbjx1bCByeGFwLW5hdmlnYXRpb25cbiAgICAqbmdJZj1cInJvdXRlckxpbmtBY3RpdmUuaXNBY3RpdmUgJiYgIShzaWRlbmF2LmNvbGxhcHNlZCQgfCBhc3luYykgJiYgY2hpbGRyZW5cIlxuICAgIFtAc3ViLW5hdl1cbiAgICBbaXRlbXNdPVwiY2hpbGRyZW5cIlxuICAgIFtsZXZlbF09XCJsZXZlbCArIDFcIlxuICAgIGNsYXNzPVwic3ViLWl0ZW1zXCJcbiAgICBmeEZsZXg9XCJub2dyb3dcIlxuPlxuPC91bD5cblxuPG5nLXRlbXBsYXRlICNuYXZpZ2F0aW9uT3ZlcmxheT5cbiAgPGRpdiBjbGFzcz1cIm5hdmlnYXRpb24tb3ZlcmxheS1jb250YWluZXIgbWF0LWVsZXZhdGlvbi16MVwiXG4gICAgICAgKG1vdXNlZW50ZXIpPVwibG9ja2VPdmVybGF5ID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cImxvY2tlT3ZlcmxheSA9IGZhbHNlOyBvbk1vdXNlbGVhdmUoKVwiPlxuICAgIDx1bD5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgY2hpbGRyZW5cIj5cbiAgICAgICAgPGEgKm5nSWY9XCJpc05hdmlnYXRpb25JdGVtKGNoaWxkKVwiIFtyb3V0ZXJMaW5rXT1cImFzTmF2aWdhdGlvbkl0ZW0oY2hpbGQpLnJvdXRlckxpbmtcIlxuICAgICAgICAgICBjbGFzcz1cIm5hdmlnYXRpb24tbGluayBtYXQtYm9keS0yIG1hdC1ib2R5LXN0cm9uZ1wiIG1hdFJpcHBsZT5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJhc05hdmlnYXRpb25JdGVtKGNoaWxkKS5pY29uXCIgW3J4YXBJY29uXT1cImFzTmF2aWdhdGlvbkl0ZW0oY2hpbGQpLmljb25cIiBjbGFzcz1cImljb25cIj48L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBhc05hdmlnYXRpb25JdGVtKGNoaWxkKS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
133
+ ], standalone: true, imports: [
134
+ RouterLinkActive,
135
+ RouterLink,
136
+ NgIf,
137
+ MatRippleModule,
138
+ MatIconModule,
139
+ IconDirective,
140
+ MatDividerModule,
141
+ forwardRef(() => NavigationComponent),
142
+ NgClass,
143
+ ], template: "<div [ngClass]=\"{\n 'border-l-4 text-accent-400 border-accent-600': active(),\n }\">\n <a [routerLink]=\"item.routerLink\"\n class=\"h-12 pl-4 pr-5 flex flex-row justify-between items-center gap-x-4\"\n matRipple\n routerLinkActive\n\n >\n <span\n [ngClass]=\"{\n 'pl-0': level === 0,\n 'pl-4': level === 1,\n 'pl-8': level === 2,\n 'pl-12': level === 3\n }\"\n class=\"grow whitespace-nowrap\"\n >\n {{ item.label }}\n </span>\n <mat-icon *ngIf=\"item.icon\" [rxapIcon]=\"item.icon\"></mat-icon>\n </a>\n\n <ng-container *ngIf=\"item.children?.length && active()\">\n\n <mat-divider></mat-divider>\n\n <ul [@sub-nav]\n [items]=\"children ?? []\"\n [level]=\"level + 1\"\n rxap-navigation\n >\n </ul>\n\n <mat-divider></mat-divider>\n\n </ng-container>\n</div>\n" }]
144
+ }], ctorParameters: function () { return [{ type: i4.Router, decorators: [{
145
+ type: Inject,
146
+ args: [Router]
147
+ }] }, { type: i5.SidenavComponentService, decorators: [{
148
+ type: Inject,
149
+ args: [SidenavComponentService]
150
+ }] }, { type: i0.ElementRef, decorators: [{
151
+ type: Inject,
152
+ args: [ElementRef]
153
+ }] }, { type: i0.Renderer2, decorators: [{
154
+ type: Inject,
155
+ args: [Renderer2]
156
+ }] }, { type: i6.Overlay, decorators: [{
157
+ type: Inject,
158
+ args: [Overlay]
159
+ }] }, { type: i0.ViewContainerRef, decorators: [{
160
+ type: Inject,
161
+ args: [ViewContainerRef]
162
+ }] }]; }, propDecorators: { level: [{
163
+ type: Input
164
+ }], routerLinkActive: [{
165
+ type: ViewChild,
166
+ args: [RouterLinkActive, { static: true }]
167
+ }], item: [{
168
+ type: Input
169
+ }], isActive: [{
170
+ type: HostBinding,
171
+ args: ['class.active']
172
+ }] } });
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFF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QUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQ0FDcEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDOzZCQUMzQixDQUFDO3lCQUNILENBQUM7cUJBQ0gsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLElBQUk7d0JBQ0osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7d0JBQ3JDLE9BQU87cUJBQ1I7OzBCQWtDRSxNQUFNOzJCQUFDLE1BQU07OzBCQUViLE1BQU07MkJBQUMsdUJBQXVCOzswQkFFOUIsTUFBTTsyQkFBQyxVQUFVOzswQkFFakIsTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxPQUFPOzswQkFFZCxNQUFNOzJCQUFDLGdCQUFnQjs0Q0F0Q25CLEtBQUs7c0JBRFgsS0FBSztnQkFRQyxnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUt0QyxJQUFJO3NCQUZWLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcXVpcmVkIH0gZnJvbSAnQHJ4YXAvdXRpbGl0aWVzJztcbmltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25FbmQsXG4gIFJvdXRlcixcbiAgUm91dGVyTGluayxcbiAgUm91dGVyTGlua0FjdGl2ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgU3Vic2NyaXB0aW9uLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbHRlcixcbiAgc3RhcnRXaXRoLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBTaWRlbmF2Q29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0ByeGFwL21hdGVyaWFsLWRpcmVjdGl2ZXMvaWNvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIE5nQ2xhc3MsXG4gIE5nSWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uLFxuICBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0sXG4gIE5hdmlnYXRpb25JdGVtLFxufSBmcm9tICcuLi9uYXZpZ2F0aW9uLWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaVtyeGFwLW5hdmlnYXRpb24taXRlbV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL25hdmlnYXRpb24taXRlbS5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzdWItbmF2JywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKDE1MCwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgIGFuaW1hdGUoMzAwLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgICAgc3R5bGUoeyBkaXNwbGF5OiAnbm9uZScgfSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgUm91dGVyTGluayxcbiAgICBOZ0lmLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEljb25EaXJlY3RpdmUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBmb3J3YXJkUmVmKCgpID0+IE5hdmlnYXRpb25Db21wb25lbnQpLFxuICAgIE5nQ2xhc3MsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25JdGVtQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZXZlbCA9IDA7XG5cbiAgcHJpdmF0ZSBfaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwdWJsaWMgY2hpbGRyZW46IE5hdmlnYXRpb24gfCBudWxsID0gbnVsbDtcblxuICBAVmlld0NoaWxkKFJvdXRlckxpbmtBY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyByb3V0ZXJMaW5rQWN0aXZlITogUm91dGVyTGlua0FjdGl2ZTtcblxuICBASW5wdXQoKVxuICBAUmVxdWlyZWRcbiAgcHVibGljIGl0ZW0hOiBOYXZpZ2F0aW9uSXRlbTtcblxuICBwdWJsaWMgYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNBY3RpdmU7XG4gIH1cblxuICBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0FjdGl2ZSA9IHZhbHVlO1xuICAgIHRoaXMuYWN0aXZlLnNldCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChSb3V0ZXIpXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KFNpZGVuYXZDb21wb25lbnRTZXJ2aWNlKVxuICAgIHB1YmxpYyByZWFkb25seSBzaWRlbmF2OiBTaWRlbmF2Q29tcG9uZW50U2VydmljZSxcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoUmVuZGVyZXIyKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KE92ZXJsYXkpXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuICAgIEBJbmplY3QoVmlld0NvbnRhaW5lclJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbSddKSB7XG4gICAgICBjb25zdCBpdGVtOiBOYXZpZ2F0aW9uSXRlbSA9IGNoYW5nZXNbJ2l0ZW0nXS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLmNoaWxkcmVuID1cbiAgICAgICAgaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA/IGl0ZW0uY2hpbGRyZW4gOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY29uc3QgdXJsUGFydHMgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgaWYgKHVybFBhcnRzWzBdID09PSAnJykge1xuICAgICAgICAgICAgICAgIHVybFBhcnRzWzBdID0gJy8nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtLnJvdXRlckxpbmsubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodXJsUGFydHNbaV0gIT09IHRoaXMuaXRlbS5yb3V0ZXJMaW5rW2ldKSB7XG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuaXNBY3RpdmUgPSBpc0FjdGl2ZTtcbiAgICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiB0eXBlIHNhdmUgaXRlbSBwcm9wZXJ0eVxuXG4gIC8vIHJlcXVpcmVkIHRvIGNoZWNrIHRoZSB0eXBlIG9mIHRoZSBpdGVtIHByb3BlcnR5IGluIHRoZSBuZ0ZvciBsb29wXG5cbiAgcHVibGljIGlzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKFxuICAgIGl0ZW06IE5hdmlnYXRpb25JdGVtIHwgTmF2aWdhdGlvbkRpdmlkZXJJdGVtLFxuICApOiBpdGVtIGlzIE5hdmlnYXRpb25EaXZpZGVySXRlbSB7XG4gICAgcmV0dXJuIChpdGVtIGFzIGFueSlbJ2RpdmlkZXInXTtcbiAgfVxuXG4gIHB1YmxpYyBpc05hdmlnYXRpb25JdGVtKFxuICAgIGl0ZW06IE5hdmlnYXRpb25JdGVtIHwgTmF2aWdhdGlvbkRpdmlkZXJJdGVtLFxuICApOiBpdGVtIGlzIE5hdmlnYXRpb25JdGVtIHtcbiAgICByZXR1cm4gIXRoaXMuaXNOYXZpZ2F0aW9uRGl2aWRlckl0ZW0oaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYXNOYXZpZ2F0aW9uSXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgKTogTmF2aWdhdGlvbkl0ZW0ge1xuICAgIGlmICghdGhpcy5pc05hdmlnYXRpb25JdGVtKGl0ZW0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBpdGVtIGlzIG5vdCBhIE5hdmlnYXRpb25JdGVtJyk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIntcbiAgICAgJ2JvcmRlci1sLTQgdGV4dC1hY2NlbnQtNDAwIGJvcmRlci1hY2NlbnQtNjAwJzogYWN0aXZlKCksXG4gICAgIH1cIj5cbiAgPGEgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgY2xhc3M9XCJoLTEyIHBsLTQgcHItNSBmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLXgtNFwiXG4gICAgIG1hdFJpcHBsZVxuICAgICByb3V0ZXJMaW5rQWN0aXZlXG5cbiAgPlxuICAgIDxzcGFuXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdwbC0wJzogbGV2ZWwgPT09IDAsXG4gICAgICAgICdwbC00JzogbGV2ZWwgPT09IDEsXG4gICAgICAgICdwbC04JzogbGV2ZWwgPT09IDIsXG4gICAgICAgICdwbC0xMic6IGxldmVsID09PSAzXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwiZ3JvdyB3aGl0ZXNwYWNlLW5vd3JhcFwiXG4gICAgPlxuICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbcnhhcEljb25dPVwiaXRlbS5pY29uXCI+PC9tYXQtaWNvbj5cbiAgPC9hPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggJiYgYWN0aXZlKClcIj5cblxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuXG4gICAgPHVsIFtAc3ViLW5hdl1cbiAgICAgICAgW2l0ZW1zXT1cImNoaWxkcmVuID8/IFtdXCJcbiAgICAgICAgW2xldmVsXT1cImxldmVsICsgMVwiXG4gICAgICAgIHJ4YXAtbmF2aWdhdGlvblxuICAgID5cbiAgICA8L3VsPlxuXG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  export function IsNavigationDividerItem(item) {
2
- return item && item.hasOwnProperty('divider') && item.divider;
2
+ return !!item && !!item['divider'];
3
3
  }
4
4
  export function IsNavigationInsertItem(item) {
5
- return item && item.hasOwnProperty('insert');
5
+ return !!item && !!item['insert'];
6
6
  }
7
7
  export function IsNavigationItem(item) {
8
- return (item && item.hasOwnProperty('routerLink') && item.hasOwnProperty('label'));
8
+ return (!!item && !!item['routerLink'] && !!item['label']);
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxJQUFTO0lBRVQsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ2hFLENBQUM7QUFNRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQVM7SUFFVCxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFvQkQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVM7SUFDeEMsT0FBTyxDQUNMLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQzFFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbkNvbmZpZyB9IGZyb20gJ0ByeGFwL3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbiAgVHlwZSxcbiAgQWJzdHJhY3RUeXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uID0gQXJyYXk8TmF2aWdhdGlvbkl0ZW0gfCBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0+O1xuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uV2l0aEluc2VydHMgPSBBcnJheTxcbiAgfCBOYXZpZ2F0aW9uSXRlbTxOYXZpZ2F0aW9uV2l0aEluc2VydHM+XG4gIHwgTmF2aWdhdGlvbkRpdmlkZXJJdGVtXG4gIHwgTmF2aWdhdGlvbkluc2VydEl0ZW1cbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkRpdmlkZXJJdGVtIHtcbiAgZGl2aWRlcjogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJc05hdmlnYXRpb25EaXZpZGVySXRlbShcbiAgaXRlbTogYW55XG4pOiBpdGVtIGlzIE5hdmlnYXRpb25EaXZpZGVySXRlbSB7XG4gIHJldHVybiBpdGVtICYmIGl0ZW0uaGFzT3duUHJvcGVydHkoJ2RpdmlkZXInKSAmJiBpdGVtLmRpdmlkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkluc2VydEl0ZW0ge1xuICBpbnNlcnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkluc2VydEl0ZW0oXG4gIGl0ZW06IGFueVxuKTogaXRlbSBpcyBOYXZpZ2F0aW9uSW5zZXJ0SXRlbSB7XG4gIHJldHVybiBpdGVtICYmIGl0ZW0uaGFzT3duUHJvcGVydHkoJ2luc2VydCcpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25TdGF0dXMge1xuICBpc1Zpc2libGUoXG4gICAgbmF2aWdhdGlvbkl0ZW06IE5hdmlnYXRpb25JdGVtLFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkl0ZW08Q2hpbGRyZW4gPSBOYXZpZ2F0aW9uPiBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcm91dGVyTGluazogc3RyaW5nW107XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogQ2hpbGRyZW47XG4gIGljb24/OiBJY29uQ29uZmlnO1xuICBzdGF0dXM/OiBBcnJheTxcbiAgICB8IFR5cGU8TmF2aWdhdGlvblN0YXR1cz5cbiAgICB8IEluamVjdGlvblRva2VuPE5hdmlnYXRpb25TdGF0dXM+XG4gICAgfCBBYnN0cmFjdFR5cGU8TmF2aWdhdGlvblN0YXR1cz5cbiAgPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkl0ZW0oaXRlbTogYW55KTogaXRlbSBpcyBOYXZpZ2F0aW9uSXRlbSB7XG4gIHJldHVybiAoXG4gICAgaXRlbSAmJiBpdGVtLmhhc093blByb3BlcnR5KCdyb3V0ZXJMaW5rJykgJiYgaXRlbS5oYXNPd25Qcm9wZXJ0eSgnbGFiZWwnKVxuICApO1xufVxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxJQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQU1ELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBUztJQUVULE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFvQkQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVM7SUFDeEMsT0FBTyxDQUNMLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Db25maWcgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RUeXBlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb24gPSBBcnJheTxOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbT47XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25XaXRoSW5zZXJ0cyA9IEFycmF5PFxuICB8IE5hdmlnYXRpb25JdGVtPE5hdmlnYXRpb25XaXRoSW5zZXJ0cz5cbiAgfCBOYXZpZ2F0aW9uRGl2aWRlckl0ZW1cbiAgfCBOYXZpZ2F0aW9uSW5zZXJ0SXRlbVxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0ge1xuICBkaXZpZGVyOiBib29sZWFuO1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKFxuICBpdGVtOiBhbnksXG4pOiBpdGVtIGlzIE5hdmlnYXRpb25EaXZpZGVySXRlbSB7XG4gIHJldHVybiAhIWl0ZW0gJiYgISFpdGVtWydkaXZpZGVyJ107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkluc2VydEl0ZW0ge1xuICBpbnNlcnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkluc2VydEl0ZW0oXG4gIGl0ZW06IGFueSxcbik6IGl0ZW0gaXMgTmF2aWdhdGlvbkluc2VydEl0ZW0ge1xuICByZXR1cm4gISFpdGVtICYmICEhaXRlbVsnaW5zZXJ0J107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvblN0YXR1cyB7XG4gIGlzVmlzaWJsZShcbiAgICBuYXZpZ2F0aW9uSXRlbTogTmF2aWdhdGlvbkl0ZW0sXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uSXRlbTxDaGlsZHJlbiA9IE5hdmlnYXRpb24+IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByb3V0ZXJMaW5rOiBzdHJpbmdbXTtcbiAgbGFiZWw6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBDaGlsZHJlbjtcbiAgaWNvbj86IEljb25Db25maWc7XG4gIHN0YXR1cz86IEFycmF5PFxuICAgIHwgVHlwZTxOYXZpZ2F0aW9uU3RhdHVzPlxuICAgIHwgSW5qZWN0aW9uVG9rZW48TmF2aWdhdGlvblN0YXR1cz5cbiAgICB8IEFic3RyYWN0VHlwZTxOYXZpZ2F0aW9uU3RhdHVzPlxuICA+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSXNOYXZpZ2F0aW9uSXRlbShpdGVtOiBhbnkpOiBpdGVtIGlzIE5hdmlnYXRpb25JdGVtIHtcbiAgcmV0dXJuIChcbiAgICAhIWl0ZW0gJiYgISFpdGVtWydyb3V0ZXJMaW5rJ10gJiYgISFpdGVtWydsYWJlbCddXG4gICk7XG59XG4iXX0=