@skyux/flyout 7.0.0-beta.1 → 7.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +162 -175
- package/esm2020/lib/modules/flyout/flyout-adapter.service.mjs +19 -11
- package/esm2020/lib/modules/flyout/flyout-instance.mjs +22 -18
- package/esm2020/lib/modules/flyout/flyout-iterator.component.mjs +13 -12
- package/esm2020/lib/modules/flyout/flyout-media-query.service.mjs +11 -12
- package/esm2020/lib/modules/flyout/flyout.component.mjs +267 -249
- package/esm2020/lib/modules/flyout/flyout.service.mjs +110 -115
- package/esm2020/lib/modules/flyout/types/flyout-config-internal.mjs +2 -0
- package/fesm2015/skyux-flyout.mjs +436 -415
- package/fesm2015/skyux-flyout.mjs.map +1 -1
- package/fesm2020/skyux-flyout.mjs +432 -412
- package/fesm2020/skyux-flyout.mjs.map +1 -1
- package/lib/modules/flyout/flyout-adapter.service.d.ts +2 -4
- package/lib/modules/flyout/flyout-instance.d.ts +2 -7
- package/lib/modules/flyout/flyout-iterator.component.d.ts +3 -5
- package/lib/modules/flyout/flyout-media-query.service.d.ts +2 -3
- package/lib/modules/flyout/flyout.component.d.ts +13 -39
- package/lib/modules/flyout/flyout.service.d.ts +4 -17
- package/lib/modules/flyout/types/flyout-config-internal.d.ts +26 -0
- package/package.json +6 -6
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var _SkyFlyoutService_instances, _SkyFlyoutService_host, _SkyFlyoutService_removeAfterClosed, _SkyFlyoutService_isOpening, _SkyFlyoutService_ngUnsubscribe, _SkyFlyoutService_coreAdapter, _SkyFlyoutService_windowRef, _SkyFlyoutService_dynamicComponentService, _SkyFlyoutService_router, _SkyFlyoutService_ngZone, _SkyFlyoutService_createHostComponent, _SkyFlyoutService_removeHostComponent, _SkyFlyoutService_addListeners, _SkyFlyoutService_removeListners;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Injectable, NgZone, } from '@angular/core';
|
|
2
4
|
import { NavigationStart, Router } from '@angular/router';
|
|
3
5
|
import { SkyAppWindowRef, SkyCoreAdapterService, SkyDynamicComponentService, } from '@skyux/core';
|
|
4
6
|
import { Subject, fromEvent } from 'rxjs';
|
|
@@ -14,28 +16,27 @@ import * as i2 from "@angular/router";
|
|
|
14
16
|
* document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.
|
|
15
17
|
*/
|
|
16
18
|
export class SkyFlyoutService {
|
|
17
|
-
constructor(coreAdapter, windowRef, dynamicComponentService, router,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this
|
|
22
|
-
this
|
|
23
|
-
this
|
|
24
|
-
this
|
|
25
|
-
this
|
|
26
|
-
this
|
|
27
|
-
this
|
|
28
|
-
this
|
|
29
|
-
this
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
19
|
+
constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {
|
|
20
|
+
_SkyFlyoutService_instances.add(this);
|
|
21
|
+
_SkyFlyoutService_host.set(this, void 0);
|
|
22
|
+
_SkyFlyoutService_removeAfterClosed.set(this, false);
|
|
23
|
+
_SkyFlyoutService_isOpening.set(this, false);
|
|
24
|
+
_SkyFlyoutService_ngUnsubscribe.set(this, new Subject());
|
|
25
|
+
_SkyFlyoutService_coreAdapter.set(this, void 0);
|
|
26
|
+
_SkyFlyoutService_windowRef.set(this, void 0);
|
|
27
|
+
_SkyFlyoutService_dynamicComponentService.set(this, void 0);
|
|
28
|
+
_SkyFlyoutService_router.set(this, void 0);
|
|
29
|
+
_SkyFlyoutService_ngZone.set(this, void 0);
|
|
30
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_coreAdapter, coreAdapter, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_windowRef, windowRef, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_dynamicComponentService, dynamicComponentService, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_router, router, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_ngZone, ngZone, "f");
|
|
34
35
|
}
|
|
35
36
|
ngOnDestroy() {
|
|
36
|
-
this.
|
|
37
|
-
if (this
|
|
38
|
-
this.
|
|
37
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeListners).call(this);
|
|
38
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
39
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeHostComponent).call(this);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
@@ -43,8 +44,8 @@ export class SkyFlyoutService {
|
|
|
43
44
|
* @param args Arguments used when closing the flyout.
|
|
44
45
|
*/
|
|
45
46
|
close(args) {
|
|
46
|
-
if (this
|
|
47
|
-
this.
|
|
47
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f") && !__classPrivateFieldGet(this, _SkyFlyoutService_isOpening, "f")) {
|
|
48
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_host, "f").instance.messageStream.next({
|
|
48
49
|
type: SkyFlyoutMessageType.Close,
|
|
49
50
|
data: {
|
|
50
51
|
ignoreBeforeClose: args ? args.ignoreBeforeClose : false,
|
|
@@ -59,115 +60,109 @@ export class SkyFlyoutService {
|
|
|
59
60
|
*/
|
|
60
61
|
open(component, config) {
|
|
61
62
|
// isOpening flag will prevent close() from firing when open() is also fired.
|
|
62
|
-
this
|
|
63
|
-
this.
|
|
64
|
-
this
|
|
63
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_isOpening, true, "f");
|
|
64
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_windowRef, "f").nativeWindow.setTimeout(() => {
|
|
65
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_isOpening, false, "f");
|
|
65
66
|
});
|
|
66
|
-
if (!this
|
|
67
|
-
this
|
|
68
|
-
this.
|
|
69
|
-
.pipe(takeWhile(() => this
|
|
67
|
+
if (!__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
68
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_host, __classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_createHostComponent).call(this), "f");
|
|
69
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_router, "f").events
|
|
70
|
+
.pipe(takeWhile(() => __classPrivateFieldGet(this, _SkyFlyoutService_host, "f") !== undefined))
|
|
70
71
|
.subscribe((event) => {
|
|
71
72
|
if (event instanceof NavigationStart) {
|
|
72
73
|
this.close();
|
|
73
74
|
// Sanity check - if the host still exists after animations should have completed - remove host
|
|
74
|
-
this.
|
|
75
|
-
if (this
|
|
76
|
-
this.
|
|
75
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_ngZone, "f").onStable.pipe(take(1)).subscribe(() => {
|
|
76
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
77
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeHostComponent).call(this);
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
|
-
const flyout = this.
|
|
83
|
-
this.
|
|
83
|
+
const flyout = __classPrivateFieldGet(this, _SkyFlyoutService_host, "f").instance.attach(component, config);
|
|
84
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_addListeners).call(this, flyout);
|
|
84
85
|
return flyout;
|
|
85
86
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this.host = undefined;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
addListeners(flyout) {
|
|
98
|
-
/* istanbul ignore else */
|
|
99
|
-
if (this.host) {
|
|
100
|
-
const flyoutInstance = this.host.instance;
|
|
101
|
-
let doClose = false;
|
|
102
|
-
/**
|
|
103
|
-
* Handles when to close a flyout.
|
|
104
|
-
* Note: We're using `mouseup` in order to capture the parent of certain targets that will be
|
|
105
|
-
* deleted immediately after being clicked. If we use `click`, the event is fired after the
|
|
106
|
-
* element is removed from the DOM making it impossible to check the parent's z-index
|
|
107
|
-
* relative to the flyout's container.
|
|
108
|
-
*/
|
|
109
|
-
fromEvent(document, 'mouseup')
|
|
110
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
111
|
-
.subscribe((event) => {
|
|
112
|
-
doClose = false;
|
|
113
|
-
if (this.host.instance.isDragging) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
if (flyoutInstance.flyoutRef.nativeElement.contains(event.target)) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const isAbove = event.target === document
|
|
120
|
-
? false
|
|
121
|
-
: this.coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef.nativeElement);
|
|
122
|
-
/* istanbul ignore else */
|
|
123
|
-
if (!isAbove) {
|
|
124
|
-
doClose = true;
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
/**
|
|
128
|
-
* Check if we should close the flyout specifically on a `click` event so that we can keep
|
|
129
|
-
* it open when consumers fire another `click` event on a trigger button. Since the consumer
|
|
130
|
-
* will likely use a `click` event to open the flyout, we want to wait for that event to fire
|
|
131
|
-
* before determining if the flyout should be closed.
|
|
132
|
-
*/
|
|
133
|
-
fromEvent(document, 'click')
|
|
134
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
135
|
-
.subscribe(() => {
|
|
136
|
-
if (doClose) {
|
|
137
|
-
this.close();
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
this.removeAfterClosed = false;
|
|
141
|
-
flyoutInstance.messageStream
|
|
142
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
143
|
-
.subscribe((message) => {
|
|
144
|
-
if (message.type === SkyFlyoutMessageType.Close) {
|
|
145
|
-
this.removeAfterClosed = true;
|
|
146
|
-
this.isOpening = false;
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
flyout.closed.pipe(take(1)).subscribe(() => {
|
|
150
|
-
this.removeListners();
|
|
151
|
-
if (this.removeAfterClosed) {
|
|
152
|
-
this.removeHostComponent();
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
87
|
+
}
|
|
88
|
+
_SkyFlyoutService_host = new WeakMap(), _SkyFlyoutService_removeAfterClosed = new WeakMap(), _SkyFlyoutService_isOpening = new WeakMap(), _SkyFlyoutService_ngUnsubscribe = new WeakMap(), _SkyFlyoutService_coreAdapter = new WeakMap(), _SkyFlyoutService_windowRef = new WeakMap(), _SkyFlyoutService_dynamicComponentService = new WeakMap(), _SkyFlyoutService_router = new WeakMap(), _SkyFlyoutService_ngZone = new WeakMap(), _SkyFlyoutService_instances = new WeakSet(), _SkyFlyoutService_createHostComponent = function _SkyFlyoutService_createHostComponent() {
|
|
89
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_host, __classPrivateFieldGet(this, _SkyFlyoutService_dynamicComponentService, "f").createComponent(SkyFlyoutComponent), "f");
|
|
90
|
+
return __classPrivateFieldGet(this, _SkyFlyoutService_host, "f");
|
|
91
|
+
}, _SkyFlyoutService_removeHostComponent = function _SkyFlyoutService_removeHostComponent() {
|
|
92
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
93
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_dynamicComponentService, "f").removeComponent(__classPrivateFieldGet(this, _SkyFlyoutService_host, "f"));
|
|
94
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_host, undefined, "f");
|
|
156
95
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
96
|
+
}, _SkyFlyoutService_addListeners = function _SkyFlyoutService_addListeners(flyout) {
|
|
97
|
+
/* istanbul ignore else */
|
|
98
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
99
|
+
const flyoutInstance = __classPrivateFieldGet(this, _SkyFlyoutService_host, "f").instance;
|
|
100
|
+
let doClose = false;
|
|
101
|
+
/**
|
|
102
|
+
* Handles when to close a flyout.
|
|
103
|
+
* Note: We're using `mouseup` in order to capture the parent of certain targets that will be
|
|
104
|
+
* deleted immediately after being clicked. If we use `click`, the event is fired after the
|
|
105
|
+
* element is removed from the DOM making it impossible to check the parent's z-index
|
|
106
|
+
* relative to the flyout's container.
|
|
107
|
+
*/
|
|
108
|
+
fromEvent(document, 'mouseup')
|
|
109
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f")))
|
|
110
|
+
.subscribe((event) => {
|
|
111
|
+
doClose = false;
|
|
112
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")?.instance.isDragging) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const isAbove = event.target === document || !event.target
|
|
119
|
+
? false
|
|
120
|
+
: __classPrivateFieldGet(this, _SkyFlyoutService_coreAdapter, "f").isTargetAboveElement(event.target, flyoutInstance.flyoutRef?.nativeElement);
|
|
121
|
+
/* istanbul ignore else */
|
|
122
|
+
if (!isAbove) {
|
|
123
|
+
doClose = true;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
/**
|
|
127
|
+
* Check if we should close the flyout specifically on a `click` event so that we can keep
|
|
128
|
+
* it open when consumers fire another `click` event on a trigger button. Since the consumer
|
|
129
|
+
* will likely use a `click` event to open the flyout, we want to wait for that event to fire
|
|
130
|
+
* before determining if the flyout should be closed.
|
|
131
|
+
*/
|
|
132
|
+
fromEvent(document, 'click')
|
|
133
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f")))
|
|
134
|
+
.subscribe(() => {
|
|
135
|
+
if (doClose) {
|
|
136
|
+
this.close();
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_removeAfterClosed, false, "f");
|
|
140
|
+
flyoutInstance.messageStream
|
|
141
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f")))
|
|
142
|
+
.subscribe((message) => {
|
|
143
|
+
if (message.type === SkyFlyoutMessageType.Close) {
|
|
144
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_removeAfterClosed, true, "f");
|
|
145
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_isOpening, false, "f");
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
flyout.closed.pipe(take(1)).subscribe(() => {
|
|
149
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeListners).call(this);
|
|
150
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutService_removeAfterClosed, "f")) {
|
|
151
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeHostComponent).call(this);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
161
154
|
}
|
|
162
|
-
}
|
|
163
|
-
|
|
155
|
+
}, _SkyFlyoutService_removeListners = function _SkyFlyoutService_removeListners() {
|
|
156
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f").next(true);
|
|
157
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f").unsubscribe();
|
|
158
|
+
__classPrivateFieldSet(this, _SkyFlyoutService_ngUnsubscribe, new Subject(), "f");
|
|
159
|
+
};
|
|
160
|
+
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
164
161
|
SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
|
|
165
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, decorators: [{
|
|
166
163
|
type: Injectable,
|
|
167
164
|
args: [{
|
|
168
165
|
providedIn: 'any',
|
|
169
166
|
}]
|
|
170
|
-
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }
|
|
171
|
-
type: Optional
|
|
172
|
-
}] }]; } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxVQUFVLEVBQ1YsTUFBTSxFQUVOLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLDBCQUEwQixHQUMzQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVuRTs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUNVLFdBQWtDLEVBQ2xDLFNBQTBCLEVBQzFCLHVCQUFtRCxFQUNuRCxNQUFjLEVBQ0wsT0FBZTtJQUNoQyx3RkFBd0Y7SUFDeEYsd0dBQXdHO0lBQzNFLGVBQWdDO1FBUHJELGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTRCO1FBQ25ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBR0gsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWnZELHNCQUFpQixHQUFHLEtB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QUM7WUFFTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLGNBQWMsQ0FBQyxhQUFhO2lCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDbkMsU0FBUyxDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsS0FBSyxFQUFFO29CQUMvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO29CQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDeEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVMLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2lCQUM1QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUM5QyxDQUFDOzs2R0FoTFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixLQUFLOzJGQUVOLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQWVJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU2t5QXBwV2luZG93UmVmLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUZseW91dEluc3RhbmNlIH0gZnJvbSAnLi9mbHlvdXQtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9mbHlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZseW91dENsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBob3N0OiBDb21wb25lbnRSZWY8U2t5Rmx5b3V0Q29tcG9uZW50PjtcbiAgcHJpdmF0ZSByZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzT3BlbmluZyA9IGZhbHNlO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmdab25lOiBOZ1pvbmUsXG4gICAgLy8gTk9URTogVGhpcyB1c2VkIHRvIGJlIHVzZWQgZm9yIGFuIGBhcHBsaWNhdGlvblJlZi50aWNrYCB3aGljaCBoYXMgc2luY2UgYmVlbiByZW1vdmVkLlxuICAgIC8vIFdlIGNhbiBub3QgcmVtb3ZlIHRoaXMgZHVlIHRvIGl0IGJlaW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciB0aG9zZSBtYW51YWxseSBjb25zdHJ1Y3RpbmcgdGhlIHNlcnZpY2UuXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfYXBwbGljYXRpb25SZWY/OiBBcHBsaWNhdGlvblJlZlxuICApIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZiovXG4gICAgLyplc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHkqL1xuICAgIGlmICh0aGlzLl9hcHBsaWNhdGlvblJlZikge1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUxpc3RuZXJzKCk7XG4gICAgaWYgKHRoaXMuaG9zdCkge1xuICAgICAgdGhpcy5yZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZmx5b3V0LiBUaGlzIG1ldGhvZCBhbHNvIHJlbW92ZXMgdGhlIGZseW91dCdzIEhUTUwgZWxlbWVudHMgZnJvbSB0aGUgRE9NLlxuICAgKiBAcGFyYW0gYXJncyBBcmd1bWVudHMgdXNlZCB3aGVuIGNsb3NpbmcgdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShhcmdzPzogU2t5Rmx5b3V0Q2xvc2VBcmdzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9zdCAmJiAhdGhpcy5pc09wZW5pbmcpIHtcbiAgICAgIHRoaXMuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWdcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIC8vIGlzT3BlbmluZyBmbGFnIHdpbGwgcHJldmVudCBjbG9zZSgpIGZyb20gZmlyaW5nIHdoZW4gb3BlbigpIGlzIGFsc28gZmlyZWQuXG4gICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMuaG9zdCkge1xuICAgICAgdGhpcy5ob3N0ID0gdGhpcy5jcmVhdGVIb3N0Q29tcG9uZW50KCk7XG5cbiAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZseW91dCA9IHRoaXMuaG9zdC5pbnN0YW5jZS5hdHRhY2goY29tcG9uZW50LCBjb25maWcpO1xuXG4gICAgdGhpcy5hZGRMaXN0ZW5lcnMoZmx5b3V0KTtcblxuICAgIHJldHVybiBmbHlvdXQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIHRoaXMuaG9zdCA9XG4gICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChTa3lGbHlvdXRDb21wb25lbnQpO1xuICAgIHJldHVybiB0aGlzLmhvc3Q7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9zdCkge1xuICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5yZW1vdmVDb21wb25lbnQodGhpcy5ob3N0KTtcbiAgICAgIHRoaXMuaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IHRoaXMuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5ob3N0Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPVxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSBkb2N1bWVudFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy5jb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICAgIGZseW91dEluc3RhbmNlLmZseW91dFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKGRvQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICAgICBmbHlvdXRJbnN0YW5jZS5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQWZ0ZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBmbHlvdXQuY2xvc2VkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0bmVycygpO1xuICAgICAgICBpZiAodGhpcy5yZW1vdmVBZnRlckNsb3NlZCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cbiJdfQ==
|
|
167
|
+
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }]; } });
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsVUFBVSxFQUNWLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLDBCQUEwQixHQUMzQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVuRTs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQixZQUNFLFdBQWtDLEVBQ2xDLFNBQTBCLEVBQzFCLHVCQUFtRCxFQUNuRCxNQUFjLEVBQ2QsTUFBYzs7UUFoQmhCLHlDQUFvRDtRQUNwRCw4Q0FBcUIsS0FBSyxFQUFDO1FBQzNCLHNDQUFhLEtBQUssRUFBQztRQUNuQiwwQ0FBaUIsSUFBSSxPQUFPLEVBQVcsRUFBQztRQUV4QyxnREFBb0M7UUFDcEMsOENBQTRCO1FBQzVCLDREQUFxRDtRQUNyRCwyQ0FBZ0I7UUFDaEIsMkNBQWdCO1FBU2QsdUJBQUEsSUFBSSxpQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSwrQkFBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1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bnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gICNyZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAjaXNPcGVuaW5nID0gZmFsc2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSA9IGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlTGlzdG5lcnMoKTtcbiAgICBpZiAodGhpcy4jaG9zdCkge1xuICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dC4gVGhpcyBtZXRob2QgYWxzbyByZW1vdmVzIHRoZSBmbHlvdXQncyBIVE1MIGVsZW1lbnRzIGZyb20gdGhlIERPTS5cbiAgICogQHBhcmFtIGFyZ3MgQXJndW1lbnRzIHVzZWQgd2hlbiBjbG9zaW5nIHRoZSBmbHlvdXQuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoYXJncz86IFNreUZseW91dENsb3NlQXJncyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIHRoaXMuI2hvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZseW91dCBhbmQgZGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0gY29uZmlnIFNwZWNpZmllcyB0aGUgZmx5b3V0IGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwdWJsaWMgb3BlbjxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLiNob3N0KSB7XG4gICAgICB0aGlzLiNob3N0ID0gdGhpcy4jY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuXG4gICAgICB0aGlzLiNyb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLiNob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuI2hvc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNyZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmx5b3V0ID0gdGhpcy4jaG9zdC5pbnN0YW5jZS5hdHRhY2goY29tcG9uZW50LCBjb25maWcpO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIHRoaXMuI2hvc3QgPVxuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFNreUZseW91dENvbXBvbmVudCk7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3Q7XG4gIH1cblxuICAjcmVtb3ZlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuI2hvc3QpO1xuICAgICAgdGhpcy4jaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAjYWRkTGlzdGVuZXJzPFQ+KGZseW91dDogU2t5Rmx5b3V0SW5zdGFuY2U8VD4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IHRoaXMuI2hvc3QuaW5zdGFuY2U7XG5cbiAgICAgIGxldCBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgIC8qKlxuICAgICAgICogSGFuZGxlcyB3aGVuIHRvIGNsb3NlIGEgZmx5b3V0LlxuICAgICAgICogTm90ZTogV2UncmUgdXNpbmcgYG1vdXNldXBgIGluIG9yZGVyIHRvIGNhcHR1cmUgdGhlIHBhcmVudCBvZiBjZXJ0YWluIHRhcmdldHMgdGhhdCB3aWxsIGJlXG4gICAgICAgKiBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIGJlaW5nIGNsaWNrZWQuIElmIHdlIHVzZSBgY2xpY2tgLCB0aGUgZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlXG4gICAgICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGNoZWNrIHRoZSBwYXJlbnQncyB6LWluZGV4XG4gICAgICAgKiByZWxhdGl2ZSB0byB0aGUgZmx5b3V0J3MgY29udGFpbmVyLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy4jaG9zdD8uaW5zdGFuY2UuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPVxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSBkb2N1bWVudCB8fCAhZXZlbnQudGFyZ2V0XG4gICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgOiB0aGlzLiNjb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICAgIGZseW91dEluc3RhbmNlLmZseW91dFJlZj8ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNBYm92ZSkge1xuICAgICAgICAgICAgZG9DbG9zZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLyoqXG4gICAgICAgKiBDaGVjayBpZiB3ZSBzaG91bGQgY2xvc2UgdGhlIGZseW91dCBzcGVjaWZpY2FsbHkgb24gYSBgY2xpY2tgIGV2ZW50IHNvIHRoYXQgd2UgY2FuIGtlZXBcbiAgICAgICAqIGl0IG9wZW4gd2hlbiBjb25zdW1lcnMgZmlyZSBhbm90aGVyIGBjbGlja2AgZXZlbnQgb24gYSB0cmlnZ2VyIGJ1dHRvbi4gU2luY2UgdGhlIGNvbnN1bWVyXG4gICAgICAgKiB3aWxsIGxpa2VseSB1c2UgYSBgY2xpY2tgIGV2ZW50IHRvIG9wZW4gdGhlIGZseW91dCwgd2Ugd2FudCB0byB3YWl0IGZvciB0aGF0IGV2ZW50IHRvIGZpcmVcbiAgICAgICAqIGJlZm9yZSBkZXRlcm1pbmluZyBpZiB0aGUgZmx5b3V0IHNob3VsZCBiZSBjbG9zZWQuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoZG9DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICAgICBmbHlvdXRJbnN0YW5jZS5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLiNyZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLiNpc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBmbHlvdXQuY2xvc2VkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jcmVtb3ZlTGlzdG5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdG5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy1pbnRlcm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnLWludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL2ZseW91dC1jb25maWcnO1xuXG4vKipcbiAqIFR5cGUgdG8gcmVwcmVzZW50IHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBhZnRlciBkZWZhdWx0IHZhbHVlcyBoYXZlIGJlZW4gYXBwbGllZC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUZseW91dENvbmZpZ0ludGVybmFsIGV4dGVuZHMgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGVmYXVsdCB3aWR0aCBvZiB0aGUgZmx5b3V0IGNvbnRhaW5lci4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGEgd2lkdGgsXG4gICAqIHRoZSBmbHlvdXQgZGVmYXVsdHMgdG8gaGFsZiB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci5cbiAgICovXG4gIGRlZmF1bHRXaWR0aDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gcmVzaXplIHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAzMjBcbiAgICovXG4gIG1pbldpZHRoOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRXaWR0aFxuICAgKi9cbiAgbWF4V2lkdGg6IG51bWJlcjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGN1c3RvbSBwcm92aWRlcnMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwcm92aWRlcnM6IGFueVtdO1xufVxuIl19
|