@theseam/ui-common 0.3.12-beta.0 → 0.3.12

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 (71) hide show
  1. package/bundles/theseam-ui-common-framework.umd.js +47 -899
  2. package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
  3. package/bundles/theseam-ui-common-layout.umd.js +5 -14
  4. package/bundles/theseam-ui-common-layout.umd.js.map +1 -1
  5. package/bundles/theseam-ui-common-menu.umd.js +0 -4
  6. package/bundles/theseam-ui-common-menu.umd.js.map +1 -1
  7. package/esm2015/framework/base-layout/base-layout.component.js +4 -12
  8. package/esm2015/framework/base-layout/base-layout.module.js +1 -4
  9. package/esm2015/framework/base-layout/directives/base-layout-nav-toggle.directive.js +3 -17
  10. package/esm2015/framework/public-api.js +1 -2
  11. package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +5 -11
  12. package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +5 -5
  13. package/esm2015/framework/side-nav/side-nav.component.js +18 -67
  14. package/esm2015/framework/side-nav/side-nav.service.js +1 -1
  15. package/esm2015/framework/theseam-ui-common-framework.js +9 -13
  16. package/esm2015/framework/top-bar/top-bar-item.directive.js +2 -9
  17. package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +3 -4
  18. package/esm2015/framework/top-bar/top-bar.component.js +7 -44
  19. package/esm2015/framework/top-bar/top-bar.module.js +3 -9
  20. package/esm2015/layout/layout.service.js +2 -12
  21. package/esm2015/menu/menu-toggle.directive.js +2 -6
  22. package/fesm2015/theseam-ui-common-framework.js +41 -730
  23. package/fesm2015/theseam-ui-common-framework.js.map +1 -1
  24. package/fesm2015/theseam-ui-common-layout.js +2 -11
  25. package/fesm2015/theseam-ui-common-layout.js.map +1 -1
  26. package/fesm2015/theseam-ui-common-menu.js +1 -5
  27. package/fesm2015/theseam-ui-common-menu.js.map +1 -1
  28. package/framework/base-layout/base-layout.component.d.ts +1 -3
  29. package/framework/base-layout/base-layout.component.scss +10 -18
  30. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +2 -7
  31. package/framework/base-layout/styles/_variables.scss +0 -21
  32. package/framework/public-api.d.ts +0 -1
  33. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +0 -2
  34. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -7
  35. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +2 -4
  36. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +6 -3
  37. package/framework/side-nav/side-nav.component.d.ts +1 -13
  38. package/framework/side-nav/side-nav.component.scss +1 -0
  39. package/framework/side-nav/styles/_themes/light/_variables.scss +14 -24
  40. package/framework/side-nav/styles/_themes/primary/_variables.scss +0 -8
  41. package/framework/theseam-ui-common-framework.d.ts +8 -12
  42. package/framework/theseam-ui-common-framework.metadata.json +1 -1
  43. package/framework/top-bar/top-bar-item.directive.d.ts +0 -3
  44. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +1 -4
  45. package/framework/top-bar/top-bar.component.d.ts +3 -25
  46. package/framework/top-bar/top-bar.component.scss +2 -7
  47. package/layout/layout.service.d.ts +1 -9
  48. package/layout/theseam-ui-common-layout.metadata.json +1 -1
  49. package/menu/menu-toggle.directive.d.ts +1 -2
  50. package/menu/theseam-ui-common-menu.metadata.json +1 -1
  51. package/package.json +1 -1
  52. package/esm2015/framework/base-layout/directives/base-layout-side-bar-header.directive.js +0 -15
  53. package/esm2015/framework/nav/horizontal-nav/horizontal-nav.component.js +0 -68
  54. package/esm2015/framework/nav/index.js +0 -6
  55. package/esm2015/framework/nav/nav-item/nav-item.component.js +0 -169
  56. package/esm2015/framework/nav/nav-utils.js +0 -105
  57. package/esm2015/framework/nav/nav.models.js +0 -2
  58. package/esm2015/framework/nav/nav.module.js +0 -42
  59. package/esm2015/framework/nav/nav.service.js +0 -175
  60. package/esm2015/framework/top-bar/top-bar-compact-menu-btn-detail.directive.js +0 -15
  61. package/esm2015/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.js +0 -15
  62. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -6
  63. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -31
  64. package/framework/nav/index.d.ts +0 -5
  65. package/framework/nav/nav-item/nav-item.component.d.ts +0 -67
  66. package/framework/nav/nav-utils.d.ts +0 -19
  67. package/framework/nav/nav.models.d.ts +0 -76
  68. package/framework/nav/nav.module.d.ts +0 -2
  69. package/framework/nav/nav.service.d.ts +0 -21
  70. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -5
  71. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -5
@@ -1,169 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { animate, style, transition, trigger, } from '@angular/animations';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
5
- import { BehaviorSubject, Subject } from 'rxjs';
6
- import { faAngleLeft } from '@fortawesome/free-solid-svg-icons';
7
- import { InputBoolean, InputNumber } from '@theseam/ui-common/core';
8
- import { MenuComponent } from '@theseam/ui-common/menu';
9
- import { notNullOrUndefined } from '@theseam/ui-common/utils';
10
- import { horizontalNavItemHasActiveChild } from '../nav-utils';
11
- export class NavItemComponent {
12
- constructor() {
13
- this._ngUnsubscribe = new Subject();
14
- this.faAngleLeft = faAngleLeft;
15
- this.active = false;
16
- this._link = new BehaviorSubject(undefined);
17
- this.link$ = this._link.asObservable();
18
- this.hierLevel = 0;
19
- this.indentSize = 10;
20
- this._expanded = new BehaviorSubject(false);
21
- this.expanded$ = this._expanded.asObservable();
22
- this._compact = new BehaviorSubject(false);
23
- this.compact$ = this._compact.asObservable();
24
- this.badgeTheme = 'danger';
25
- this.childAction = 'menu';
26
- this.expandAction = 'toggle';
27
- this.navItemExpanded = new EventEmitter();
28
- }
29
- set link(value) { this._link.next(value); }
30
- get link() { return this._link.value; }
31
- set expanded(value) {
32
- this._expanded.next(coerceBooleanProperty(value));
33
- }
34
- get expanded() { return this._expanded.value; }
35
- set compact(value) { this._compact.next(coerceBooleanProperty(value)); }
36
- get compact() { return this._compact.value; }
37
- get badgeTooltip() { return this._badgeTooltip; }
38
- set badgeTooltip(value) {
39
- if (value !== null && value !== undefined) {
40
- if (typeof value === 'string') {
41
- this._badgeTooltip = {
42
- tooltip: value,
43
- placement: 'auto',
44
- disabled: false
45
- };
46
- }
47
- else {
48
- this._badgeTooltip = Object.assign(Object.assign({}, value), { placement: value.placement || 'auto', disabled: typeof (value === null || value === void 0 ? void 0 : value.disabled) === 'boolean'
49
- ? value.disabled
50
- : typeof value.tooltip === 'string' ? false : true });
51
- }
52
- }
53
- else {
54
- this._badgeTooltip = undefined;
55
- }
56
- }
57
- get _isActiveCssClass() { return this.active; }
58
- get _isChildActiveCssClass() { return this.hasActiveChild; }
59
- get _isExpandedCssClass() { return this.expanded; }
60
- get _attrDataHierLevel() { return this.hierLevel; }
61
- ngOnDestroy() {
62
- this._ngUnsubscribe.next();
63
- this._ngUnsubscribe.complete();
64
- }
65
- get hasChildren() {
66
- return Array.isArray(this.children) && this.children.length > 0;
67
- }
68
- get hasActiveChild() {
69
- if (notNullOrUndefined(this.item)) {
70
- return horizontalNavItemHasActiveChild(this.item);
71
- }
72
- return false;
73
- }
74
- get hasMenuToggle() {
75
- return this.hasChildren && this.childAction === 'menu';
76
- }
77
- get menuTpl() {
78
- return this.hasMenuToggle ? this._menu : undefined;
79
- }
80
- get hasExpandingChildren() {
81
- return this.hasChildren && this.childAction === 'expand';
82
- }
83
- _toggleChildren(event) {
84
- let ex = !this.expanded;
85
- if (this.expandAction === 'expandOnly') {
86
- ex = true;
87
- }
88
- this.expanded = ex;
89
- this.navItemExpanded.emit(this.expanded);
90
- // Prevents seam-menu from closing out when toggling child expand
91
- event.stopPropagation();
92
- }
93
- // Updates expanded state when user exits seam-menu
94
- _menuEvent(menuExpanded) {
95
- if (menuExpanded === false) {
96
- this.expanded = false;
97
- // TODO: figure out why closing seam-menu with expanded submenu messes up animation
98
- if (this._navItems && this._navItems.length) {
99
- this._navItems.forEach(navItem => {
100
- navItem.expanded = false;
101
- });
102
- }
103
- }
104
- }
105
- get showIconBlock() {
106
- return notNullOrUndefined(this.icon) || this.hideEmptyIcon !== true;
107
- }
108
- }
109
- NavItemComponent.decorators = [
110
- { type: Component, args: [{
111
- selector: 'seam-nav-item',
112
- template: "<div class=\"d-flex flex-row h-100\">\n <ng-container *ngIf=\"itemType === 'basic'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeBasic\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'link'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeLink\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'divider'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeDivider\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'title'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeTitle\"></ng-template>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"hasExpandingChildren\">\n <div class=\"nav--group nav--group--level-{{ hierLevel + 1 }}\"\n *ngIf=\"expanded$ | async\" @childGroupAnim>\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"nav-item btn nav-btn p-0 d-flex align-items-stretch flex-row text-decoration-none w-100\"\n cdkMonitorElementFocus\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\">\n <div class=\"nav-link d-flex flex-row align-items-center w-100\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n\n <div *ngIf=\"hasChildren && !compact\"\n class=\"btn nav-btn nav-item--toggle-btn-container d-flex align-items-center\">\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <a *ngIf=\"link; else noLink\" class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </a>\n\n <ng-template #noLink>\n <a class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn nav-btn nav-item--toggle-btn-container\"\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"nav-item--title pt-1\" nav-item-label>{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #itemBadge>\n <ng-container *ngIf=\"badgeText\">\n <div class=\"badge-spacer flex-grow-1\" *ngIf=\"!compact\"></div>\n <div class=\"nav-item--badge\"\n [class.nav-item--badge-no-icon]=\"!icon\"\n [ngbTooltip]=\"$any(badgeTooltip)?.tooltip\"\n [tooltipClass]=\"$any(badgeTooltip)?.class\"\n [placement]=\"$any(badgeTooltip)?.placement\"\n [container]=\"$any(badgeTooltip)?.container\"\n [disableTooltip]=\"!badgeTooltip || !!$any(badgeTooltip)?.disabled\">\n <span class=\"badge badge-pill badge-{{ badgeTheme }}\">\n <ng-container *ngIf=\"!compact || !icon\">\n {{ badgeText }}\n </ng-container>\n <span *ngIf=\"badgeSrContent\">{{ badgeSrContent }}</span>\n </span>\n </div>\n </ng-container>\n</ng-template>\n\n<seam-menu #menu *ngIf=\"hasMenuToggle\">\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n</seam-menu>\n\n<ng-template #navChildren>\n <seam-nav-item *ngFor=\"let child of children\"\n [item]=\"child\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [itemType]=\"$any(child).itemType\"\n [icon]=\"$any(child).icon\"\n [label]=\"$any(child).label\"\n [link]=\"$any(child).link\"\n [badgeText]=\"$any(child).badge?.text\"\n [badgeTheme]=\"$any(child).badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(child).badge?.srContent\"\n [badgeTooltip]=\"$any(child)?.badge?.tooltip\"\n [queryParams]=\"$any(child).queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [children]=\"$any(child)?.children\"\n [active]=\"$any(child).__state?.active\"\n [expanded]=\"$any(child).__state?.expanded\"\n childAction=\"expand\"\n [hideEmptyIcon]=\"hideEmptyIcon\">\n </seam-nav-item>\n</ng-template>\n\n",
113
- exportAs: 'seamNavItem',
114
- animations: [
115
- trigger('childGroupAnim', [
116
- transition(':enter', [
117
- style({ height: 0 }),
118
- animate('0.2s ease-in-out', style({ height: '*' }))
119
- ]),
120
- transition(':leave', [
121
- style({ height: '*' }),
122
- animate('0.2s ease-in-out', style({ height: 0 }))
123
- ])
124
- ])
125
- ],
126
- changeDetection: ChangeDetectionStrategy.OnPush,
127
- encapsulation: ViewEncapsulation.None,
128
- styles: ["seam-nav-item{display:block;transition:.25s ease-in-out background-color;text-align:inherit;border-radius:0;overflow:hidden;background:transparent;margin:0}seam-nav-item.seam-nav-item--expanded{background-color:transparent}seam-nav-item.seam-nav-item--expanded .nav-link{color:#000}seam-nav-item.seam-nav-item--child-active{background-color:#dae0e5}seam-nav-item.seam-nav-item--child-active .nav-link{color:#000}seam-nav-item.seam-nav-item--active{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .active,seam-nav-item.seam-nav-item--active:active,seam-nav-item.seam-nav-item--active .nav-item.active:hover{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .nav-item:hover{background-color:#e9ecef}seam-nav-item.seam-nav-item--active .nav-link{color:#000}seam-nav-item .badge{vertical-align:middle}seam-nav-item:not(.nav-item--icon) .nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-nav-item .nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center;margin-right:.5rem}seam-nav-item .nav-item--icon .nav-item--badge{top:-4px;right:-4px;position:absolute}seam-nav-item .nav-item--icon .nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-nav-item .nav-item--icon .nav-item--badge.nav-item--badge-no-icon{top:0px;right:0px}seam-nav-item .nav-item{transition:.25s ease-in-out background-color}seam-nav-item .nav-item:hover{background-color:#e9ecef}seam-nav-item .nav-item.active{pointer-events:none;cursor:default}seam-nav-item a.nav-item:not([href]):not([tabindex]){color:#000}seam-nav-item a.nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-nav-item .nav-link{color:#000}seam-nav-item .nav-btn{font-weight:400;color:#000;text-decoration:none;border-radius:0;border:0 solid #dee2e6}seam-nav-item .nav-btn:hover{color:#000;text-decoration:underline}seam-nav-item .nav-btn:focus,seam-nav-item .nav-btn.focus{text-decoration:underline;box-shadow:none}seam-nav-item .nav-btn:disabled,seam-nav-item .nav-btn.disabled{color:#000;pointer-events:none}seam-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-nav-item .nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:0 .5rem}seam-nav-item button.nav-item--toggle-btn-container:hover{background-color:#e9ecef}seam-nav-item .nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform;transform:none}seam-nav-item .nav-item--toggle-btn.nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-nav-item .nav--group{will-change:height;overflow:hidden}seam-nav-item .nav--group--level-1{background-color:#eff1f4}seam-nav-item .nav--group--level-2{background-color:#e6eaed}seam-nav-item .nav--group--level-3{background-color:#dde2e7}seam-nav-item .nav--group--level-4{background-color:#d4dae1}seam-nav-item .nav--group--level-5{background-color:#cbd3da}seam-nav-item .nav--group--level-6{background-color:#c2cbd4}seam-nav-item .nav--group--level-7{background-color:#bac3cd}seam-nav-item .nav--group--level-8{background-color:#b1bcc7}seam-nav-item .nav--group--level-9{background-color:#a8b4c1}seam-nav-item .nav-item--divider{display:block;border-top:1px solid #dae0e5;width:100%}seam-nav-item .nav-item--title{color:#000;font-size:24px;padding-left:10px}seam-nav-item .sr-only{top:0;left:0}\n"]
129
- },] }
130
- ];
131
- NavItemComponent.ctorParameters = () => [];
132
- NavItemComponent.propDecorators = {
133
- item: [{ type: Input }],
134
- itemType: [{ type: Input }],
135
- icon: [{ type: Input }],
136
- hideEmptyIcon: [{ type: Input }],
137
- label: [{ type: Input }],
138
- active: [{ type: Input }],
139
- link: [{ type: Input }],
140
- queryParams: [{ type: Input }],
141
- children: [{ type: Input }],
142
- hierLevel: [{ type: Input }],
143
- indentSize: [{ type: Input }],
144
- expanded: [{ type: Input }],
145
- compact: [{ type: Input }],
146
- badgeText: [{ type: Input }],
147
- badgeTheme: [{ type: Input }],
148
- badgeSrContent: [{ type: Input }],
149
- badgeTooltip: [{ type: Input }],
150
- childAction: [{ type: Input }],
151
- expandAction: [{ type: Input }],
152
- navItemExpanded: [{ type: Output }],
153
- _isActiveCssClass: [{ type: HostBinding, args: ['class.seam-nav-item--active',] }],
154
- _isChildActiveCssClass: [{ type: HostBinding, args: ['class.seam-nav-item--child-active',] }],
155
- _isExpandedCssClass: [{ type: HostBinding, args: ['class.seam-nav-item--expanded',] }],
156
- _attrDataHierLevel: [{ type: HostBinding, args: ['attr.data-hier-level',] }],
157
- _menu: [{ type: ViewChild, args: [MenuComponent,] }],
158
- _navItems: [{ type: ViewChildren, args: [NavItemComponent,] }]
159
- };
160
- __decorate([
161
- InputBoolean()
162
- ], NavItemComponent.prototype, "active", void 0);
163
- __decorate([
164
- InputNumber(0)
165
- ], NavItemComponent.prototype, "hierLevel", void 0);
166
- __decorate([
167
- InputNumber(10)
168
- ], NavItemComponent.prototype, "indentSize", void 0);
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUE7QUFDNUIsT0FBTyxFQUFnQixxQkFBcUIsRUFBZSxNQUFNLHVCQUF1QixDQUFBO0FBQ3hGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUluRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBdUI5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBc0czQjtRQS9GaUIsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBRXRDLGdCQUFXLEdBQUcsV0FBVyxDQUFBO1FBWVQsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUsvQixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQTRCLFNBQVMsQ0FBQyxDQUFBO1FBQ2xFLFVBQUssR0FBRyxJQUFJLENBQUMsS0FB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QUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7bUJBWUUsS0FBSzt1QkFFTCxLQUFLO21CQUVMLEtBQUs7NEJBRUwsS0FBSztvQkFFTCxLQUFLO3FCQUVMLEtBQUs7bUJBRUwsS0FBSzswQkFNTCxLQUFLO3VCQUVMLEtBQUs7d0JBRUwsS0FBSzt5QkFFTCxLQUFLO3VCQUVMLEtBQUs7c0JBUUwsS0FBSzt3QkFNTCxLQUFLO3lCQUNMLEtBQUs7NkJBS0wsS0FBSzsyQkFFTCxLQUFLOzBCQXlCTCxLQUFLOzJCQUVMLEtBQUs7OEJBRUwsTUFBTTtnQ0FFTixXQUFXLFNBQUMsNkJBQTZCO3FDQUV6QyxXQUFXLFNBQUMsbUNBQW1DO2tDQUUvQyxXQUFXLFNBQUMsK0JBQStCO2lDQUUzQyxXQUFXLFNBQUMsc0JBQXNCO29CQUVsQyxTQUFTLFNBQUMsYUFBYTt3QkFFdkIsWUFBWSxTQUFDLGdCQUFnQjs7QUEvRUw7SUFBZixZQUFZLEVBQUU7Z0RBQXdCO0FBWXZCO0lBQWYsV0FBVyxDQUFDLENBQUMsQ0FBQzttREFBc0I7QUFFcEI7SUFBaEIsV0FBVyxDQUFDLEVBQUUsQ0FBQztvREFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlTGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZVR5cGVzIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9tZW51J1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuaW1wb3J0IHsgaG9yaXpvbnRhbE5hdkl0ZW1IYXNBY3RpdmVDaGlsZCB9IGZyb20gJy4uL25hdi11dGlscydcbmltcG9ydCB7IElOYXZJdGVtLCBOYXZJdGVtQmFkZ2VUb29sdGlwLCBOYXZJdGVtQ2hpbGRBY3Rpb24sIE5hdkl0ZW1FeHBhbmRBY3Rpb24gfSBmcm9tICcuLi9uYXYubW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLW5hdi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzZWFtTmF2SXRlbScsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdjaGlsZEdyb3VwQW5pbScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IGhlaWdodDogMCB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oaWVyTGV2ZWw6IE51bWJlcklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9pbmRlbnRTaXplOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZXhwYW5kZWQ6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY29tcGFjdDogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hY3RpdmU6IEJvb2xlYW5JbnB1dFxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpXG5cbiAgcmVhZG9ubHkgZmFBbmdsZUxlZnQgPSBmYUFuZ2xlTGVmdFxuXG4gIEBJbnB1dCgpIGl0ZW06IElOYXZJdGVtIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGl0ZW1UeXBlOiAnZGl2aWRlcicgfCAnYmFzaWMnIHwgJ2xpbmsnIHwgJ2J1dHRvbicgfCAndGl0bGUnIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGljb246IFNlYW1JY29uIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGhpZGVFbXB0eUljb246IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgYWN0aXZlOiBib29sZWFuID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBzZXQgbGluayh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkgeyB0aGlzLl9saW5rLm5leHQodmFsdWUpIH1cbiAgZ2V0IGxpbmsoKSB7IHJldHVybiB0aGlzLl9saW5rLnZhbHVlIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfbGluayA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4odW5kZWZpbmVkKVxuICBwdWJsaWMgcmVhZG9ubHkgbGluayQgPSB0aGlzLl9saW5rLmFzT2JzZXJ2YWJsZSgpXG5cbiAgQElucHV0KCkgcXVlcnlQYXJhbXM6IHsgW2s6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGNoaWxkcmVuOiBJTmF2SXRlbVtdIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigwKSBoaWVyTGV2ZWw6IG51bWJlciA9IDBcblxuICBASW5wdXQoKSBASW5wdXROdW1iZXIoMTApIGluZGVudFNpemU6IG51bWJlciA9IDEwXG5cbiAgQElucHV0KClcbiAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKVxuICB9XG4gIGdldCBleHBhbmRlZCgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLnZhbHVlIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfZXhwYW5kZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kZWQkID0gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKClcblxuICBASW5wdXQoKVxuICBzZXQgY29tcGFjdCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9jb21wYWN0Lm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSkgfVxuICBnZXQgY29tcGFjdCgpIHsgcmV0dXJuIHRoaXMuX2NvbXBhY3QudmFsdWUgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wYWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IGNvbXBhY3QkID0gdGhpcy5fY29tcGFjdC5hc09ic2VydmFibGUoKVxuXG4gIEBJbnB1dCgpIGJhZGdlVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuICBASW5wdXQoKSBiYWRnZVRoZW1lOiBUaGVtZVR5cGVzIHwgdW5kZWZpbmVkIHwgbnVsbCA9ICdkYW5nZXInXG5cbiAgLyoqXG4gICAqIENvbnRlbnQgdG8gcHJvdmlkZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSwgc3VjaCBhcyBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIEBJbnB1dCgpIGJhZGdlU3JDb250ZW50OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KClcbiAgZ2V0IGJhZGdlVG9vbHRpcCgpIHsgcmV0dXJuIHRoaXMuX2JhZGdlVG9vbHRpcCB9XG4gIHNldCBiYWRnZVRvb2x0aXAodmFsdWU6IHN0cmluZyB8IE5hdkl0ZW1CYWRnZVRvb2x0aXAgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX2JhZGdlVG9vbHRpcCA9IHtcbiAgICAgICAgICB0b29sdGlwOiB2YWx1ZSxcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdhdXRvJyxcbiAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fYmFkZ2VUb29sdGlwID0ge1xuICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgIHBsYWNlbWVudDogdmFsdWUucGxhY2VtZW50IHx8ICdhdXRvJyxcbiAgICAgICAgICBkaXNhYmxlZDogdHlwZW9mIHZhbHVlPy5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICA/IHZhbHVlLmRpc2FibGVkXG4gICAgICAgICAgICA6IHR5cGVvZiB2YWx1ZS50b29sdGlwID09PSAnc3RyaW5nJyA/IGZhbHNlIDogdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2JhZGdlVG9vbHRpcCA9IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuICBwcml2YXRlIF9iYWRnZVRvb2x0aXA6IE5hdkl0ZW1CYWRnZVRvb2x0aXAgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgY2hpbGRBY3Rpb246IE5hdkl0ZW1DaGlsZEFjdGlvbiA9ICdtZW51J1xuXG4gIEBJbnB1dCgpIGV4cGFuZEFjdGlvbjogTmF2SXRlbUV4cGFuZEFjdGlvbiA9ICd0b2dnbGUnXG5cbiAgQE91dHB1dCgpIG5hdkl0ZW1FeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VhbS1uYXYtaXRlbS0tYWN0aXZlJykgZ2V0IF9pc0FjdGl2ZUNzc0NsYXNzKCkgeyByZXR1cm4gdGhpcy5hY3RpdmUgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VhbS1uYXYtaXRlbS0tY2hpbGQtYWN0aXZlJykgZ2V0IF9pc0NoaWxkQWN0aXZlQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLmhhc0FjdGl2ZUNoaWxkIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlYW0tbmF2LWl0ZW0tLWV4cGFuZGVkJykgZ2V0IF9pc0V4cGFuZGVkQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLmV4cGFuZGVkIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1oaWVyLWxldmVsJykgZ2V0IF9hdHRyRGF0YUhpZXJMZXZlbCgpIHsgcmV0dXJuIHRoaXMuaGllckxldmVsIH1cblxuICBAVmlld0NoaWxkKE1lbnVDb21wb25lbnQpIF9tZW51PzogTWVudUNvbXBvbmVudFxuXG4gIEBWaWV3Q2hpbGRyZW4oTmF2SXRlbUNvbXBvbmVudCkgX25hdkl0ZW1zPzogTmF2SXRlbUNvbXBvbmVudFtdXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgZ2V0IGhhc0NoaWxkcmVuKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuY2hpbGRyZW4pICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMFxuICB9XG5cbiAgZ2V0IGhhc0FjdGl2ZUNoaWxkKCkge1xuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQodGhpcy5pdGVtKSkge1xuICAgICAgcmV0dXJuIGhvcml6b250YWxOYXZJdGVtSGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtKVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldCBoYXNNZW51VG9nZ2xlKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMuY2hpbGRBY3Rpb24gPT09ICdtZW51J1xuICB9XG5cbiAgZ2V0IG1lbnVUcGwoKTogTWVudUNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaGFzTWVudVRvZ2dsZSA/IHRoaXMuX21lbnUgOiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldCBoYXNFeHBhbmRpbmdDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiAmJiB0aGlzLmNoaWxkQWN0aW9uID09PSAnZXhwYW5kJ1xuICB9XG5cbiAgcHVibGljIF90b2dnbGVDaGlsZHJlbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBsZXQgZXggPSAhdGhpcy5leHBhbmRlZFxuICAgIGlmICh0aGlzLmV4cGFuZEFjdGlvbiA9PT0gJ2V4cGFuZE9ubHknKSB7XG4gICAgICBleCA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkID0gZXhcbiAgICB0aGlzLm5hdkl0ZW1FeHBhbmRlZC5lbWl0KHRoaXMuZXhwYW5kZWQpXG5cbiAgICAvLyBQcmV2ZW50cyBzZWFtLW1lbnUgZnJvbSBjbG9zaW5nIG91dCB3aGVuIHRvZ2dsaW5nIGNoaWxkIGV4cGFuZFxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gIH1cblxuICAvLyBVcGRhdGVzIGV4cGFuZGVkIHN0YXRlIHdoZW4gdXNlciBleGl0cyBzZWFtLW1lbnVcbiAgX21lbnVFdmVudChtZW51RXhwYW5kZWQ6IGFueSkge1xuICAgIGlmIChtZW51RXhwYW5kZWQgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2VcblxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCB3aHkgY2xvc2luZyBzZWFtLW1lbnUgd2l0aCBleHBhbmRlZCBzdWJtZW51IG1lc3NlcyB1cCBhbmltYXRpb25cbiAgICAgIGlmICh0aGlzLl9uYXZJdGVtcyAmJiB0aGlzLl9uYXZJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fbmF2SXRlbXMuZm9yRWFjaChuYXZJdGVtID0+IHtcbiAgICAgICAgICBuYXZJdGVtLmV4cGFuZGVkID0gZmFsc2VcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0ljb25CbG9jaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm90TnVsbE9yVW5kZWZpbmVkKHRoaXMuaWNvbikgfHwgdGhpcy5oaWRlRW1wdHlJY29uICE9PSB0cnVlXG4gIH1cblxuXG59XG4iXX0=
@@ -1,105 +0,0 @@
1
- import { hasProperty, isNullOrUndefined } from '@theseam/ui-common/utils';
2
- export function isHorizontalNavItemType(item, type) {
3
- return item.itemType === type;
4
- }
5
- export function isHorizontalNavItemActive(item) {
6
- var _a, _b;
7
- return (_b = (_a = item.__state) === null || _a === void 0 ? void 0 : _a.active) !== null && _b !== void 0 ? _b : false;
8
- }
9
- export function isHorizontalNavItemExpanded(item) {
10
- var _a, _b;
11
- return (_b = (_a = item.__state) === null || _a === void 0 ? void 0 : _a.expanded) !== null && _b !== void 0 ? _b : false;
12
- }
13
- export function horizontalNavItemHasChildren(item) {
14
- return horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0;
15
- }
16
- export function horizontalNavItemCanHaveChildren(item) {
17
- return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
18
- }
19
- export function horizontalNavItemHasActiveChild(item) {
20
- if (!horizontalNavItemHasChildren(item)) {
21
- return false;
22
- }
23
- for (const child of item.children) {
24
- if (getHorizontalNavItemStateProp(child, 'active') || horizontalNavItemHasActiveChild(child)) {
25
- return true;
26
- }
27
- }
28
- return false;
29
- }
30
- export function horizontalNavItemHasExpandedChild(item) {
31
- if (!horizontalNavItemHasChildren(item)) {
32
- return false;
33
- }
34
- for (const child of item.children) {
35
- if (getHorizontalNavItemStateProp(child, 'expanded')) {
36
- return true;
37
- }
38
- }
39
- return false;
40
- }
41
- export function horizontalNavItemCanBeActive(item) {
42
- return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
43
- }
44
- export function horizontalNavItemCanExpand(item) {
45
- return horizontalNavItemCanHaveChildren(item);
46
- }
47
- export function findHorizontalNavLinkItems(items) {
48
- const linkItems = [];
49
- const _fn = (_items) => {
50
- for (const item of _items) {
51
- if (isHorizontalNavItemType(item, 'link')) {
52
- linkItems.push(item);
53
- }
54
- if (horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children')) {
55
- _fn(item.children);
56
- }
57
- }
58
- };
59
- _fn(items);
60
- return linkItems;
61
- }
62
- export function setHorizontalNavItemStateProp(item, prop, value) {
63
- if (hasProperty(item, '__state')) {
64
- item.__state[prop] = value;
65
- }
66
- }
67
- export function getHorizontalNavItemStateProp(item, prop) {
68
- return setDefaultHorizontalNavItemState(item).__state[prop];
69
- }
70
- export function setDefaultHorizontalNavItemState(item) {
71
- if (hasProperty(item, '__state')) {
72
- return item;
73
- }
74
- item.__state = {
75
- active: false,
76
- expanded: false
77
- };
78
- // TODO: See if there is a nice way to fix the typing for this.
79
- return item;
80
- }
81
- export function areSameHorizontalNavItem(item1, item2) {
82
- if (isNullOrUndefined(item1) || isNullOrUndefined(item2)) {
83
- return false;
84
- }
85
- if (item1.itemType !== item2.itemType) {
86
- return false;
87
- }
88
- if (isHorizontalNavItemType(item1, 'title') && isHorizontalNavItemType(item2, 'title')) {
89
- return item1.label === item2.label;
90
- }
91
- else if (isHorizontalNavItemType(item1, 'divider') && isHorizontalNavItemType(item2, 'divider')) {
92
- return item1.label === item2.label;
93
- }
94
- else if (isHorizontalNavItemType(item1, 'basic') && isHorizontalNavItemType(item2, 'basic')) {
95
- return item1.label === item2.label;
96
- }
97
- else if (isHorizontalNavItemType(item1, 'link') && isHorizontalNavItemType(item2, 'link')) {
98
- return item1.label === item2.label && item1.link === item2.link;
99
- }
100
- else if (isHorizontalNavItemType(item1, 'button') && isHorizontalNavItemType(item2, 'button')) {
101
- return item1.onClick === item2.onClick;
102
- }
103
- return false;
104
- }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9uYXYvbmF2LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQW1CekUsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQWMsRUFBRSxJQUFZO0lBQ2xFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUE7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFjOztJQUN0RCxPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLG1DQUFJLEtBQUssQ0FBQTtBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLElBQWM7O0lBQ3hELE9BQU8sTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFFBQVEsbUNBQUksS0FBSyxDQUFBO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFBYztJQUN6RCxPQUFPLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0FBQzVHLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsSUFBYztJQUM3RCxPQUFPLHVCQUF1QixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxJQUFjO0lBQzVELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2pDLElBQUksNkJBQTZCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVGLE9BQU8sSUFBSSxDQUFBO1NBQ1o7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxJQUFjO0lBQzlELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2pDLElBQUksNkJBQTZCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFBO1NBQ1o7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxJQUFjO0lBQ3pELE9BQU8sdUJBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQWM7SUFDdkQsT0FBTyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQWlCO0lBQzFELE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQTtJQUVoQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQWtCLEVBQUUsRUFBRTtRQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUN6QixJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDekMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUNyQjtZQUNELElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDM0UsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUNuQjtTQUNGO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRVYsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FBZ0MsSUFBYyxFQUFFLElBQU8sRUFBRSxLQUF1QjtJQUMzSCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUE7S0FDM0I7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUFnQyxJQUFjLEVBQUUsSUFBTztJQUNsRyxPQUFPLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLElBQWM7SUFDN0QsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sSUFBSSxDQUFBO0tBQ1o7SUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHO1FBQ2IsTUFBTSxFQUFFLEtBQUs7UUFDYixRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFBO0lBRUQsK0RBQStEO0lBQy9ELE9BQU8sSUFBVyxDQUFBO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBMkIsRUFBRSxLQUEyQjtJQUMvRixJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hELE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNyQyxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ3RGLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFBO0tBQ25DO1NBQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ2pHLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFBO0tBQ25DO1NBQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQzdGLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFBO0tBQ25DO1NBQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQzNGLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQTtLQUNoRTtTQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtRQUMvRixPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQTtLQUN2QztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc1Byb3BlcnR5LCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHtcbiAgSU5hdkJhc2ljLFxuICBJTmF2QnV0dG9uLFxuICBJTmF2RGl2aWRlcixcbiAgSU5hdkl0ZW0sXG4gIElOYXZJdGVtU3RhdGUsXG4gIElOYXZMaW5rLFxuICBJTmF2VGl0bGUsXG4gIE5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4sXG4gIE5hdkl0ZW1DYW5IYXZlU3RhdGVcbn0gZnJvbSAnLi9uYXYubW9kZWxzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTogSU5hdkl0ZW0sIHR5cGU6ICd0aXRsZScpOiBpdGVtIGlzIElOYXZUaXRsZVxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiAnZGl2aWRlcicpOiBpdGVtIGlzIElOYXZEaXZpZGVyXG5leHBvcnQgZnVuY3Rpb24gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTogSU5hdkl0ZW0sIHR5cGU6ICdiYXNpYycpOiBpdGVtIGlzIElOYXZCYXNpY1xuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiAnbGluaycpOiBpdGVtIGlzIElOYXZMaW5rXG5leHBvcnQgZnVuY3Rpb24gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTogSU5hdkl0ZW0sIHR5cGU6ICdidXR0b24nKTogaXRlbSBpcyBJTmF2QnV0dG9uXG5leHBvcnQgZnVuY3Rpb24gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTogSU5hdkl0ZW0sIHR5cGU6IHN0cmluZyk6IGl0ZW0gaXMgSU5hdkl0ZW0ge1xuICByZXR1cm4gaXRlbS5pdGVtVHlwZSA9PT0gdHlwZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIb3Jpem9udGFsTmF2SXRlbUFjdGl2ZShpdGVtOiBJTmF2SXRlbSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXRlbS5fX3N0YXRlPy5hY3RpdmUgPz8gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1FeHBhbmRlZChpdGVtOiBJTmF2SXRlbSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXRlbS5fX3N0YXRlPy5leHBhbmRlZCA/PyBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbE5hdkl0ZW1IYXNDaGlsZHJlbihpdGVtOiBJTmF2SXRlbSk6IGl0ZW0gaXMgKElOYXZCYXNpYyB8IElOYXZMaW5rKSAmIFJlcXVpcmVkPE5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4+IHtcbiAgcmV0dXJuIGhvcml6b250YWxOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuKGl0ZW0pICYmIGhhc1Byb3BlcnR5KGl0ZW0sICdjaGlsZHJlbicpICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbE5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4oaXRlbTogSU5hdkl0ZW0pOiBpdGVtIGlzIChJTmF2QmFzaWMgfCBJTmF2TGluaykge1xuICByZXR1cm4gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbSwgJ2Jhc2ljJykgfHwgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbE5hdkl0ZW1IYXNBY3RpdmVDaGlsZChpdGVtOiBJTmF2SXRlbSk6IGJvb2xlYW4ge1xuICBpZiAoIWhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgIGlmIChnZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcChjaGlsZCwgJ2FjdGl2ZScpIHx8IGhvcml6b250YWxOYXZJdGVtSGFzQWN0aXZlQ2hpbGQoY2hpbGQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbE5hdkl0ZW1IYXNFeHBhbmRlZENoaWxkKGl0ZW06IElOYXZJdGVtKTogYm9vbGVhbiB7XG4gIGlmICghaG9yaXpvbnRhbE5hdkl0ZW1IYXNDaGlsZHJlbihpdGVtKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgaWYgKGdldEhvcml6b250YWxOYXZJdGVtU3RhdGVQcm9wKGNoaWxkLCAnZXhwYW5kZWQnKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtQ2FuQmVBY3RpdmUoaXRlbTogSU5hdkl0ZW0pOiBpdGVtIGlzIChJTmF2QmFzaWMgfCBJTmF2TGluaykge1xuICByZXR1cm4gaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbSwgJ2Jhc2ljJykgfHwgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbE5hdkl0ZW1DYW5FeHBhbmQoaXRlbTogSU5hdkl0ZW0pOiBpdGVtIGlzIChJTmF2QmFzaWMgfCBJTmF2TGluaykge1xuICByZXR1cm4gaG9yaXpvbnRhbE5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4oaXRlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRIb3Jpem9udGFsTmF2TGlua0l0ZW1zKGl0ZW1zOiBJTmF2SXRlbVtdKTogSU5hdkxpbmtbXSB7XG4gIGNvbnN0IGxpbmtJdGVtczogSU5hdkxpbmtbXSA9IFtdXG5cbiAgY29uc3QgX2ZuID0gKF9pdGVtczogSU5hdkl0ZW1bXSkgPT4ge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBfaXRlbXMpIHtcbiAgICAgIGlmIChpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtLCAnbGluaycpKSB7XG4gICAgICAgIGxpbmtJdGVtcy5wdXNoKGl0ZW0pXG4gICAgICB9XG4gICAgICBpZiAoaG9yaXpvbnRhbE5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4oaXRlbSkgJiYgaGFzUHJvcGVydHkoaXRlbSwgJ2NoaWxkcmVuJykpIHtcbiAgICAgICAgX2ZuKGl0ZW0uY2hpbGRyZW4pXG4gICAgICB9XG4gICAgfVxuICB9XG4gIF9mbihpdGVtcylcblxuICByZXR1cm4gbGlua0l0ZW1zXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcDxLIGV4dGVuZHMga2V5b2YgSU5hdkl0ZW1TdGF0ZT4oaXRlbTogSU5hdkl0ZW0sIHByb3A6IEssIHZhbHVlOiBJTmF2SXRlbVN0YXRlW0tdKTogdm9pZCB7XG4gIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAnX19zdGF0ZScpKSB7XG4gICAgaXRlbS5fX3N0YXRlW3Byb3BdID0gdmFsdWVcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZVByb3A8SyBleHRlbmRzIGtleW9mIElOYXZJdGVtU3RhdGU+KGl0ZW06IElOYXZJdGVtLCBwcm9wOiBLKTogSU5hdkl0ZW1TdGF0ZVtLXSB7XG4gIHJldHVybiBzZXREZWZhdWx0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZShpdGVtKS5fX3N0YXRlW3Byb3BdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZShpdGVtOiBJTmF2SXRlbSk6IElOYXZJdGVtICYgUmVxdWlyZWQ8TmF2SXRlbUNhbkhhdmVTdGF0ZT4ge1xuICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ19fc3RhdGUnKSkge1xuICAgIHJldHVybiBpdGVtXG4gIH1cblxuICBpdGVtLl9fc3RhdGUgPSB7XG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBleHBhbmRlZDogZmFsc2VcbiAgfVxuXG4gIC8vIFRPRE86IFNlZSBpZiB0aGVyZSBpcyBhIG5pY2Ugd2F5IHRvIGZpeCB0aGUgdHlwaW5nIGZvciB0aGlzLlxuICByZXR1cm4gaXRlbSBhcyBhbnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVNhbWVIb3Jpem9udGFsTmF2SXRlbShpdGVtMTogSU5hdkl0ZW0gfCB1bmRlZmluZWQsIGl0ZW0yOiBJTmF2SXRlbSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoaXRlbTEpIHx8IGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW0yKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGl0ZW0xLml0ZW1UeXBlICE9PSBpdGVtMi5pdGVtVHlwZSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0xLCAndGl0bGUnKSAmJiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMiwgJ3RpdGxlJykpIHtcbiAgICByZXR1cm4gaXRlbTEubGFiZWwgPT09IGl0ZW0yLmxhYmVsXG4gIH0gZWxzZSBpZiAoaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTEsICdkaXZpZGVyJykgJiYgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTIsICdkaXZpZGVyJykpIHtcbiAgICByZXR1cm4gaXRlbTEubGFiZWwgPT09IGl0ZW0yLmxhYmVsXG4gIH0gZWxzZSBpZiAoaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTEsICdiYXNpYycpICYmIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0yLCAnYmFzaWMnKSkge1xuICAgIHJldHVybiBpdGVtMS5sYWJlbCA9PT0gaXRlbTIubGFiZWxcbiAgfSBlbHNlIGlmIChpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMSwgJ2xpbmsnKSAmJiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMiwgJ2xpbmsnKSkge1xuICAgIHJldHVybiBpdGVtMS5sYWJlbCA9PT0gaXRlbTIubGFiZWwgJiYgaXRlbTEubGluayA9PT0gaXRlbTIubGlua1xuICB9IGVsc2UgaWYgKGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0xLCAnYnV0dG9uJykgJiYgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTIsICdidXR0b24nKSkge1xuICAgIHJldHVybiBpdGVtMS5vbkNsaWNrID09PSBpdGVtMi5vbkNsaWNrXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvbmF2L25hdi5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzQWN0aXZlTWF0Y2hPcHRpb25zLCBVcmxDcmVhdGlvbk9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZVR5cGVzIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuZXhwb3J0IGludGVyZmFjZSBJTmF2SXRlbVN0YXRlIHtcbiAgLy8gcGFyZW50PzogSU5hdkl0ZW1cbiAgYWN0aXZlOiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbUNhbkhhdmVTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3AgaXMgbWFuYWdlZCBieSB0aGUgTmF2LiBJZiBtYW51YWxseSBzZXQgaXQgd2lsbCBiZSBvdmVyd3JpdHRlbi5cbiAgICpcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgIF9fc3RhdGU/OiBJTmF2SXRlbVN0YXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbUNhbkhhdmVDaGlsZHJlbiB7XG4gIGNoaWxkcmVuPzogSU5hdkl0ZW1bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOYXZJdGVtQmFzZTxUIGV4dGVuZHMgc3RyaW5nPiBleHRlbmRzIE5hdkl0ZW1DYW5IYXZlU3RhdGUge1xuICAvKipcbiAgICogZGVmYXVsdDogJ3JvdXRlJ1xuICAgKi9cbiAgaXRlbVR5cGU/OiBUXG5cbiAgYmFkZ2U/OiBJTmF2QmFkZ2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmF2VGl0bGUgZXh0ZW5kcyBJTmF2SXRlbUJhc2U8J3RpdGxlJz4ge1xuICBsYWJlbD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOYXZEaXZpZGVyIGV4dGVuZHMgSU5hdkl0ZW1CYXNlPCdkaXZpZGVyJz4ge1xuICBsYWJlbD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOYXZCYWRnZSB7XG5cbiAgdGV4dD86IHN0cmluZ1xuXG4gIHRoZW1lPzogVGhlbWVUeXBlc1xuXG4gIC8qKlxuICAgKiBDb250ZW50IHRvIHByb3ZpZGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ3ksIHN1Y2ggYXMgc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICBzckNvbnRlbnQ/OiBzdHJpbmdcblxuICB0b29sdGlwPzogc3RyaW5nIHwgTmF2SXRlbUJhZGdlVG9vbHRpcFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOYXZCYXNpYyBleHRlbmRzIElOYXZJdGVtQmFzZTwnYmFzaWMnPiwgTmF2SXRlbUNhbkhhdmVDaGlsZHJlbiB7XG4gIGljb24/OiBTZWFtSWNvblxuICBsYWJlbDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkxpbmsgZXh0ZW5kcyBJTmF2SXRlbUJhc2U8J2xpbmsnPixcbiAgUGFydGlhbDxQaWNrPFVybENyZWF0aW9uT3B0aW9ucywgJ3F1ZXJ5UGFyYW1zJyB8ICdmcmFnbWVudCcgfCAncXVlcnlQYXJhbXNIYW5kbGluZycgfCAncHJlc2VydmVGcmFnbWVudCc+PixcbiAgTmF2SXRlbUNhbkhhdmVDaGlsZHJlbiB7XG4gIGljb24/OiBTZWFtSWNvblxuICBsYWJlbDogc3RyaW5nXG5cbiAgbGluaz86IGFueVtdIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIERlZmF1bHQ6IHsgcGF0aHM6ICdzdWJzZXQnLCBxdWVyeVBhcmFtczogJ3N1YnNldCcsIGZyYWdtZW50OiAnaWdub3JlZCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnIH1cbiAgICovXG4gIG1hdGNoT3B0aW9ucz86IFBhcnRpYWw8SXNBY3RpdmVNYXRjaE9wdGlvbnM+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkJ1dHRvbiBleHRlbmRzIElOYXZJdGVtQmFzZTwnYnV0dG9uJz4ge1xuICBvbkNsaWNrOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgSU5hdkl0ZW0gPSBJTmF2VGl0bGUgfCBJTmF2RGl2aWRlciB8IElOYXZCYXNpYyB8IElOYXZMaW5rIHwgSU5hdkJ1dHRvblxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdkl0ZW1TdGF0ZUNoYW5nZWQge1xuICBpdGVtOiBJTmF2SXRlbVxuICBwcm9wOiBzdHJpbmdcbiAgcHJldlZhbHVlOiBhbnlcbiAgbmV3VmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdkl0ZW1CYWRnZVRvb2x0aXAge1xuICB0b29sdGlwPzogc3RyaW5nXG4gIGNsYXNzPzogc3RyaW5nXG4gIHBsYWNlbWVudD86IHN0cmluZ1xuICBjb250YWluZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIE5hdkl0ZW1DaGlsZEFjdGlvbiA9ICdtZW51JyB8ICdleHBhbmQnIHwgJ25vbmUnIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG5leHBvcnQgdHlwZSBOYXZJdGVtRXhwYW5kQWN0aW9uID0gJ3RvZ2dsZScgfCAnZXhwYW5kT25seScgfCBudWxsIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbUV4cGFuZGVkRXZlbnQge1xuICBuYXZJdGVtOiBJTmF2SXRlbSxcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { A11yModule } from '@angular/cdk/a11y';
2
- import { PortalModule } from '@angular/cdk/portal';
3
- import { CommonModule } from '@angular/common';
4
- import { NgModule } from '@angular/core';
5
- import { RouterModule } from '@angular/router';
6
- import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
7
- import { TheSeamIconModule } from '@theseam/ui-common/icon';
8
- import { TheSeamLayoutModule } from '@theseam/ui-common/layout';
9
- import { TheSeamMenuModule } from '@theseam/ui-common/menu';
10
- import { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar';
11
- import { HorizontalNavComponent } from './horizontal-nav/horizontal-nav.component';
12
- import { NavItemComponent } from './nav-item/nav-item.component';
13
- import { TheSeamNavService } from './nav.service';
14
- export class TheSeamNavModule {
15
- }
16
- TheSeamNavModule.decorators = [
17
- { type: NgModule, args: [{
18
- declarations: [
19
- NavItemComponent,
20
- HorizontalNavComponent,
21
- ],
22
- imports: [
23
- CommonModule,
24
- RouterModule,
25
- TheSeamIconModule,
26
- A11yModule,
27
- TheSeamScrollbarModule,
28
- TheSeamLayoutModule,
29
- NgbTooltipModule,
30
- PortalModule,
31
- TheSeamMenuModule
32
- ],
33
- exports: [
34
- NavItemComponent,
35
- HorizontalNavComponent,
36
- ],
37
- providers: [
38
- TheSeamNavService,
39
- ]
40
- },] }
41
- ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvbmF2L25hdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMEJqRCxNQUFNLE9BQU8sZ0JBQWdCOzs7WUF4QjVCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO29CQUNoQixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixVQUFVO29CQUNWLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osaUJBQWlCO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCO29CQUNoQixzQkFBc0I7aUJBQ3ZCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7aUJBQ2xCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnXG5cbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2xheW91dCdcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcbmltcG9ydCB7IEhvcml6b250YWxOYXZDb21wb25lbnQgfSBmcm9tICcuL2hvcml6b250YWwtbmF2L2hvcml6b250YWwtbmF2LmNvbXBvbmVudCdcblxuaW1wb3J0IHsgTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgVGhlU2VhbU5hdlNlcnZpY2UgfSBmcm9tICcuL25hdi5zZXJ2aWNlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOYXZJdGVtQ29tcG9uZW50LFxuICAgIEhvcml6b250YWxOYXZDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgVGhlU2VhbVNjcm9sbGJhck1vZHVsZSxcbiAgICBUaGVTZWFtTGF5b3V0TW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFRoZVNlYW1NZW51TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOYXZJdGVtQ29tcG9uZW50LFxuICAgIEhvcml6b250YWxOYXZDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFRoZVNlYW1OYXZTZXJ2aWNlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1OYXZNb2R1bGUgeyB9XG4iXX0=
@@ -1,175 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { BehaviorSubject, defer, Observable, Subject } from 'rxjs';
4
- import { distinctUntilChanged, filter, map, shareReplay, startWith, switchMap } from 'rxjs/operators';
5
- import { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils';
6
- import { horizontalNavItemCanExpand, getHorizontalNavItemStateProp, horizontalNavItemHasActiveChild, horizontalNavItemHasChildren, horizontalNavItemHasExpandedChild, isHorizontalNavItemType, setDefaultHorizontalNavItemState, setHorizontalNavItemStateProp } from './nav-utils';
7
- export class TheSeamNavService {
8
- constructor(_router) {
9
- this._router = _router;
10
- this._updatingCount = new BehaviorSubject(0);
11
- this.itemChanged = new Subject();
12
- this.loading$ = this._updatingCount.pipe(map(count => count > 0), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
13
- }
14
- createItemsObservable(items) {
15
- return defer(() => {
16
- this.updateItemsStates(items);
17
- return new Observable((subscriber) => {
18
- const stateChangeSub = this.itemChanged.pipe(switchMap(change => {
19
- return this.loading$.pipe(filter(loading => !loading));
20
- })).subscribe(() => {
21
- subscriber.next(items);
22
- });
23
- try {
24
- this.updateItemsStates(items);
25
- }
26
- catch (err) {
27
- subscriber.error(err);
28
- }
29
- const routeChangeSub = this._router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
30
- try {
31
- this.updateItemsStates(items);
32
- }
33
- catch (err) {
34
- subscriber.error(err);
35
- }
36
- });
37
- return () => {
38
- stateChangeSub.unsubscribe();
39
- routeChangeSub.unsubscribe();
40
- };
41
- }).pipe(startWith(items));
42
- });
43
- }
44
- _incUpdatingCount() {
45
- this._updatingCount.next(this._updatingCount.value + 1);
46
- }
47
- _decrUpdatingCount() {
48
- this._updatingCount.next(this._updatingCount.value - 1);
49
- }
50
- updateItemsStates(items) {
51
- this._incUpdatingCount();
52
- try {
53
- for (const item of items) {
54
- if (horizontalNavItemHasChildren(item)) {
55
- this.updateItemsStates(item.children);
56
- }
57
- this.updateItemState(item);
58
- }
59
- this._decrUpdatingCount();
60
- }
61
- catch (err) {
62
- this._decrUpdatingCount();
63
- throw err;
64
- }
65
- }
66
- updateItemState(item) {
67
- this._incUpdatingCount();
68
- try {
69
- setDefaultHorizontalNavItemState(item);
70
- if (isHorizontalNavItemType(item, 'link')) {
71
- const url = this._getUrl(item);
72
- if (notNullOrUndefined(url)) {
73
- const opts = this._getMatchOptions(item);
74
- this.setItemStateProp(item, 'active', this._router.isActive(url, opts));
75
- }
76
- }
77
- // TODO: Implement this in a more optimized way. Unless our apps start
78
- // having large navs constantly updating their state, this shouldn't
79
- // have much impact on performance.
80
- this._updateItemExpandedState(item);
81
- this._decrUpdatingCount();
82
- }
83
- catch (err) {
84
- this._decrUpdatingCount();
85
- throw err;
86
- }
87
- }
88
- _updateItemsExpandedState(items) {
89
- for (const item of items) {
90
- if (horizontalNavItemHasChildren(item)) {
91
- this._updateItemsExpandedState(item.children);
92
- }
93
- this._updateItemExpandedState(item);
94
- }
95
- }
96
- _updateItemExpandedState(item) {
97
- if (!horizontalNavItemCanExpand(item)) {
98
- if (getHorizontalNavItemStateProp(item, 'expanded')) {
99
- this.setItemStateProp(item, 'expanded', false);
100
- }
101
- return;
102
- }
103
- if (horizontalNavItemHasChildren(item)) {
104
- this._updateItemsExpandedState(item.children);
105
- }
106
- if (horizontalNavItemHasActiveChild(item) || horizontalNavItemHasExpandedChild(item)) {
107
- if (!getHorizontalNavItemStateProp(item, 'expanded')) {
108
- this.setItemStateProp(item, 'expanded', true);
109
- }
110
- }
111
- else {
112
- if (getHorizontalNavItemStateProp(item, 'expanded')) {
113
- this.setItemStateProp(item, 'expanded', false);
114
- }
115
- }
116
- }
117
- _getNavExtras(item) {
118
- const navigationExtras = {};
119
- if (hasProperty(item, 'queryParams')) {
120
- navigationExtras.queryParams = item.queryParams;
121
- }
122
- if (hasProperty(item, 'fragment')) {
123
- navigationExtras.fragment = item.fragment;
124
- }
125
- if (hasProperty(item, 'queryParamsHandling')) {
126
- navigationExtras.queryParamsHandling = item.queryParamsHandling;
127
- }
128
- if (hasProperty(item, 'preserveFragment')) {
129
- navigationExtras.preserveFragment = item.preserveFragment;
130
- }
131
- return navigationExtras;
132
- }
133
- _getUrl(item) {
134
- const link = item.link;
135
- if (typeof link === 'string') {
136
- return this._router.createUrlTree([link], this._getNavExtras(item)).toString();
137
- }
138
- else if (Array.isArray(link)) {
139
- return this._router.createUrlTree(link, this._getNavExtras(item)).toString();
140
- }
141
- return null;
142
- }
143
- _getMatchOptions(item) {
144
- const defaultMatchOpts = {
145
- paths: 'subset',
146
- queryParams: 'subset',
147
- fragment: 'ignored',
148
- matrixParams: 'ignored'
149
- };
150
- if (hasProperty(item, 'matchOptions')) {
151
- return Object.assign(Object.assign({}, defaultMatchOpts), item.matchOptions);
152
- }
153
- return defaultMatchOpts;
154
- }
155
- setItemStateProp(item, prop, value) {
156
- const currentValue = getHorizontalNavItemStateProp(item, prop);
157
- if (currentValue !== value) {
158
- setHorizontalNavItemStateProp(item, prop, value);
159
- const changed = {
160
- item,
161
- prop,
162
- prevValue: currentValue,
163
- newValue: value
164
- };
165
- this.itemChanged.next(changed);
166
- }
167
- }
168
- }
169
- TheSeamNavService.decorators = [
170
- { type: Injectable }
171
- ];
172
- TheSeamNavService.ctorParameters = () => [
173
- { type: Router }
174
- ];
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL25hdi9uYXYuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBd0IsYUFBYSxFQUFFLE1BQU0sRUFBc0IsTUFBTSxpQkFBaUIsQ0FBQTtBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRTFFLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsaUNBQWlDLEVBQ2pDLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzlCLE1BQU0sYUFBYSxDQUFBO0FBSXBCLE1BQU0sT0FBTyxpQkFBaUI7SUFRNUIsWUFDbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFQakIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQTtRQUloRCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFBO1FBSzlELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDdkIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUUs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RSxLQUFLLENBQUMsQ0FBQTtZQUVoRCxNQUFNLE9BQU8sR0FBd0I7Z0JBQ25DLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixTQUFTLEVBQUUsWUFBWTtnQkFDdkIsUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQTtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQy9CO0lBQ0gsQ0FBQzs7O1lBeE1GLFVBQVU7OztZQWxCbUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSXNBY3RpdmVNYXRjaE9wdGlvbnMsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsQ3JlYXRpb25PcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWZlciwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaWJlciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSwgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQge1xuICBob3Jpem9udGFsTmF2SXRlbUNhbkV4cGFuZCxcbiAgZ2V0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZVByb3AsXG4gIGhvcml6b250YWxOYXZJdGVtSGFzQWN0aXZlQ2hpbGQsXG4gIGhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4sXG4gIGhvcml6b250YWxOYXZJdGVtSGFzRXhwYW5kZWRDaGlsZCxcbiAgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUsXG4gIHNldERlZmF1bHRIb3Jpem9udGFsTmF2SXRlbVN0YXRlLFxuICBzZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcFxufSBmcm9tICcuL25hdi11dGlscydcbmltcG9ydCB7IElOYXZJdGVtLCBJTmF2SXRlbVN0YXRlLCBJTmF2TGluaywgTmF2SXRlbVN0YXRlQ2hhbmdlZCB9IGZyb20gJy4vbmF2Lm1vZGVscydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1OYXZTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF91cGRhdGluZ0NvdW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApXG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1DaGFuZ2VkID0gbmV3IFN1YmplY3Q8TmF2SXRlbVN0YXRlQ2hhbmdlZD4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLl91cGRhdGluZ0NvdW50LnBpcGUoXG4gICAgICBtYXAoY291bnQgPT4gY291bnQgPiAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgKVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZUl0ZW1zT2JzZXJ2YWJsZShpdGVtczogSU5hdkl0ZW1bXSk6IE9ic2VydmFibGU8SU5hdkl0ZW1bXT4ge1xuICAgIHJldHVybiBkZWZlcigoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUl0ZW1zU3RhdGVzKGl0ZW1zKVxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPElOYXZJdGVtW10+KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlQ2hhbmdlU3ViID0gdGhpcy5pdGVtQ2hhbmdlZC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcChjaGFuZ2UgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyQucGlwZShmaWx0ZXIobG9hZGluZyA9PiAhbG9hZGluZykpXG4gICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpdGVtcylcbiAgICAgICAgfSlcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMudXBkYXRlSXRlbXNTdGF0ZXMoaXRlbXMpXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm91dGVDaGFuZ2VTdWIgPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVJdGVtc1N0YXRlcyhpdGVtcylcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHN0YXRlQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKClcbiAgICAgICAgICByb3V0ZUNoYW5nZVN1Yi51bnN1YnNjcmliZSgpXG4gICAgICAgIH1cbiAgICAgIH0pLnBpcGUoc3RhcnRXaXRoKGl0ZW1zKSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5jVXBkYXRpbmdDb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGluZ0NvdW50Lm5leHQodGhpcy5fdXBkYXRpbmdDb3VudC52YWx1ZSArIDEpXG4gIH1cblxuICBwcml2YXRlIF9kZWNyVXBkYXRpbmdDb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGluZ0NvdW50Lm5leHQodGhpcy5fdXBkYXRpbmdDb3VudC52YWx1ZSAtIDEpXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSXRlbXNTdGF0ZXMoaXRlbXM6IElOYXZJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pbmNVcGRhdGluZ0NvdW50KClcblxuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgaWYgKGhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1zU3RhdGVzKGl0ZW0uY2hpbGRyZW4pXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1TdGF0ZShpdGVtKVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9kZWNyVXBkYXRpbmdDb3VudCgpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLl9kZWNyVXBkYXRpbmdDb3VudCgpXG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSXRlbVN0YXRlKGl0ZW06IElOYXZJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5faW5jVXBkYXRpbmdDb3VudCgpXG5cbiAgICB0cnkge1xuICAgICAgc2V0RGVmYXVsdEhvcml6b250YWxOYXZJdGVtU3RhdGUoaXRlbSlcblxuICAgICAgaWYgKGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0sICdsaW5rJykpIHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fZ2V0VXJsKGl0ZW0pXG4gICAgICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQodXJsKSkge1xuICAgICAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRNYXRjaE9wdGlvbnMoaXRlbSlcbiAgICAgICAgICB0aGlzLnNldEl0ZW1TdGF0ZVByb3AoaXRlbSwgJ2FjdGl2ZScsIHRoaXMuX3JvdXRlci5pc0FjdGl2ZSh1cmwsIG9wdHMpKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCB0aGlzIGluIGEgbW9yZSBvcHRpbWl6ZWQgd2F5LiBVbmxlc3Mgb3VyIGFwcHMgc3RhcnRcbiAgICAgIC8vIGhhdmluZyBsYXJnZSBuYXZzIGNvbnN0YW50bHkgdXBkYXRpbmcgdGhlaXIgc3RhdGUsIHRoaXMgc2hvdWxkbid0XG4gICAgICAvLyBoYXZlIG11Y2ggaW1wYWN0IG9uIHBlcmZvcm1hbmNlLlxuICAgICAgdGhpcy5fdXBkYXRlSXRlbUV4cGFuZGVkU3RhdGUoaXRlbSlcblxuICAgICAgdGhpcy5fZGVjclVwZGF0aW5nQ291bnQoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5fZGVjclVwZGF0aW5nQ291bnQoKVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSXRlbXNFeHBhbmRlZFN0YXRlKGl0ZW1zOiBJTmF2SXRlbVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBpZiAoaG9yaXpvbnRhbE5hdkl0ZW1IYXNDaGlsZHJlbihpdGVtKSkge1xuICAgICAgICB0aGlzLl91cGRhdGVJdGVtc0V4cGFuZGVkU3RhdGUoaXRlbS5jaGlsZHJlbilcbiAgICAgIH1cbiAgICAgIHRoaXMuX3VwZGF0ZUl0ZW1FeHBhbmRlZFN0YXRlKGl0ZW0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSXRlbUV4cGFuZGVkU3RhdGUoaXRlbTogSU5hdkl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIWhvcml6b250YWxOYXZJdGVtQ2FuRXhwYW5kKGl0ZW0pKSB7XG4gICAgICBpZiAoZ2V0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZVByb3AoaXRlbSwgJ2V4cGFuZGVkJykpIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdGVQcm9wKGl0ZW0sICdleHBhbmRlZCcsIGZhbHNlKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUl0ZW1zRXhwYW5kZWRTdGF0ZShpdGVtLmNoaWxkcmVuKVxuICAgIH1cblxuICAgIGlmIChob3Jpem9udGFsTmF2SXRlbUhhc0FjdGl2ZUNoaWxkKGl0ZW0pIHx8IGhvcml6b250YWxOYXZJdGVtSGFzRXhwYW5kZWRDaGlsZChpdGVtKSkge1xuICAgICAgaWYgKCFnZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcChpdGVtLCAnZXhwYW5kZWQnKSkge1xuICAgICAgICB0aGlzLnNldEl0ZW1TdGF0ZVByb3AoaXRlbSwgJ2V4cGFuZGVkJywgdHJ1ZSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGdldEhvcml6b250YWxOYXZJdGVtU3RhdGVQcm9wKGl0ZW0sICdleHBhbmRlZCcpKSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbVN0YXRlUHJvcChpdGVtLCAnZXhwYW5kZWQnLCBmYWxzZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXROYXZFeHRyYXMoaXRlbTogSU5hdkxpbmspOiBVcmxDcmVhdGlvbk9wdGlvbnMge1xuICAgIGNvbnN0IG5hdmlnYXRpb25FeHRyYXM6IFVybENyZWF0aW9uT3B0aW9ucyA9IHsgfVxuICAgIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAncXVlcnlQYXJhbXMnKSkge1xuICAgICAgbmF2aWdhdGlvbkV4dHJhcy5xdWVyeVBhcmFtcyA9IGl0ZW0ucXVlcnlQYXJhbXNcbiAgICB9XG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdmcmFnbWVudCcpKSB7XG4gICAgICBuYXZpZ2F0aW9uRXh0cmFzLmZyYWdtZW50ID0gaXRlbS5mcmFnbWVudFxuICAgIH1cbiAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ3F1ZXJ5UGFyYW1zSGFuZGxpbmcnKSkge1xuICAgICAgbmF2aWdhdGlvbkV4dHJhcy5xdWVyeVBhcmFtc0hhbmRsaW5nID0gaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXG4gICAgfVxuICAgIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAncHJlc2VydmVGcmFnbWVudCcpKSB7XG4gICAgICBuYXZpZ2F0aW9uRXh0cmFzLnByZXNlcnZlRnJhZ21lbnQgPSBpdGVtLnByZXNlcnZlRnJhZ21lbnRcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRpb25FeHRyYXNcbiAgfVxuXG4gIHByaXZhdGUgX2dldFVybChpdGVtOiBJTmF2TGluayk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGxpbmsgPSBpdGVtLmxpbmtcblxuICAgIGlmICh0eXBlb2YgbGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yb3V0ZXIuY3JlYXRlVXJsVHJlZShbIGxpbmsgXSwgdGhpcy5fZ2V0TmF2RXh0cmFzKGl0ZW0pKS50b1N0cmluZygpXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGxpbmspKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcm91dGVyLmNyZWF0ZVVybFRyZWUobGluaywgdGhpcy5fZ2V0TmF2RXh0cmFzKGl0ZW0pKS50b1N0cmluZygpXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHByaXZhdGUgX2dldE1hdGNoT3B0aW9ucyhpdGVtOiBJTmF2TGluayk6IElzQWN0aXZlTWF0Y2hPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0TWF0Y2hPcHRzOiBJc0FjdGl2ZU1hdGNoT3B0aW9ucyA9IHtcbiAgICAgIHBhdGhzOiAnc3Vic2V0JyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiAnc3Vic2V0JyxcbiAgICAgIGZyYWdtZW50OiAnaWdub3JlZCcsXG4gICAgICBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJ1xuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAnbWF0Y2hPcHRpb25zJykpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRlZmF1bHRNYXRjaE9wdHMsXG4gICAgICAgIC4uLml0ZW0ubWF0Y2hPcHRpb25zXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRNYXRjaE9wdHNcbiAgfVxuXG4gIHB1YmxpYyBzZXRJdGVtU3RhdGVQcm9wPEsgZXh0ZW5kcyBrZXlvZiBJTmF2SXRlbVN0YXRlPihpdGVtOiBJTmF2SXRlbSwgcHJvcDogSywgdmFsdWU6IElOYXZJdGVtU3RhdGVbS10pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcChpdGVtLCBwcm9wKVxuICAgIGlmIChjdXJyZW50VmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICBzZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcChpdGVtLCBwcm9wLCB2YWx1ZSlcblxuICAgICAgY29uc3QgY2hhbmdlZDogTmF2SXRlbVN0YXRlQ2hhbmdlZCA9IHtcbiAgICAgICAgaXRlbSxcbiAgICAgICAgcHJvcCxcbiAgICAgICAgcHJldlZhbHVlOiBjdXJyZW50VmFsdWUsXG4gICAgICAgIG5ld1ZhbHVlOiB2YWx1ZVxuICAgICAgfVxuICAgICAgdGhpcy5pdGVtQ2hhbmdlZC5uZXh0KGNoYW5nZWQpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { Directive, TemplateRef } from '@angular/core';
2
- export class TopBarCompactMenuBtnDetailDirective {
3
- constructor(template) {
4
- this.template = template;
5
- }
6
- }
7
- TopBarCompactMenuBtnDetailDirective.decorators = [
8
- { type: Directive, args: [{
9
- selector: '[seamTopBarCompactMenuBtnDetail]'
10
- },] }
11
- ];
12
- TopBarCompactMenuBtnDetailDirective.ctorParameters = () => [
13
- { type: TemplateRef }
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci1jb21wYWN0LW1lbnUtYnRuLWRldGFpbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3RvcC1iYXIvdG9wLWJhci1jb21wYWN0LW1lbnUtYnRuLWRldGFpbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLdEQsTUFBTSxPQUFPLG1DQUFtQztJQUU5QyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7OztZQUxuRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtDQUFrQzthQUM3Qzs7O1lBSm1CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1Ub3BCYXJDb21wYWN0TWVudUJ0bkRldGFpbF0nXG59KVxuZXhwb3J0IGNsYXNzIFRvcEJhckNvbXBhY3RNZW51QnRuRGV0YWlsRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxuXG59XG4iXX0=