@seniorsistemas/angular-components 17.7.2 → 17.7.4

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 (61) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +350 -235
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +8 -4
  6. package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +2 -1
  7. package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +7 -4
  8. package/components/tiered-menu/models/tiered-menu-item-data.d.ts +2 -0
  9. package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +2 -6
  10. package/components/tiered-menu/{tiered-menu.event.service.d.ts → services/tiered-menu.event.service.d.ts} +1 -8
  11. package/components/tiered-menu/services/tiered-menu.global.service.d.ts +4 -0
  12. package/components/tiered-menu/{tiered-menu.service.d.ts → services/tiered-menu.service.d.ts} +5 -3
  13. package/components/tiered-menu/tiered-menu.directive.d.ts +16 -14
  14. package/components/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -0
  15. package/components/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -0
  16. package/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -0
  17. package/components/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -0
  18. package/components/timeline/timeline.component.d.ts +1 -0
  19. package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  20. package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  21. package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  22. package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  23. package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  24. package/esm2015/components/tiered-menu/services/tiered-menu.event.service.js +18 -0
  25. package/esm2015/components/tiered-menu/services/tiered-menu.global.service.js +9 -0
  26. package/esm2015/components/tiered-menu/services/tiered-menu.service.js +51 -0
  27. package/esm2015/components/tiered-menu/tiered-menu.directive.js +103 -109
  28. package/esm2015/components/tiered-menu/tiered-menu.module.js +8 -12
  29. package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +6 -3
  30. package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +6 -3
  31. package/esm2015/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +5 -2
  32. package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.component.js +5 -2
  33. package/esm2015/components/timeline/timeline.component.js +6 -2
  34. package/esm2015/seniorsistemas-angular-components.js +18 -17
  35. package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  36. package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  37. package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  38. package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  39. package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  40. package/esm5/components/tiered-menu/services/tiered-menu.event.service.js +19 -0
  41. package/esm5/components/tiered-menu/services/tiered-menu.global.service.js +12 -0
  42. package/esm5/components/tiered-menu/services/tiered-menu.service.js +54 -0
  43. package/esm5/components/tiered-menu/tiered-menu.directive.js +103 -110
  44. package/esm5/components/tiered-menu/tiered-menu.module.js +8 -12
  45. package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +6 -3
  46. package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +6 -3
  47. package/esm5/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +5 -2
  48. package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.component.js +5 -2
  49. package/esm5/components/timeline/timeline.component.js +6 -2
  50. package/esm5/seniorsistemas-angular-components.js +18 -17
  51. package/fesm2015/seniorsistemas-angular-components.js +332 -218
  52. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  53. package/fesm5/seniorsistemas-angular-components.js +336 -222
  54. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  55. package/package.json +1 -1
  56. package/seniorsistemas-angular-components.d.ts +17 -16
  57. package/seniorsistemas-angular-components.metadata.json +1 -1
  58. package/esm2015/components/tiered-menu/tiered-menu.event.service.js +0 -39
  59. package/esm2015/components/tiered-menu/tiered-menu.service.js +0 -39
  60. package/esm5/components/tiered-menu/tiered-menu.event.service.js +0 -40
  61. package/esm5/components/tiered-menu/tiered-menu.service.js +0 -44
@@ -1,178 +1,181 @@
1
1
  import { __decorate } from "tslib";
2
- import { AfterViewInit, ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EmbeddedViewRef, HostListener, Injector, Input, OnDestroy, OnInit, } from "@angular/core";
2
+ import { ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, Directive, DoCheck, ElementRef, EmbeddedViewRef, HostListener, Injector, Input, OnDestroy, OnInit, } from "@angular/core";
3
3
  import { Subject } from "rxjs";
4
4
  import { takeUntil } from "rxjs/operators";
5
5
  import { TieredMenuNestedComponent } from "./components/tiered-menu-nested/tiered-menu-nested.component";
6
6
  import { TieredMenuComponent } from "./components/tiered-menu/tiered-menu.component";
7
- import { TieredMenuEventService } from "./tiered-menu.event.service";
8
- import { TieredMenuService } from "./tiered-menu.service";
7
+ import { TieredMenuEventService } from "./services/tiered-menu.event.service";
8
+ import { TieredMenuGlobalService } from "./services/tiered-menu.global.service";
9
+ import { TieredMenuService } from "./services/tiered-menu.service";
9
10
  let TieredMenuDirective = class TieredMenuDirective {
10
- constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService) {
11
+ constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService, _tieredMenuGlobalService, _changeDetectorRef) {
11
12
  this._elementRef = _elementRef;
12
13
  this._appRef = _appRef;
13
14
  this._componentFactoryResolver = _componentFactoryResolver;
14
15
  this._injector = _injector;
15
16
  this._tieredMenuEventService = _tieredMenuEventService;
16
17
  this._tieredMenuService = _tieredMenuService;
18
+ this._tieredMenuGlobalService = _tieredMenuGlobalService;
19
+ this._changeDetectorRef = _changeDetectorRef;
20
+ this.items = [];
21
+ this.triggerEvent = "click";
17
22
  this._componentRef = null;
18
23
  this._isNested = false;
19
24
  this._isOpen = false;
20
25
  this._unsubscribe$ = new Subject();
21
- this.alwaysOpen = false;
22
- this.triggerEvent = "click";
26
+ }
27
+ onClick(event) {
28
+ var _a;
29
+ if (this.triggerEvent === "click" && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this._isOpen) {
30
+ this._lastActiveElement = document.activeElement;
31
+ this._createMenu();
32
+ event.preventDefault();
33
+ event.stopPropagation();
34
+ }
23
35
  }
24
36
  ngOnInit() {
25
- this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
26
- this._tieredMenuService.currentItems = this._tieredMenuService.items;
27
- this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
37
+ this._updateServiceItems();
28
38
  this._subscribeEvents();
29
39
  }
30
- ngAfterViewInit() {
31
- // setTimeout to create the menu after creating the elements.
32
- if (this.alwaysOpen) {
33
- setTimeout(() => {
34
- this._createMenu();
35
- }, 0);
40
+ ngDoCheck() {
41
+ if (!this.previousItems) {
42
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
36
43
  }
44
+ ;
45
+ let hasChanges = false;
46
+ if (this.items.length !== this.previousItems.length) {
47
+ hasChanges = true;
48
+ }
49
+ else {
50
+ for (let i = 0; i < this.items.length; i++) {
51
+ if (!this._compareItems(this.items[i], this.previousItems[i])) {
52
+ hasChanges = true;
53
+ break;
54
+ }
55
+ }
56
+ }
57
+ if (hasChanges) {
58
+ this._updateServiceItems();
59
+ this._changeDetectorRef.detectChanges();
60
+ this._rebuildMenu();
61
+ }
62
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
37
63
  }
38
64
  ngOnDestroy() {
39
65
  this._unsubscribe$.next();
40
66
  this._unsubscribe$.complete();
41
67
  this._destroy();
42
68
  }
43
- onResize() {
44
- if (!this.alwaysOpen) {
45
- this._tieredMenuEventService.emitCloseAllMenusEvent();
46
- }
47
- }
48
- onKeydownHandler(event) {
49
- if (!this._isOpen)
50
- return;
51
- switch (event.key) {
52
- case "Escape":
53
- this._tieredMenuEventService.emitCloseAllMenusEvent();
54
- break;
55
- case " ":
56
- case "Enter":
57
- this._tieredMenuEventService.emitSelectItemEvent(this._tieredMenuService.currentItem);
58
- break;
59
- case "ArrowLeft":
60
- // When nested I need a reference to the current item's parent item, otherwise just the current item.
61
- this._tieredMenuEventService.emitCloseItemMenuEvent(this._isNested ? this._tieredMenuService.currentItem.parent : this._tieredMenuService.currentItem);
62
- break;
63
- case "ArrowRight":
64
- this._tieredMenuEventService.emitOpenItemMenuEvent(this._tieredMenuService.currentItem);
65
- break;
66
- case "ArrowUp":
67
- this._tieredMenuEventService.emitDecrementCurrentItemEvent();
68
- break;
69
- case "ArrowDown":
70
- this._tieredMenuEventService.emitIncrementCurrentItemEvent();
71
- break;
72
- }
73
- }
74
- onClick(event) {
75
- if (this.triggerEvent === "click" && this.items && this.items && !this._isOpen) {
76
- this._lastActiveElement = document.activeElement;
77
- this._createMenu();
78
- event.preventDefault();
79
- event.stopPropagation();
80
- }
81
- }
82
- onDocumentClick(event) {
83
- // Closing menu when clicked outside.
84
- const target = event.target;
85
- const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
86
- if (!clickedInside) {
87
- this._tieredMenuEventService.emitCloseAllMenusEvent();
88
- }
89
- }
90
69
  _createMenu() {
91
- var _a;
92
- if (!this._componentRef && this.items) {
93
- (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.blur();
70
+ var _a, _b, _c;
71
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
72
+ (_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
73
+ this._tieredMenuGlobalService.lastInstance = this;
74
+ (_c = this._lastActiveElement) === null || _c === void 0 ? void 0 : _c.blur();
94
75
  this._isOpen = true;
95
76
  this._isNested = document.body.clientWidth < 600;
96
77
  this._isNested ? this._createNestedMenu() : this._createTieredMenu();
97
78
  }
98
79
  }
99
80
  _createTieredMenu() {
100
- if (!this._componentRef && this.items) {
81
+ var _a;
82
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
101
83
  const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
102
84
  this._componentRef = componentFactory.create(this._injector);
103
85
  this._appRef.attachView(this._componentRef.hostView);
104
86
  const domElem = this._componentRef.hostView.rootNodes[0];
105
87
  document.body.appendChild(domElem);
106
88
  this._setMenuComponentProperties();
107
- this._componentRef.instance.destroyRequest
108
- .pipe(takeUntil(this._unsubscribe$))
109
- .subscribe(() => {
89
+ this._componentRef.instance.destroyRequest.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
110
90
  this._destroy();
111
91
  });
112
- this._menuDivElement = domElem.querySelector(".menu");
113
92
  this._setMenuPosition();
114
93
  }
115
94
  }
116
95
  _createNestedMenu() {
117
- if (!this._componentRef && this.items) {
96
+ var _a;
97
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
118
98
  const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
119
99
  this._componentRef = componentFactory.create(this._injector);
120
100
  this._appRef.attachView(this._componentRef.hostView);
121
101
  const domElem = this._componentRef.hostView.rootNodes[0];
122
102
  document.body.appendChild(domElem);
123
103
  this._setMenuComponentProperties();
124
- this._menuDivElement = domElem.querySelector(".menu");
125
104
  this._setMenuPosition();
126
105
  }
127
106
  }
128
107
  _destroy() {
129
- var _a;
130
- if (this._componentRef !== null && !this.alwaysOpen) {
108
+ if (this._componentRef) {
131
109
  this._isOpen = false;
132
110
  window.clearTimeout(this._showTimeout);
133
111
  this._appRef.detachView(this._componentRef.hostView);
134
112
  this._componentRef.destroy();
135
113
  this._componentRef = null;
136
- this._menuDivElement = null;
137
- (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
138
114
  this._tieredMenuService.currentItems = this._tieredMenuService.items;
139
115
  this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
116
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
140
117
  }
141
118
  }
142
119
  _setMenuPosition() {
120
+ var _a, _b;
121
+ const ITEM_HEIGHT = 37;
122
+ const ITEM_WIDTH = 176;
123
+ const DIVIDER_HEIGHT = 5;
124
+ const PADDING = 8;
125
+ const MARGIN = 4;
143
126
  if (this._componentRef !== null) {
144
- const { right, bottom, left } = this._elementRef.nativeElement.getBoundingClientRect();
145
- const menuWidth = this._menuDivElement.getBoundingClientRect().width;
146
- const rightFreeSpace = document.body.clientWidth - right;
147
- const topPosition = bottom + 2;
148
- this._componentRef.instance.top = topPosition;
149
- if (!this._isNested) {
150
- if (rightFreeSpace > menuWidth) {
151
- this._componentRef.instance.left = left;
152
- }
153
- else {
154
- this._componentRef.instance.left = left - menuWidth;
155
- }
127
+ this._componentRef.instance.top = 8;
128
+ const { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();
129
+ const itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce((count, item) => {
130
+ return !item.divider ? count + 1 : count;
131
+ }, 0);
132
+ const dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce((count, item) => {
133
+ return item.divider ? count + 1 : count;
134
+ }, 0);
135
+ const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;
136
+ const rightFreeSpace = window.innerWidth - right;
137
+ const bottomFreeSpace = window.innerHeight - bottom;
138
+ this._componentRef.instance.top = bottom;
139
+ this._componentRef.instance.left = left;
140
+ if (bottomFreeSpace <= menuHeight) {
141
+ this._componentRef.instance.top = Math.max(bottom - menuHeight, 0);
142
+ }
143
+ else {
144
+ this._componentRef.instance.top = bottom + MARGIN;
145
+ }
146
+ if (rightFreeSpace > 176) {
147
+ this._componentRef.instance.left = left;
156
148
  }
157
149
  else {
158
- // setting the maximum menu size to ensure its content is always visible. 10px margin.
159
- this._componentRef.instance.maxHeight = window.innerHeight - topPosition - 10;
150
+ this._componentRef.instance.left = right - ITEM_WIDTH;
151
+ }
152
+ if (this._isNested) {
153
+ this._componentRef.instance.left = MARGIN;
160
154
  }
161
155
  }
162
156
  }
163
157
  _setMenuComponentProperties() {
164
158
  if (this._componentRef != null) {
165
- this._componentRef.instance.items = this.items;
159
+ this._componentRef.instance.items = this._tieredMenuService.items;
166
160
  }
167
161
  }
168
162
  _subscribeEvents() {
169
- this._tieredMenuEventService.closeAllMenusEvent
170
- .pipe(takeUntil(this._unsubscribe$))
171
- .subscribe(() => {
172
- this.items = this._tieredMenuService.markAllItemsAsClosed(this.items);
163
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
164
+ this._tieredMenuService.items = this._tieredMenuService.markAllItemsAsClosed(this._tieredMenuService.items);
173
165
  this._destroy();
174
166
  });
175
167
  }
168
+ _compareItems(item1, item2) {
169
+ return JSON.stringify(item1) === JSON.stringify(item2);
170
+ }
171
+ _rebuildMenu() {
172
+ this._destroy();
173
+ }
174
+ _updateServiceItems() {
175
+ this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
176
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
177
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
178
+ }
176
179
  };
177
180
  TieredMenuDirective.ctorParameters = () => [
178
181
  { type: ElementRef },
@@ -180,33 +183,24 @@ TieredMenuDirective.ctorParameters = () => [
180
183
  { type: ComponentFactoryResolver },
181
184
  { type: Injector },
182
185
  { type: TieredMenuEventService },
183
- { type: TieredMenuService }
186
+ { type: TieredMenuService },
187
+ { type: TieredMenuGlobalService },
188
+ { type: ChangeDetectorRef }
184
189
  ];
185
190
  __decorate([
186
191
  Input()
187
192
  ], TieredMenuDirective.prototype, "items", void 0);
188
- __decorate([
189
- Input()
190
- ], TieredMenuDirective.prototype, "alwaysOpen", void 0);
191
193
  __decorate([
192
194
  Input()
193
195
  ], TieredMenuDirective.prototype, "triggerEvent", void 0);
194
- __decorate([
195
- HostListener("window:resize")
196
- ], TieredMenuDirective.prototype, "onResize", null);
197
- __decorate([
198
- HostListener("document:keydown", ["$event"])
199
- ], TieredMenuDirective.prototype, "onKeydownHandler", null);
200
196
  __decorate([
201
197
  HostListener("click", ["$event"])
202
198
  ], TieredMenuDirective.prototype, "onClick", null);
203
- __decorate([
204
- HostListener("document:click", ["$event"])
205
- ], TieredMenuDirective.prototype, "onDocumentClick", null);
206
199
  TieredMenuDirective = __decorate([
207
200
  Directive({
208
201
  selector: "[sTieredMenu]",
202
+ providers: [TieredMenuEventService, TieredMenuService],
209
203
  })
210
204
  ], TieredMenuDirective);
211
205
  export { TieredMenuDirective };
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLMUQsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFTNUIsWUFDcUIsV0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIseUJBQW1ELEVBQ25ELFNBQW1CLEVBQ25CLHVCQUErQyxFQUMvQyxrQkFBcUM7UUFMckMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDL0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtR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QUMsS0FBSyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNKLENBQUE7O1lBN0xxQyxVQUFVO1lBQ2QsY0FBYztZQUNJLHdCQUF3QjtZQUN4QyxRQUFRO1lBQ00sc0JBQXNCO1lBQzNCLGlCQUFpQjs7QUFJMUQ7SUFEQyxLQUFLLEVBQUU7a0RBQzJCO0FBR25DO0lBREMsS0FBSyxFQUFFO3VEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTt5REFDeUM7QUEwQmpEO0lBREMsWUFBWSxDQUFDLGVBQWUsQ0FBQzttREFLN0I7QUFHRDtJQURDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzJEQTRCNUM7QUFHRDtJQURDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztrREFRakM7QUFHRDtJQURDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzBEQVExQztBQXpHUSxtQkFBbUI7SUFIL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7S0FDNUIsQ0FBQztHQUNXLG1CQUFtQixDQXVNL0I7U0F2TVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LW5lc3RlZC90aWVyZWQtbWVudS1uZXN0ZWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCIuL21vZGVscy90aWVyZWQtbWVudS1pdGVtLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51U2VydmljZSB9IGZyb20gXCIuL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUaWVyZWRNZW51XVwiLFxufSlcbmV4cG9ydCBjbGFzcyBUaWVyZWRNZW51RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICAgIHByaXZhdGUgX3Nob3dUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfaXNOZXN0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2xhc3RBY3RpdmVFbGVtZW50OiBFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZVxuICAgICkgeyB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogVGllcmVkTWVudUl0ZW1EYXRhW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbHdheXNPcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmlnZ2VyRXZlbnQ6IFwiY2xpY2tcIiB8IFwiaG92ZXJcIiA9IFwiY2xpY2tcIjtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5ub3JtYWxpemVEYXRhKHRoaXMuaXRlbXMpO1xuICAgICAgICB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtc1swXTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gc2V0VGltZW91dCB0byBjcmVhdGUgdGhlIG1lbnUgYWZ0ZXIgY3JlYXRpbmcgdGhlIGVsZW1lbnRzLlxuICAgICAgICBpZiAodGhpcy5hbHdheXNPcGVuKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVNZW51KCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYWx3YXlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0Q2xvc2VBbGxNZW51c0V2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6a2V5ZG93blwiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc09wZW4pIHJldHVybjtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdENsb3NlQWxsTWVudXNFdmVudCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdFNlbGVjdEl0ZW1FdmVudCh0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dMZWZ0XCI6XG4gICAgICAgICAgICAgICAgLy8gV2hlbiBuZXN0ZWQgSSBuZWVkIGEgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGl0ZW0ncyBwYXJlbnQgaXRlbSwgb3RoZXJ3aXNlIGp1c3QgdGhlIGN1cnJlbnQgaXRlbS5cbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRDbG9zZUl0ZW1NZW51RXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lzTmVzdGVkID8gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50IDogdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93UmlnaHRcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRPcGVuSXRlbU1lbnVFdmVudCh0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdERlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRJbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gXCJjbGlja1wiICYmIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcyAmJiAhdGhpcy5faXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVNZW51KCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xvc2luZyBtZW51IHdoZW4gY2xpY2tlZCBvdXRzaWRlLlxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1pdGVtXCIpIHx8IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1kaXZpZGVyXCIpO1xuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdENsb3NlQWxsTWVudXNFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgKHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8uYmx1cigpO1xuICAgICAgICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2lzTmVzdGVkID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA8IDYwMDtcbiAgICAgICAgICAgIHRoaXMuX2lzTmVzdGVkID8gdGhpcy5fY3JlYXRlTmVzdGVkTWVudSgpIDogdGhpcy5fY3JlYXRlVGllcmVkTWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlVGllcmVkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUaWVyZWRNZW51Q29tcG9uZW50KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuX2FwcFJlZi5hdHRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXN0cm95UmVxdWVzdFxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKFwiLm1lbnVcIik7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU5lc3RlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudU5lc3RlZENvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5fbWVudURpdkVsZW1lbnQgPSBkb21FbGVtLnF1ZXJ5U2VsZWN0b3IoXCIubWVudVwiKTtcbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCAmJiAhdGhpcy5hbHdheXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fbWVudURpdkVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgKHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8uZm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtc1swXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyByaWdodCwgYm90dG9tLCBsZWZ0IH0gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBtZW51V2lkdGggPSB0aGlzLl9tZW51RGl2RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0RnJlZVNwYWNlID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCAtIHJpZ2h0O1xuXG4gICAgICAgICAgICBjb25zdCB0b3BQb3NpdGlvbiA9IGJvdHRvbSArIDI7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gdG9wUG9zaXRpb247XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5faXNOZXN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAocmlnaHRGcmVlU3BhY2UgPiBtZW51V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBsZWZ0O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdCAtIG1lbnVXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHNldHRpbmcgdGhlIG1heGltdW0gbWVudSBzaXplIHRvIGVuc3VyZSBpdHMgY29udGVudCBpcyBhbHdheXMgdmlzaWJsZS4gMTBweCBtYXJnaW4uXG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLm1heEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHRvcFBvc2l0aW9uIC0gMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UubWFya0FsbEl0ZW1zQXNDbG9zZWQodGhpcy5pdGVtcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDZixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBT25FLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBeUI1QixZQUNxQixXQUF1QixFQUN2QixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FBbUIsRUFDbkIsdUJBQStDLEVBQy9DLGtCQUFxQyxFQUNyQyx3QkFBaUQsRUFDakQsa0JBQXFDO1FBUHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDbkQs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RSxDQUFDO0NBQ0osQ0FBQTs7WUFsTHFDLFVBQVU7WUFDZCxjQUFjO1lBQ0ksd0JBQXdCO1lBQ3hDLFFBQVE7WUFDTSxzQkFBc0I7WUFDM0IsaUJBQWlCO1lBQ1gsdUJBQXVCO1lBQzdCLGlCQUFpQjs7QUEvQjFEO0lBREMsS0FBSyxFQUFFO2tEQUNnQztBQUd4QztJQURDLEtBQUssRUFBRTt5REFDeUM7QUFXakQ7SUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7a0RBUWpDO0FBdkJRLG1CQUFtQjtJQUovQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZUFBZTtRQUN6QixTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztLQUN6RCxDQUFDO0dBQ1csbUJBQW1CLENBNE0vQjtTQTVNWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LW5lc3RlZC90aWVyZWQtbWVudS1uZXN0ZWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCIuL21vZGVscy90aWVyZWQtbWVudS1pdGVtLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51R2xvYmFsU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL3RpZXJlZC1tZW51Lmdsb2JhbC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51U2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGllcmVkTWVudV1cIixcbiAgICBwcm92aWRlcnM6IFtUaWVyZWRNZW51RXZlbnRTZXJ2aWNlLCBUaWVyZWRNZW51U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmlnZ2VyRXZlbnQ6IFwiY2xpY2tcIiB8IFwiaG92ZXJcIiA9IFwiY2xpY2tcIjtcblxuICAgIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICAgIHByaXZhdGUgX3Nob3dUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgX2lzTmVzdGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9sYXN0QWN0aXZlRWxlbWVudDogRWxlbWVudDtcbiAgICBwcml2YXRlIHByZXZpb3VzSXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdO1xuXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgICBwdWJsaWMgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09IFwiY2xpY2tcIiAmJiB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcz8ubGVuZ3RoID4gMCAmJiAhdGhpcy5faXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVNZW51KCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudVNlcnZpY2U6IFRpZXJlZE1lbnVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90aWVyZWRNZW51R2xvYmFsU2VydmljZTogVGllcmVkTWVudUdsb2JhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2VydmljZUl0ZW1zKCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wcmV2aW91c0l0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzSXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jbG9uZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBoYXNDaGFuZ2VzID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoICE9PSB0aGlzLnByZXZpb3VzSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBoYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fY29tcGFyZUl0ZW1zKHRoaXMuaXRlbXNbaV0sIHRoaXMucHJldmlvdXNJdGVtc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNDaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVTZXJ2aWNlSXRlbXMoKTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMuX3JlYnVpbGRNZW51KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzSXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jbG9uZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51R2xvYmFsU2VydmljZS5sYXN0SW5zdGFuY2U/Ll9kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51R2xvYmFsU2VydmljZS5sYXN0SW5zdGFuY2UgPSB0aGlzO1xuXG4gICAgICAgICAgICAodGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpPy5ibHVyKCk7XG4gICAgICAgICAgICB0aGlzLl9pc09wZW4gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5faXNOZXN0ZWQgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDwgNjAwO1xuXG4gICAgICAgICAgICB0aGlzLl9pc05lc3RlZCA/IHRoaXMuX2NyZWF0ZU5lc3RlZE1lbnUoKSA6IHRoaXMuX2NyZWF0ZVRpZXJlZE1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVRpZXJlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRpZXJlZE1lbnVDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuXG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpO1xuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuZGVzdHJveVJlcXVlc3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVOZXN0ZWRNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZiAmJiB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuX2FwcFJlZi5hdHRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gbnVsbDtcblxuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zWzBdO1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0TWVudVBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBJVEVNX0hFSUdIVCA9IDM3O1xuICAgICAgICBjb25zdCBJVEVNX1dJRFRIID0gMTc2O1xuICAgICAgICBjb25zdCBESVZJREVSX0hFSUdIVCA9IDU7XG4gICAgICAgIGNvbnN0IFBBRERJTkcgPSA4O1xuICAgICAgICBjb25zdCBNQVJHSU4gPSA0O1xuXG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSA4O1xuXG4gICAgICAgICAgICBjb25zdCB7IGJvdHRvbSwgbGVmdCwgcmlnaHQgfSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgY29uc3QgaXRlbXNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICB9LCAwKTtcblxuICAgICAgICAgICAgY29uc3QgZGl2aWRlcnNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmRpdmlkZXIgPyBjb3VudCArIDEgOiBjb3VudDtcbiAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gaXRlbXNDb3VudCAqIElURU1fSEVJR0hUICsgZGl2aWRlcnNDb3VudCAqIERJVklERVJfSEVJR0hUICsgUEFERElORyArIE1BUkdJTjtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0RnJlZVNwYWNlID0gd2luZG93LmlubmVyV2lkdGggLSByaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbUZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGJvdHRvbTtcblxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IGJvdHRvbTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgaWYgKGJvdHRvbUZyZWVTcGFjZSA8PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgubWF4KGJvdHRvbSAtIG1lbnVIZWlnaHQsIDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gYm90dG9tICsgTUFSR0lOO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmlnaHRGcmVlU3BhY2UgPiAxNzYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IGxlZnQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gcmlnaHQgLSBJVEVNX1dJRFRIO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5faXNOZXN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IE1BUkdJTjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVDb21wb25lbnRQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcyA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5tYXJrQWxsSXRlbXNBc0Nsb3NlZCh0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcyk7XG4gICAgICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbXBhcmVJdGVtcyhpdGVtMTogVGllcmVkTWVudUl0ZW1EYXRhLCBpdGVtMjogVGllcmVkTWVudUl0ZW1EYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShpdGVtMSkgPT09IEpTT04uc3RyaW5naWZ5KGl0ZW0yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZWJ1aWxkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZVNlcnZpY2VJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5ub3JtYWxpemVEYXRhKHRoaXMuaXRlbXMpO1xuICAgICAgICB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtc1swXTtcbiAgICB9XG59XG4iXX0=
@@ -1,13 +1,12 @@
1
1
  import { __decorate } from "tslib";
2
- import { NgModule } from "@angular/core";
3
2
  import { CommonModule } from "@angular/common";
4
- import { TieredMenuDirective } from "./tiered-menu.directive";
5
- import { TieredMenuComponent } from "./components/tiered-menu/tiered-menu.component";
6
- import { TieredMenuNestedComponent } from "./components/tiered-menu-nested/tiered-menu-nested.component";
7
- import { TieredMenuItemComponent } from "./components/tiered-menu-item/tiered-menu-item.component";
3
+ import { NgModule } from "@angular/core";
8
4
  import { TieredMenuDividerComponent } from "./components/tiered-menu-divider/tiered-menu-divider.component";
9
- import { TieredMenuEventService } from "./tiered-menu.event.service";
10
- import { TieredMenuService } from "./tiered-menu.service";
5
+ import { TieredMenuItemComponent } from "./components/tiered-menu-item/tiered-menu-item.component";
6
+ import { TieredMenuNestedComponent } from "./components/tiered-menu-nested/tiered-menu-nested.component";
7
+ import { TieredMenuComponent } from "./components/tiered-menu/tiered-menu.component";
8
+ import { TieredMenuGlobalService } from "./services/tiered-menu.global.service";
9
+ import { TieredMenuDirective } from "./tiered-menu.directive";
11
10
  let TieredMenuModule = class TieredMenuModule {
12
11
  };
13
12
  TieredMenuModule = __decorate([
@@ -23,11 +22,8 @@ TieredMenuModule = __decorate([
23
22
  TieredMenuDividerComponent,
24
23
  ],
25
24
  exports: [TieredMenuDirective],
26
- providers: [
27
- TieredMenuEventService,
28
- TieredMenuService,
29
- ],
25
+ providers: [TieredMenuGlobalService],
30
26
  })
31
27
  ], TieredMenuModule);
32
28
  export { TieredMenuModule };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQW1CMUQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7Q0FBSSxDQUFBO0FBQXBCLGdCQUFnQjtJQWpCNUIsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFO1lBQ0wsWUFBWTtTQUNmO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsdUJBQXVCO1lBQ3ZCLDBCQUEwQjtTQUM3QjtRQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQzlCLFNBQVMsRUFBRTtZQUNQLHNCQUFzQjtZQUN0QixpQkFBaUI7U0FDcEI7S0FDSixDQUFDO0dBQ1csZ0JBQWdCLENBQUk7U0FBcEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51RGlyZWN0aXZlIH0gZnJvbSBcIi4vdGllcmVkLW1lbnUuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LW5lc3RlZC90aWVyZWQtbWVudS1uZXN0ZWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUtaXRlbS90aWVyZWQtbWVudS1pdGVtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudURpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LWRpdmlkZXIvdGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51U2VydmljZSB9IGZyb20gXCIuL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUaWVyZWRNZW51RGlyZWN0aXZlLFxuICAgICAgICBUaWVyZWRNZW51Q29tcG9uZW50LFxuICAgICAgICBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50LFxuICAgICAgICBUaWVyZWRNZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgVGllcmVkTWVudURpdmlkZXJDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbVGllcmVkTWVudURpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgICAgIFRpZXJlZE1lbnVTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVNb2R1bGUgeyB9XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWdCOUQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7Q0FBSSxDQUFBO0FBQXBCLGdCQUFnQjtJQWQ1QixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1NBQ2Y7UUFDRCxZQUFZLEVBQUU7WUFDVixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1NBQzdCO1FBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7UUFDOUIsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7S0FDdkMsQ0FBQztHQUNXLGdCQUFnQixDQUFJO1NBQXBCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVGllcmVkTWVudURpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LWRpdmlkZXIvdGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS1pdGVtL3RpZXJlZC1tZW51LWl0ZW0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS1uZXN0ZWQvdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51R2xvYmFsU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL3RpZXJlZC1tZW51Lmdsb2JhbC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RGlyZWN0aXZlIH0gZnJvbSBcIi4vdGllcmVkLW1lbnUuZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgVGllcmVkTWVudURpcmVjdGl2ZSxcbiAgICAgICAgVGllcmVkTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGllcmVkTWVudU5lc3RlZENvbXBvbmVudCxcbiAgICAgICAgVGllcmVkTWVudUl0ZW1Db21wb25lbnQsXG4gICAgICAgIFRpZXJlZE1lbnVEaXZpZGVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1RpZXJlZE1lbnVEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW1RpZXJlZE1lbnVHbG9iYWxTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudU1vZHVsZSB7IH1cbiJdfQ==
@@ -11,12 +11,15 @@ __decorate([
11
11
  __decorate([
12
12
  Input()
13
13
  ], HorizontalTimelineComponent.prototype, "activeIndex", void 0);
14
+ __decorate([
15
+ Input()
16
+ ], HorizontalTimelineComponent.prototype, "highlightActiveItem", void 0);
14
17
  HorizontalTimelineComponent = __decorate([
15
18
  Component({
16
19
  selector: "s-horizontal-timeline",
17
- template: "<div class=\"horizontal-timeline\">\n <ng-container\n *ngFor=\"let item of items;\n let i = index;\n let isFirst = first;\n let isLast = last\">\n <div\n class=\"horizontal-timeline__item\"\n [ngClass]=\"{\n 'horizontal-timeline__item--small': item.testSize('small'),\n 'horizontal-timeline__item--normal': item.testSize('normal'),\n 'horizontal-timeline__item--warning': item.testSeverity('warning'),\n 'horizontal-timeline__item--error': item.testSeverity('error'),\n 'horizontal-timeline__item--completed': i < activeIndex,\n 'horizontal-timeline__item--active': i === activeIndex\n }\">\n <div class=\"horizontal-timeline__item__icon-wrapper\">\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--before\"\n [ngStyle]=\"{ 'visibility': isFirst ? 'hidden' : 'visible' }\">\n </div>\n <s-timeline-icon-item\n [item]=\"item\"\n [isActive]=\"i === activeIndex\"\n [isComplete]=\"i < activeIndex\">\n </s-timeline-icon-item>\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--after\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"horizontal-timeline__item__info\">\n <div\n class=\"horizontal-timeline__item__info__title\"\n [pTooltip]=\"item.title\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.title }}\n </div>\n <div\n class=\"horizontal-timeline__item__info__description\"\n [pTooltip]=\"item.description\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
18
- styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.horizontal-timeline{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.horizontal-timeline .horizontal-timeline__item{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:56px;-ms-flex-pack:start;justify-content:flex-start;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{background-color:#697882;height:3px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{border-radius:0 2px 2px 0}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after{border-radius:2px 0 0 2px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info{width:20ch}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__description{color:#999;display:-webkit-box;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%;max-height:calc(12px * 1.5 * 4);overflow:hidden;text-align:center;text-overflow:ellipsis;-webkit-line-clamp:4;-webkit-box-orient:vertical}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--small .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 8px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--normal .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 12px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 20px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{background-color:#0c9348}"]
20
+ template: "<div class=\"horizontal-timeline\">\n <ng-container\n *ngFor=\"let item of items;\n let i = index;\n let isFirst = first;\n let isLast = last\">\n <div\n class=\"horizontal-timeline__item\"\n [ngClass]=\"{\n 'horizontal-timeline__item--small': item.testSize('small'),\n 'horizontal-timeline__item--normal': item.testSize('normal'),\n 'horizontal-timeline__item--warning': item.testSeverity('warning'),\n 'horizontal-timeline__item--error': item.testSeverity('error'),\n 'horizontal-timeline__item--completed': i < activeIndex,\n 'horizontal-timeline__item--active': i === activeIndex\n }\">\n <div class=\"horizontal-timeline__item__icon-wrapper\">\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--before\"\n [ngStyle]=\"{ 'visibility': isFirst ? 'hidden' : 'visible' }\">\n </div>\n <s-timeline-icon-item\n [item]=\"item\"\n [isActive]=\"i === activeIndex\"\n [isComplete]=\"i < activeIndex\"\n [highlightActive]=\"highlightActiveItem\">\n </s-timeline-icon-item>\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--after\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"horizontal-timeline__item__info\">\n <div\n class=\"horizontal-timeline__item__info__title\"\n [pTooltip]=\"item.title\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.title }}\n </div>\n <div\n class=\"horizontal-timeline__item__info__description\"\n [pTooltip]=\"item.description\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
21
+ styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.horizontal-timeline{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.horizontal-timeline .horizontal-timeline__item{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:56px;-ms-flex-pack:start;justify-content:flex-start;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{background-color:#697882;height:3px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{border-radius:0 2px 2px 0}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after{border-radius:2px 0 0 2px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info{width:20ch}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__description{color:#999;display:-webkit-box;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%;max-height:calc(12px * 1.5 * 4);overflow:hidden;text-align:center;text-overflow:ellipsis;line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--small .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 8px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--normal .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 12px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active--highlight .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 20px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{background-color:#0c9348}"]
19
22
  })
20
23
  ], HorizontalTimelineComponent);
21
24
  export { HorizontalTimelineComponent };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC10aW1lbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aW1lbGluZS9jb21wb25lbnRzL2hvcml6b250YWwtdGltZWxpbmUvaG9yaXpvbnRhbC10aW1lbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU2pELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBQXhDO1FBS1UsZ0JBQVcsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUFBLENBQUE7QUFKRTtJQURDLEtBQUssRUFBRTswREFDcUI7QUFHN0I7SUFEQyxLQUFLLEVBQUU7Z0VBQ2U7QUFMYiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLHVCQUF1QjtRQUNqQyxtbUVBQW1EOztLQUVyRCxDQUFDO0dBQ1csMkJBQTJCLENBTXZDO1NBTlksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRpbWVsaW5lSXRlbSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGltZWxpbmUtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiBcInMtaG9yaXpvbnRhbC10aW1lbGluZVwiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi9ob3Jpem9udGFsLXRpbWVsaW5lLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcIi4vaG9yaXpvbnRhbC10aW1lbGluZS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbFRpbWVsaW5lQ29tcG9uZW50IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXRlbXM6IFRpbWVsaW5lSXRlbVtdO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjdGl2ZUluZGV4ID0gMDtcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC10aW1lbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aW1lbGluZS9jb21wb25lbnRzL2hvcml6b250YWwtdGltZWxpbmUvaG9yaXpvbnRhbC10aW1lbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU2pELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBQXhDO1FBS1UsZ0JBQVcsR0FBRyxDQUFDLENBQUM7SUFJMUIsQ0FBQztDQUFBLENBQUE7QUFQRTtJQURDLEtBQUssRUFBRTswREFDcUI7QUFHN0I7SUFEQyxLQUFLLEVBQUU7Z0VBQ2U7QUFHdkI7SUFEQyxLQUFLLEVBQUU7d0VBQzRCO0FBUjFCLDJCQUEyQjtJQUx2QyxTQUFTLENBQUM7UUFDUixRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLDZwRUFBbUQ7O0tBRXJELENBQUM7R0FDVywyQkFBMkIsQ0FTdkM7U0FUWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVGltZWxpbmVJdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy90aW1lbGluZS1pdGVtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy1ob3Jpem9udGFsLXRpbWVsaW5lXCIsXG4gICB0ZW1wbGF0ZVVybDogXCIuL2hvcml6b250YWwtdGltZWxpbmUuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi9ob3Jpem9udGFsLXRpbWVsaW5lLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBIb3Jpem9udGFsVGltZWxpbmVDb21wb25lbnQge1xuICAgQElucHV0KClcbiAgIHB1YmxpYyBpdGVtczogVGltZWxpbmVJdGVtW107XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWN0aXZlSW5kZXggPSAwO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGhpZ2hsaWdodEFjdGl2ZUl0ZW06IGJvb2xlYW47XG59XG4iXX0=
@@ -8,15 +8,18 @@ __decorate([
8
8
  __decorate([
9
9
  Input()
10
10
  ], TimelineIconItemComponent.prototype, "isActive", void 0);
11
+ __decorate([
12
+ Input()
13
+ ], TimelineIconItemComponent.prototype, "highlightActive", void 0);
11
14
  __decorate([
12
15
  Input()
13
16
  ], TimelineIconItemComponent.prototype, "isComplete", void 0);
14
17
  TimelineIconItemComponent = __decorate([
15
18
  Component({
16
19
  selector: "s-timeline-icon-item",
17
- template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
18
- styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
20
+ template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive,\n 'timeline__icon-item--active--highlight': isActive && highlightActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
21
+ styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
19
22
  })
20
23
  ], TimelineIconItemComponent);
21
24
  export { TimelineIconItemComponent };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtaWNvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpbWVsaW5lL2NvbXBvbmVudHMvdGltZWxpbmUtaWNvbi1pdGVtL3RpbWVsaW5lLWljb24taXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU2pELElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0NBU3JDLENBQUE7QUFQRTtJQURDLEtBQUssRUFBRTt1REFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7MkRBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFOzZEQUNtQjtBQVJqQix5QkFBeUI7SUFMckMsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyx1bUNBQWtEOztLQUVwRCxDQUFDO0dBQ1cseUJBQXlCLENBU3JDO1NBVFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRpbWVsaW5lSXRlbSB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogXCJzLXRpbWVsaW5lLWljb24taXRlbVwiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi90aW1lbGluZS1pY29uLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi90aW1lbGluZS1pY29uLWl0ZW0uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lSWNvbkl0ZW1Db21wb25lbnQge1xuICAgQElucHV0KClcbiAgIHB1YmxpYyBpdGVtOiBUaW1lbGluZUl0ZW07XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXNBY3RpdmU6IGJvb2xlYW47XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXNDb21wbGV0ZTogYm9vbGVhbjtcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtaWNvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpbWVsaW5lL2NvbXBvbmVudHMvdGltZWxpbmUtaWNvbi1pdGVtL3RpbWVsaW5lLWljb24taXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU2pELElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0NBWXJDLENBQUE7QUFWRTtJQURDLEtBQUssRUFBRTt1REFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7MkRBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFO2tFQUN3QjtBQUdoQztJQURDLEtBQUssRUFBRTs2REFDbUI7QUFYakIseUJBQXlCO0lBTHJDLFNBQVMsQ0FBQztRQUNSLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsd3JDQUFrRDs7S0FFcEQsQ0FBQztHQUNXLHlCQUF5QixDQVlyQztTQVpZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBUaW1lbGluZUl0ZW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy10aW1lbGluZS1pY29uLWl0ZW1cIixcbiAgIHRlbXBsYXRlVXJsOiBcIi4vdGltZWxpbmUtaWNvbi1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcIi4vdGltZWxpbmUtaWNvbi1pdGVtLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUljb25JdGVtQ29tcG9uZW50IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXRlbTogVGltZWxpbmVJdGVtO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGhpZ2hsaWdodEFjdGl2ZTogYm9vbGVhbjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpc0NvbXBsZXRlOiBib29sZWFuO1xufVxuIl19
@@ -11,15 +11,18 @@ __decorate([
11
11
  __decorate([
12
12
  Input()
13
13
  ], VerticalItemsComponent.prototype, "isActive", void 0);
14
+ __decorate([
15
+ Input()
16
+ ], VerticalItemsComponent.prototype, "highlightActive", void 0);
14
17
  __decorate([
15
18
  Input()
16
19
  ], VerticalItemsComponent.prototype, "isCompleted", void 0);
17
20
  VerticalItemsComponent = __decorate([
18
21
  Component({
19
22
  selector: "s-vertical-items",
20
- template: "<div class=\"vertical-items\">\n <ng-container *ngFor=\"let item of items; let index = index;\">\n <div\n class=\"vertical-items__item\"\n [ngClass]=\"{\n 'vertical-items__item--small': item.testSize('small'),\n 'vertical-items__item--normal': item.testSize('normal'),\n 'vertical-items__item--completed': isCompleted,\n 'vertical-items__item--active': isActive\n }\">\n <div class=\"vertical-items__item__icon-wrapper\">\n <s-timeline-icon-item\n [item]=\"item\"\n [isComplete]=\"isCompleted\"\n [isActive]=\"isActive\">\n </s-timeline-icon-item>\n <div\n class=\"vertical-items__item__icon-wrapper__line\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"vertical-items__item__info\">\n <div class=\"vertical-timeline__item__info__title\">\n {{ item.title }}\n </div>\n <div class=\"vertical-items__item__info__description\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
23
+ template: "<div class=\"vertical-items\">\n <ng-container *ngFor=\"let item of items; let index = index;\">\n <div\n class=\"vertical-items__item\"\n [ngClass]=\"{\n 'vertical-items__item--small': item.testSize('small'),\n 'vertical-items__item--normal': item.testSize('normal'),\n 'vertical-items__item--completed': isCompleted,\n 'vertical-items__item--active': isActive\n }\">\n <div class=\"vertical-items__item__icon-wrapper\">\n <s-timeline-icon-item\n [item]=\"item\"\n [isComplete]=\"isCompleted\"\n [isActive]=\"isActive\"\n [highlightActive]=\"highlightActive\">\n </s-timeline-icon-item>\n <div\n class=\"vertical-items__item__icon-wrapper__line\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"vertical-items__item__info\">\n <div class=\"vertical-timeline__item__info__title\">\n {{ item.title }}\n </div>\n <div class=\"vertical-items__item__info__description\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
21
24
  styles: [".vertical-items .vertical-items__item{-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;margin-right:50px}.vertical-items .vertical-items__item .vertical-items__item__collapsed-option{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.vertical-items .vertical-items__item .vertical-items__item__collapsed-option .vertical-items__item__collapsed-option__line{width:3px;height:50px;background-color:#ccc}.vertical-items .vertical-items__item .vertical-items__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-ms-flex-pack:center;justify-content:center;width:56px}.vertical-items .vertical-items__item .vertical-items__item__icon-wrapper .vertical-items__item__icon-wrapper__line{background-color:#697882;border-radius:2px;-ms-flex-positive:1;flex-grow:1;min-height:20px;width:3px}.vertical-items .vertical-items__item .vertical-items__item__info{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;margin-bottom:12px}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__description{color:#999;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__description.vertical-items__item__info__description--link{color:#428bca}.vertical-items .vertical-items__item.vertical-items__item--small .vertical-items__item__icon-wrapper__line{height:calc(100% - 4px - 8px)}.vertical-items .vertical-items__item.vertical-items__item--medium .vertical-items__item__icon-wrapper__line{height:calc(100% - 4px - 12px)}.vertical-items .vertical-items__item.vertical-items__item--big .vertical-items__item__icon-wrapper__line{height:calc(50% - 4px - 20px)}.vertical-items .vertical-items__item.vertical-items__item--completed .vertical-items__item__icon-wrapper .vertical-items__item__icon-wrapper__line{background-color:#0c9348}"]
22
25
  })
23
26
  ], VerticalItemsComponent);
24
27
  export { VerticalItemsComponent };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGltZWxpbmUvY29tcG9uZW50cy92ZXJ0aWNhbC10aW1lbGluZS9jb21wb25lbnRzL3ZlcnRpY2FsLWl0ZW1zL3ZlcnRpY2FsLWl0ZW1zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTakQsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7Q0FZbEMsQ0FBQTtBQVZFO0lBREMsS0FBSyxFQUFFO3FEQUNxQjtBQUc3QjtJQURDLEtBQUssRUFBRTtzREFDZTtBQUd2QjtJQURDLEtBQUssRUFBRTt3REFDaUI7QUFHekI7SUFEQyxLQUFLLEVBQUU7MkRBQ29CO0FBWGxCLHNCQUFzQjtJQUxsQyxTQUFTLENBQUM7UUFDUixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLGt2Q0FBOEM7O0tBRWhELENBQUM7R0FDVyxzQkFBc0IsQ0FZbEM7U0FaWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVGltZWxpbmVJdGVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVscy90aW1lbGluZS1pdGVtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy12ZXJ0aWNhbC1pdGVtc1wiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi92ZXJ0aWNhbC1pdGVtcy5jb21wb25lbnQuaHRtbFwiLFxuICAgc3R5bGVVcmxzOiBbXCIuL3ZlcnRpY2FsLWl0ZW1zLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbEl0ZW1zQ29tcG9uZW50IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXRlbXM6IFRpbWVsaW5lSXRlbVtdO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGlzTGFzdDogYm9vbGVhbjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpc0NvbXBsZXRlZDogYm9vbGVhbjtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGltZWxpbmUvY29tcG9uZW50cy92ZXJ0aWNhbC10aW1lbGluZS9jb21wb25lbnRzL3ZlcnRpY2FsLWl0ZW1zL3ZlcnRpY2FsLWl0ZW1zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTakQsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7Q0FlbEMsQ0FBQTtBQWJFO0lBREMsS0FBSyxFQUFFO3FEQUNxQjtBQUc3QjtJQURDLEtBQUssRUFBRTtzREFDZTtBQUd2QjtJQURDLEtBQUssRUFBRTt3REFDaUI7QUFHekI7SUFEQyxLQUFLLEVBQUU7K0RBQ3dCO0FBR2hDO0lBREMsS0FBSyxFQUFFOzJEQUNvQjtBQWRsQixzQkFBc0I7SUFMbEMsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLGtCQUFrQjtRQUM1Qix3eUNBQThDOztLQUVoRCxDQUFDO0dBQ1csc0JBQXNCLENBZWxDO1NBZlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRpbWVsaW5lSXRlbSB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbHMvdGltZWxpbmUtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiBcInMtdmVydGljYWwtaXRlbXNcIixcbiAgIHRlbXBsYXRlVXJsOiBcIi4vdmVydGljYWwtaXRlbXMuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi92ZXJ0aWNhbC1pdGVtcy5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVmVydGljYWxJdGVtc0NvbXBvbmVudCB7XG4gICBASW5wdXQoKVxuICAgcHVibGljIGl0ZW1zOiBUaW1lbGluZUl0ZW1bXTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpc0xhc3Q6IGJvb2xlYW47XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaXNBY3RpdmU6IGJvb2xlYW47XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgaGlnaGxpZ2h0QWN0aXZlOiBib29sZWFuO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGlzQ29tcGxldGVkOiBib29sZWFuO1xufVxuIl19