@skyux/flyout 5.0.4 → 5.1.0

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.
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, } from '@angular/core';
2
2
  import { NavigationStart } from '@angular/router';
3
3
  import { fromEvent, Subject } from 'rxjs';
4
4
  import { take, takeUntil, takeWhile } from 'rxjs/operators';
@@ -13,11 +13,13 @@ import * as i2 from "@angular/router";
13
13
  * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.
14
14
  */
15
15
  export class SkyFlyoutService {
16
- constructor(coreAdapter, windowRef, dynamicComponentService, router) {
16
+ constructor(coreAdapter, windowRef, dynamicComponentService, router, _ngZone, applicationRef) {
17
17
  this.coreAdapter = coreAdapter;
18
18
  this.windowRef = windowRef;
19
19
  this.dynamicComponentService = dynamicComponentService;
20
20
  this.router = router;
21
+ this._ngZone = _ngZone;
22
+ this.applicationRef = applicationRef;
21
23
  this.removeAfterClosed = false;
22
24
  this.isOpening = false;
23
25
  this.ngUnsubscribe = new Subject();
@@ -30,12 +32,16 @@ export class SkyFlyoutService {
30
32
  }
31
33
  /**
32
34
  * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.
35
+ * @param args Arguments used when closing the flyout.
33
36
  */
34
- close() {
37
+ close(args) {
35
38
  if (this.host && !this.isOpening) {
36
39
  this.removeAfterClosed = true;
37
40
  this.host.instance.messageStream.next({
38
41
  type: SkyFlyoutMessageType.Close,
42
+ data: {
43
+ ignoreBeforeClose: args ? args.ignoreBeforeClose : false,
44
+ },
39
45
  });
40
46
  }
41
47
  }
@@ -57,6 +63,14 @@ export class SkyFlyoutService {
57
63
  .subscribe((event) => {
58
64
  if (event instanceof NavigationStart) {
59
65
  this.close();
66
+ // Sanity check - if the host still exists after animations should have completed - remove host
67
+ this._ngZone.onStable.pipe(take(1)).subscribe(() => {
68
+ if (this.host) {
69
+ this.removeHostComponent();
70
+ // Without this tick - the host does not actually get removed on initial navigation in this case.
71
+ this.applicationRef.tick();
72
+ }
73
+ });
60
74
  }
61
75
  });
62
76
  }
@@ -120,7 +134,7 @@ export class SkyFlyoutService {
120
134
  });
121
135
  this.removeAfterClosed = false;
122
136
  flyoutInstance.messageStream
123
- .pipe(take(1))
137
+ .pipe(takeUntil(this.ngUnsubscribe))
124
138
  .subscribe((message) => {
125
139
  if (message.type === SkyFlyoutMessageType.Close) {
126
140
  this.removeAfterClosed = true;
@@ -141,12 +155,12 @@ export class SkyFlyoutService {
141
155
  this.ngUnsubscribe = new Subject();
142
156
  }
143
157
  }
144
- SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
158
+ SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
145
159
  SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
146
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, decorators: [{
147
161
  type: Injectable,
148
162
  args: [{
149
163
  providedIn: 'any',
150
164
  }]
151
- }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }]; } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFReEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBbUQsRUFDbkQsTUFBYztRQUhkLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTRCO1FBQ25ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFSaEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBTzVDLENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFD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LENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDOUMsQ0FBQzs7OEdBN0pVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRJbnN0YW5jZSB9IGZyb20gJy4vZmx5b3V0LWluc3RhbmNlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogTGF1bmNoZXMgZmx5b3V0cyBhbmQgcHJvdmlkZXMgYSBjb21tb24gbG9vayBhbmQgZmVlbC5cbiAqIFRoaXMgc2VydmljZSBkeW5hbWljYWxseSBnZW5lcmF0ZXMgdGhlIGZseW91dCBjb21wb25lbnQgYW5kIGFwcGVuZHMgaXQgZGlyZWN0bHkgdG8gdGhlXG4gKiBkb2N1bWVudCdzIGBib2R5YCBlbGVtZW50LiBUaGUgYFNreUZseW91dEluc3RhbmNlYCBjbGFzcyB3YXRjaGVzIGZvciBhbmQgdHJpZ2dlcnMgZmx5b3V0IGV2ZW50cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD47XG4gIHByaXZhdGUgcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc09wZW5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZixcbiAgICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMaXN0bmVycygpO1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dC4gVGhpcyBtZXRob2QgYWxzbyByZW1vdmVzIHRoZSBmbHlvdXQncyBIVE1MIGVsZW1lbnRzIGZyb20gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0ICYmICF0aGlzLmlzT3BlbmluZykge1xuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICB0aGlzLmhvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBmbHlvdXQgYW5kIGRpc3BsYXlzIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gY29tcG9uZW50IFNwZWNpZmllcyB0aGUgY29tcG9uZW50IHRvIHJlbmRlci5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgdGhlIGZseW91dCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yLlxuICAgKi9cbiAgcHVibGljIG9wZW48VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZ1xuICApOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgLy8gaXNPcGVuaW5nIGZsYWcgd2lsbCBwcmV2ZW50IGNsb3NlKCkgZnJvbSBmaXJpbmcgd2hlbiBvcGVuKCkgaXMgYWxzbyBmaXJlZC5cbiAgICB0aGlzLmlzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLmhvc3QgPSB0aGlzLmNyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLmhvc3QgIT09IHVuZGVmaW5lZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSB0aGlzLmhvc3QuaW5zdGFuY2UuYXR0YWNoKGNvbXBvbmVudCwgY29uZmlnKTtcblxuICAgIHRoaXMuYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIb3N0Q29tcG9uZW50KCk6IENvbXBvbmVudFJlZjxTa3lGbHlvdXRDb21wb25lbnQ+IHtcbiAgICB0aGlzLmhvc3QgPVxuICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gdGhpcy5ob3N0O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVIb3N0Q29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuaG9zdCk7XG4gICAgICB0aGlzLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRMaXN0ZW5lcnM8VD4oZmx5b3V0OiBTa3lGbHlvdXRJbnN0YW5jZTxUPik6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaG9zdCkge1xuICAgICAgY29uc3QgZmx5b3V0SW5zdGFuY2UgPSB0aGlzLmhvc3QuaW5zdGFuY2U7XG5cbiAgICAgIGxldCBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgIC8qKlxuICAgICAgICogSGFuZGxlcyB3aGVuIHRvIGNsb3NlIGEgZmx5b3V0LlxuICAgICAgICogTm90ZTogV2UncmUgdXNpbmcgYG1vdXNldXBgIGluIG9yZGVyIHRvIGNhcHR1cmUgdGhlIHBhcmVudCBvZiBjZXJ0YWluIHRhcmdldHMgdGhhdCB3aWxsIGJlXG4gICAgICAgKiBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIGJlaW5nIGNsaWNrZWQuIElmIHdlIHVzZSBgY2xpY2tgLCB0aGUgZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlXG4gICAgICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGNoZWNrIHRoZSBwYXJlbnQncyB6LWluZGV4XG4gICAgICAgKiByZWxhdGl2ZSB0byB0aGUgZmx5b3V0J3MgY29udGFpbmVyLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuaG9zdC5pbnN0YW5jZS5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZseW91dEluc3RhbmNlLmZseW91dFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnRcbiAgICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgICA6IHRoaXMuY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNBYm92ZSkge1xuICAgICAgICAgICAgZG9DbG9zZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLyoqXG4gICAgICAgKiBDaGVjayBpZiB3ZSBzaG91bGQgY2xvc2UgdGhlIGZseW91dCBzcGVjaWZpY2FsbHkgb24gYSBgY2xpY2tgIGV2ZW50IHNvIHRoYXQgd2UgY2FuIGtlZXBcbiAgICAgICAqIGl0IG9wZW4gd2hlbiBjb25zdW1lcnMgZmlyZSBhbm90aGVyIGBjbGlja2AgZXZlbnQgb24gYSB0cmlnZ2VyIGJ1dHRvbi4gU2luY2UgdGhlIGNvbnN1bWVyXG4gICAgICAgKiB3aWxsIGxpa2VseSB1c2UgYSBgY2xpY2tgIGV2ZW50IHRvIG9wZW4gdGhlIGZseW91dCwgd2Ugd2FudCB0byB3YWl0IGZvciB0aGF0IGV2ZW50IHRvIGZpcmVcbiAgICAgICAqIGJlZm9yZSBkZXRlcm1pbmluZyBpZiB0aGUgZmx5b3V0IHNob3VsZCBiZSBjbG9zZWQuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAgICAgZmx5b3V0SW5zdGFuY2UubWVzc2FnZVN0cmVhbVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQWZ0ZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBmbHlvdXQuY2xvc2VkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0bmVycygpO1xuICAgICAgICBpZiAodGhpcy5yZW1vdmVBZnRlckNsb3NlZCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cbiJdfQ==
165
+ }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }, { type: i0.ApplicationRef }]; } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxVQUFVLEdBSVgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBUTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBR25FOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ1UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDTCxPQUFlLEVBQ2YsY0FBOEI7UUFMdkMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBNEI7UUFDbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNMLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFWekMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBUzVDLENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7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QVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLEtBQUssRUFBRTtvQkFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7aUJBQ3hCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUMxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDOUMsQ0FBQzs7OEdBNUtVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreUZseW91dEluc3RhbmNlIH0gZnJvbSAnLi9mbHlvdXQtaW5zdGFuY2UnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5cbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreUZseW91dENsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGhvc3Q6IENvbXBvbmVudFJlZjxTa3lGbHlvdXRDb21wb25lbnQ+O1xuICBwcml2YXRlIHJlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNPcGVuaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlTGlzdG5lcnMoKTtcbiAgICBpZiAodGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLnJlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0ICYmICF0aGlzLmlzT3BlbmluZykge1xuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICB0aGlzLmhvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZseW91dCBhbmQgZGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0gY29uZmlnIFNwZWNpZmllcyB0aGUgZmx5b3V0IGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwdWJsaWMgb3BlbjxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMuaG9zdCA9IHRoaXMuY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuaG9zdCAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcblxuICAgICAgICAgICAgLy8gU2FuaXR5IGNoZWNrIC0gaWYgdGhlIGhvc3Qgc3RpbGwgZXhpc3RzIGFmdGVyIGFuaW1hdGlvbnMgc2hvdWxkIGhhdmUgY29tcGxldGVkIC0gcmVtb3ZlIGhvc3RcbiAgICAgICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgICAvLyBXaXRob3V0IHRoaXMgdGljayAtIHRoZSBob3N0IGRvZXMgbm90IGFjdHVhbGx5IGdldCByZW1vdmVkIG9uIGluaXRpYWwgbmF2aWdhdGlvbiBpbiB0aGlzIGNhc2UuXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmx5b3V0ID0gdGhpcy5ob3N0Lmluc3RhbmNlLmF0dGFjaChjb21wb25lbnQsIGNvbmZpZyk7XG5cbiAgICB0aGlzLmFkZExpc3RlbmVycyhmbHlvdXQpO1xuXG4gICAgcmV0dXJuIGZseW91dDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSG9zdENvbXBvbmVudCgpOiBDb21wb25lbnRSZWY8U2t5Rmx5b3V0Q29tcG9uZW50PiB7XG4gICAgdGhpcy5ob3N0ID1cbiAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFNreUZseW91dENvbXBvbmVudCk7XG4gICAgcmV0dXJuIHRoaXMuaG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmhvc3QpO1xuICAgICAgdGhpcy5ob3N0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkTGlzdGVuZXJzPFQ+KGZseW91dDogU2t5Rmx5b3V0SW5zdGFuY2U8VD4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIGNvbnN0IGZseW91dEluc3RhbmNlID0gdGhpcy5ob3N0Lmluc3RhbmNlO1xuXG4gICAgICBsZXQgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgd2hlbiB0byBjbG9zZSBhIGZseW91dC5cbiAgICAgICAqIE5vdGU6IFdlJ3JlIHVzaW5nIGBtb3VzZXVwYCBpbiBvcmRlciB0byBjYXB0dXJlIHRoZSBwYXJlbnQgb2YgY2VydGFpbiB0YXJnZXRzIHRoYXQgd2lsbCBiZVxuICAgICAgICogZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBiZWluZyBjbGlja2VkLiBJZiB3ZSB1c2UgYGNsaWNrYCwgdGhlIGV2ZW50IGlzIGZpcmVkIGFmdGVyIHRoZVxuICAgICAgICogZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBjaGVjayB0aGUgcGFyZW50J3Mgei1pbmRleFxuICAgICAgICogcmVsYXRpdmUgdG8gdGhlIGZseW91dCdzIGNvbnRhaW5lci5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmICh0aGlzLmhvc3QuaW5zdGFuY2UuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaXNBYm92ZSA9XG4gICAgICAgICAgICBldmVudC50YXJnZXQgPT09IGRvY3VtZW50XG4gICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgOiB0aGlzLmNvcmVBZGFwdGVyLmlzVGFyZ2V0QWJvdmVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIWlzQWJvdmUpIHtcbiAgICAgICAgICAgIGRvQ2xvc2UgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8qKlxuICAgICAgICogQ2hlY2sgaWYgd2Ugc2hvdWxkIGNsb3NlIHRoZSBmbHlvdXQgc3BlY2lmaWNhbGx5IG9uIGEgYGNsaWNrYCBldmVudCBzbyB0aGF0IHdlIGNhbiBrZWVwXG4gICAgICAgKiBpdCBvcGVuIHdoZW4gY29uc3VtZXJzIGZpcmUgYW5vdGhlciBgY2xpY2tgIGV2ZW50IG9uIGEgdHJpZ2dlciBidXR0b24uIFNpbmNlIHRoZSBjb25zdW1lclxuICAgICAgICogd2lsbCBsaWtlbHkgdXNlIGEgYGNsaWNrYCBldmVudCB0byBvcGVuIHRoZSBmbHlvdXQsIHdlIHdhbnQgdG8gd2FpdCBmb3IgdGhhdCBldmVudCB0byBmaXJlXG4gICAgICAgKiBiZWZvcmUgZGV0ZXJtaW5pbmcgaWYgdGhlIGZseW91dCBzaG91bGQgYmUgY2xvc2VkLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoZG9DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUxpc3RuZXJzKCk7XG4gICAgICAgIGlmICh0aGlzLnJlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdG5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.
3
+ */
4
+ export class SkyFlyoutBeforeCloseHandler {
5
+ constructor(closeFlyoutFunction) {
6
+ this.closeFlyout = closeFlyoutFunction;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmx5b3V0L3NyYy9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQVksbUJBQTZCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIYW5kbGVyIGZvciBub3RpZnlpbmcgdGhlIGZseW91dCB3aGVuIGl0IGlzIGFwcHJvcHJpYXRlIHRvIGNsb3NlIHRoZSBmbHlvdXQuIFRoaXMgd2lsbCBiZSByZXR1cm5lZCBmcm9tIHRoZSBmbHlvdXQgaW5zdGFuY2UncyBgYmVmb3JlQ2xvc2VgIG9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIge1xuICAvKipcbiAgICogRnVuY3Rpb24gd2hpY2ggc2hvdWxkIGJlIGNhbGxlZCB0byBjbG9zZSB0aGUgZmx5b3V0LiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgb25jZSBhbnkgaW50ZXJ2ZW5pbmcgYWN0aW9ucyBoYXZlIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjbG9zZUZseW91dDogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoY2xvc2VGbHlvdXRGdW5jdGlvbjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLmNsb3NlRmx5b3V0ID0gY2xvc2VGbHlvdXRGdW5jdGlvbjtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNsb3NlLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1jbG9zZS1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyBhIGZseW91dCBwcm9ncmFtYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q2xvc2VBcmdzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcmAgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBjbG9zaW5nIGEgZmx5b3V0LlxuICAgKi9cbiAgaWdub3JlQmVmb3JlQ2xvc2U/OiBib29sZWFuO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi9mbHlvdXQtYWN0aW9uJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UGVybWFsaW5rIH0gZnJvbSAnLi9mbHlvdXQtcGVybWFsaW5rJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBzZXQgdXAgYSBmbHlvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXNcbiAgICogdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXQncyBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFRoZSBkZXNjcmlwdGlvbiB0eXBpY2FsbHkgaW5jbHVkZXMgdGV4dCBvbiB0aGUgZmx5b3V0IGJ1dCBub3Qgb24gaXRlbXMgdGhhdCB1c2Vyc1xuICAgKiBpbnRlcmFjdCB3aXRoLCBzdWNoIGFzIGJ1dHRvbnMgYW5kIGZvcm1zLlxuICAgKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIEhUTUwgZWxlbWVudCBJRCAod2l0aG91dCB0aGUgbGVhZGluZyBgI2ApIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzXG4gICAqIHRoZSBmbHlvdXQuIFRoaXMgc2V0cyB0aGUgZmx5b3V0J3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgcm9sZSBmb3IgdGhlIGZseW91dFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpXG4gICAqIGJ5IGluZGljYXRpbmcgaG93IHRoZSBmbHlvdXQgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAqIGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSxcbiAgICogc2VlIHRoZSBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS9yb2xlcykuXG4gICAqL1xuICBhcmlhUm9sZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLiBJZiB5b3UgZG8gbm90IHByb3ZpZGUgYSB3aWR0aCxcbiAgICogdGhlIGZseW91dCBkZWZhdWx0cyB0byBoYWxmIHRoZSB3aWR0aCBvZiBpdHMgY29udGFpbmVyLlxuICAgKi9cbiAgZGVmYXVsdFdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gcmVzaXplIHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAzMjBcbiAgICovXG4gIG1pbldpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gcmVzaXplIHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0V2lkdGhcbiAgICovXG4gIG1heFdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIHBlcm1hbGluayBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBuYXZpZ2F0ZXMgdXNlcnMgdG8gdGhlIFVSTFxuICAgKiAob3IgYXBwbGljYXRpb24gcm91dGUpIHJlcHJlc2VudGF0aXZlIG9mIHRoZSBmbHlvdXQncyBjb250ZW50cy5cbiAgICovXG4gIHBlcm1hbGluaz86IFNreUZseW91dFBlcm1hbGluaztcblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb25maWd1cmFibGUgYnV0dG9uIGluIHRoZSBmbHlvdXQgaGVhZGVyLlxuICAgKi9cbiAgcHJpbWFyeUFjdGlvbj86IFNreUZseW91dEFjdGlvbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGN1c3RvbSBwcm92aWRlcnMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwcm92aWRlcnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzcGxheSBpdGVyYXRvciBidXR0b25zIGluIHRoZSBmbHlvdXQgaGVhZGVyXG4gICAqIHRvIGFjY2VzcyB0aGUgbmV4dCBhbmQgcHJldmlvdXMgcmVjb3JkcyBpbiBhIHJlY29yZCBzZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzaG93SXRlcmF0b3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgcHJldmlvdXMgaXRlcmF0b3IgYnV0dG9uIGluIHRoZSBmbHlvdXQgaGVhZGVyIHRoYXQgYWNjZXNzZXNcbiAgICogdGhlIHByZXZpb3VzIHJlY29yZCBpbiBhIHJlY29yZCBzZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgbmV4dCBpdGVyYXRvciBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBhY2Nlc3NlcyB0aGUgbmV4dCByZWNvcmRcbiAgICogaW4gYSByZWNvcmQgc2V0LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB1bmlxdWUga2V5IGZvciB0aGUgVUkgQ29uZmlnIFNlcnZpY2UgdG8gcmV0cmlldmUgc3RvcmVkIHNldHRpbmdzIGZyb20gYSBkYXRhYmFzZS5cbiAgICogVGhlIFVJIENvbmZpZyBTZXJ2aWNlIHNhdmVzIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHVzZXJzIHRvIHByZXNlcnZlIHRoZSB3aWR0aCBvZlxuICAgKiB0aGUgZmx5b3V0LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgVUkgQ29uZmlnIFNlcnZpY2UsXG4gICAqIHNlZSBbdGhlIHN0aWNreSBzZXR0aW5ncyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2dldC1zdGFydGVkL2FkdmFuY2VkL3N0aWNreS1zZXR0aW5ncykuXG4gICAqL1xuICBzZXR0aW5nc0tleT86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi9mbHlvdXQtYWN0aW9uJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UGVybWFsaW5rIH0gZnJvbSAnLi9mbHlvdXQtcGVybWFsaW5rJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBzZXQgdXAgYSBmbHlvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXNcbiAgICogdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXQncyBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFRoZSBkZXNjcmlwdGlvbiB0eXBpY2FsbHkgaW5jbHVkZXMgdGV4dCBvbiB0aGUgZmx5b3V0IGJ1dCBub3Qgb24gaXRlbXMgdGhhdCB1c2Vyc1xuICAgKiBpbnRlcmFjdCB3aXRoLCBzdWNoIGFzIGJ1dHRvbnMgYW5kIGZvcm1zLlxuICAgKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXRzJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgZmx5b3V0IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgZmx5b3V0LiBUaGlzIHNldHMgdGhlIGZseW91dCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgZmx5b3V0IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSByb2xlIGZvciB0aGUgZmx5b3V0XG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIGZseW91dCBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBob3dcbiAgICogYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLFxuICAgKiBzZWUgdGhlIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgZGlhbG9nXG4gICAqIEBkZXByZWNhdGVkIFNpbmNlIHZlcnNpb24gYDUuMS4wYC4gQ29uc3VtZXJzIHNob3VsZCB1c2UgdGhlIGRlZmF1bHQgYGRpYWxvZ2Agcm9sZSB0byBlbnN1cmUgYVxuICAgKiBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIGFyaWFSb2xlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhIHdpZHRoLFxuICAgKiB0aGUgZmx5b3V0IGRlZmF1bHRzIHRvIGhhbGYgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqL1xuICBkZWZhdWx0V2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IDMyMFxuICAgKi9cbiAgbWluV2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRXaWR0aFxuICAgKi9cbiAgbWF4V2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgcGVybWFsaW5rIGJ1dHRvbiBpbiB0aGUgZmx5b3V0IGhlYWRlciB0aGF0IG5hdmlnYXRlcyB1c2VycyB0byB0aGUgVVJMXG4gICAqIChvciBhcHBsaWNhdGlvbiByb3V0ZSkgcmVwcmVzZW50YXRpdmUgb2YgdGhlIGZseW91dCdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcGVybWFsaW5rPzogU2t5Rmx5b3V0UGVybWFsaW5rO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIGNvbmZpZ3VyYWJsZSBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIuXG4gICAqL1xuICBwcmltYXJ5QWN0aW9uPzogU2t5Rmx5b3V0QWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gYXJyYXkgb2YgY3VzdG9tIHByb3ZpZGVycyB0byBwYXNzIHRvIHRoZSBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHByb3ZpZGVycz86IGFueVtdO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGl0ZXJhdG9yIGJ1dHRvbnMgaW4gdGhlIGZseW91dCBoZWFkZXJcbiAgICogdG8gYWNjZXNzIHRoZSBuZXh0IGFuZCBwcmV2aW91cyByZWNvcmRzIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3dJdGVyYXRvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBwcmV2aW91cyBpdGVyYXRvciBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBhY2Nlc3Nlc1xuICAgKiB0aGUgcHJldmlvdXMgcmVjb3JkIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGl0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBuZXh0IGl0ZXJhdG9yIGJ1dHRvbiBpbiB0aGUgZmx5b3V0IGhlYWRlciB0aGF0IGFjY2Vzc2VzIHRoZSBuZXh0IHJlY29yZFxuICAgKiBpbiBhIHJlY29yZCBzZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHVuaXF1ZSBrZXkgZm9yIHRoZSBVSSBDb25maWcgU2VydmljZSB0byByZXRyaWV2ZSBzdG9yZWQgc2V0dGluZ3MgZnJvbSBhIGRhdGFiYXNlLlxuICAgKiBUaGUgVUkgQ29uZmlnIFNlcnZpY2Ugc2F2ZXMgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdXNlcnMgdG8gcHJlc2VydmUgdGhlIHdpZHRoIG9mXG4gICAqIHRoZSBmbHlvdXQuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBVSSBDb25maWcgU2VydmljZSxcbiAgICogc2VlIFt0aGUgc3RpY2t5IHNldHRpbmdzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZ2V0LXN0YXJ0ZWQvYWR2YW5jZWQvc3RpY2t5LXNldHRpbmdzKS5cbiAgICovXG4gIHNldHRpbmdzS2V5Pzogc3RyaW5nO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0TWVzc2FnZSB7XG4gIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0TWVzc2FnZSB7XG4gIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlO1xuICBkYXRhPzoge1xuICAgIGlnbm9yZUJlZm9yZUNsb3NlPzogYm9vbGVhbjtcbiAgfTtcbn1cbiJdfQ==
@@ -2,6 +2,8 @@ export * from './modules/flyout/flyout-instance';
2
2
  export * from './modules/flyout/flyout.module';
3
3
  export * from './modules/flyout/flyout.service';
4
4
  export * from './modules/flyout/types/flyout-action';
5
+ export * from './modules/flyout/types/flyout-before-close-handler';
6
+ export * from './modules/flyout/types/flyout-close-args';
5
7
  export * from './modules/flyout/types/flyout-config';
6
8
  export * from './modules/flyout/types/flyout-message';
7
9
  export * from './modules/flyout/types/flyout-message-type';
@@ -9,4 +11,4 @@ export * from './modules/flyout/types/flyout-permalink';
9
11
  // Components and directives must be exported to support Angular’s “partial” Ivy compiler.
10
12
  // Obscure names are used to indicate types are not part of the public API.
11
13
  export { SkyFlyoutComponent as λ1 } from './modules/flyout/flyout.component';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLElBQUksRUFBRSxFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvZmx5b3V0L2ZseW91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXLigJlzIOKAnHBhcnRpYWzigJ0gSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50JztcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaW5zdGFuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXLigJlzIOKAnHBhcnRpYWzigJ0gSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,6 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, NgModule, Injectable, Component, Input, Output, ReflectiveInjector, ElementRef, ViewContainerRef, ChangeDetectionStrategy, ViewChild, HostListener } from '@angular/core';
2
+ import { EventEmitter, NgModule, Injectable, Component, Input, Output, Injector, ElementRef, ViewContainerRef, ChangeDetectionStrategy, ViewChild, HostListener } from '@angular/core';
3
3
  import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
4
+ import * as i9 from '@angular/cdk/a11y';
5
+ import { A11yModule } from '@angular/cdk/a11y';
4
6
  import * as i7 from '@angular/common';
5
7
  import { CommonModule } from '@angular/common';
6
8
  import { FormsModule } from '@angular/forms';
@@ -10,7 +12,7 @@ import * as i1$1 from '@skyux/indicators';
10
12
  import { SkyIconModule } from '@skyux/indicators';
11
13
  import * as i2$1 from '@skyux/i18n';
12
14
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
13
- import * as i9 from '@skyux/router';
15
+ import * as i10 from '@skyux/router';
14
16
  import { SkyHrefModule } from '@skyux/router';
15
17
  import * as i2 from '@skyux/theme';
16
18
  import { SkyThemeModule } from '@skyux/theme';
@@ -46,6 +48,7 @@ class SkyFlyoutInstance {
46
48
  * @default true
47
49
  */
48
50
  this.isOpen = true;
51
+ this._beforeClose = new Subject();
49
52
  this._iteratorNextButtonClick = new EventEmitter();
50
53
  this._iteratorPreviousButtonClick = new EventEmitter();
51
54
  this._iteratorNextButtonDisabled = false;
@@ -55,6 +58,14 @@ class SkyFlyoutInstance {
55
58
  this.isOpen = false;
56
59
  });
57
60
  }
61
+ /**
62
+ * An event that the modal instance emits when it is about to close.
63
+ * If a subscription exists for this event,
64
+ * the modal does not close until the subscriber calls the handler's `closeModal` method.
65
+ */
66
+ get beforeClose() {
67
+ return this._beforeClose;
68
+ }
58
69
  /**
59
70
  * Used to communicate with the host component.
60
71
  * @internal
@@ -116,10 +127,12 @@ class SkyFlyoutInstance {
116
127
  }
117
128
  /**
118
129
  * Closes the flyout instance and emits its `closed` event.
130
+ * @param args Arguments used when closing the flyout.
119
131
  */
120
- close() {
132
+ close(args) {
121
133
  this.hostController.next({
122
134
  type: SkyFlyoutMessageType.Close,
135
+ data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },
123
136
  });
124
137
  this._iteratorPreviousButtonClick.complete();
125
138
  this._iteratorNextButtonClick.complete();
@@ -306,6 +319,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
306
319
  type: Injectable
307
320
  }], ctorParameters: function () { return []; } });
308
321
 
322
+ /**
323
+ * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.
324
+ */
325
+ class SkyFlyoutBeforeCloseHandler {
326
+ constructor(closeFlyoutFunction) {
327
+ this.closeFlyout = closeFlyoutFunction;
328
+ }
329
+ }
330
+
309
331
  /**
310
332
  * @internal
311
333
  */
@@ -366,7 +388,7 @@ let nextId = 0;
366
388
  * @internal
367
389
  */
368
390
  class SkyFlyoutComponent {
369
- constructor(adapter, changeDetector, injector, resolver, resourcesService, flyoutMediaQueryService, elementRef, uiConfigService) {
391
+ constructor(adapter, changeDetector, injector, resolver, resourcesService, flyoutMediaQueryService, elementRef, uiConfigService, _ngZone) {
370
392
  this.adapter = adapter;
371
393
  this.changeDetector = changeDetector;
372
394
  this.injector = injector;
@@ -375,11 +397,13 @@ class SkyFlyoutComponent {
375
397
  this.flyoutMediaQueryService = flyoutMediaQueryService;
376
398
  this.elementRef = elementRef;
377
399
  this.uiConfigService = uiConfigService;
400
+ this._ngZone = _ngZone;
378
401
  this.flyoutId = `sky-flyout-${++nextId}`;
379
402
  this.flyoutState = FLYOUT_CLOSED_STATE;
380
403
  this.isOpen = false;
381
404
  this.isOpening = false;
382
405
  this.flyoutWidth = 0;
406
+ this.instanceReady = false;
383
407
  this.isDragging = false;
384
408
  this.isFullscreen = false;
385
409
  this.resizeKeyControlActive = false;
@@ -465,16 +489,16 @@ class SkyFlyoutComponent {
465
489
  this.config.iteratorPreviousButtonDisabled =
466
490
  this.config.iteratorPreviousButtonDisabled || false;
467
491
  const factory = this.resolver.resolveComponentFactory(component);
468
- /* tslint:disable:deprecation */
469
- /**
470
- * NOTE: We need to update this to use the new Injector.create(options) method
471
- * after Angular 4 support is dropped.
472
- */
473
- const providers = ReflectiveInjector.resolve(this.config.providers);
474
- const injector = ReflectiveInjector.fromResolvedProviders(providers, this.injector);
475
- /* tslint:enable:deprecation */
492
+ const injector = Injector.create({
493
+ parent: this.injector,
494
+ providers: this.config.providers,
495
+ });
476
496
  const componentRef = this.target.createComponent(factory, undefined, injector);
477
497
  this.flyoutInstance = this.createFlyoutInstance(componentRef.instance);
498
+ // This is used to ensure we do not render the flyout until we have attached the component.
499
+ // This allows the aria-labelledby to function correctly.
500
+ this.instanceReady = true;
501
+ this.changeDetector.markForCheck();
478
502
  // Open the flyout immediately.
479
503
  this.messageStream.next({
480
504
  type: SkyFlyoutMessageType.Open,
@@ -513,7 +537,9 @@ class SkyFlyoutComponent {
513
537
  return false;
514
538
  }
515
539
  getAnimationState() {
516
- return this.isOpening ? FLYOUT_OPEN_STATE : FLYOUT_CLOSED_STATE;
540
+ return this.instanceReady && this.isOpening
541
+ ? FLYOUT_OPEN_STATE
542
+ : FLYOUT_CLOSED_STATE;
517
543
  }
518
544
  animationDone(event) {
519
545
  if (event.toState === FLYOUT_OPEN_STATE) {
@@ -607,6 +633,7 @@ class SkyFlyoutComponent {
607
633
  return instance;
608
634
  }
609
635
  handleIncomingMessages(message) {
636
+ var _a;
610
637
  /* tslint:disable-next-line:switch-default */
611
638
  switch (message.type) {
612
639
  case SkyFlyoutMessageType.Open:
@@ -614,10 +641,21 @@ class SkyFlyoutComponent {
614
641
  this.isOpen = false;
615
642
  this.isOpening = true;
616
643
  }
644
+ this.initFocusTrap();
617
645
  break;
618
646
  case SkyFlyoutMessageType.Close:
619
- this.isOpen = true;
620
- this.isOpening = false;
647
+ if (this.flyoutInstance.beforeClose.observers.length ===
648
+ 0 ||
649
+ ((_a = message.data) === null || _a === void 0 ? void 0 : _a.ignoreBeforeClose)) {
650
+ this.isOpen = true;
651
+ this.isOpening = false;
652
+ }
653
+ else {
654
+ this.flyoutInstance.beforeClose.next(new SkyFlyoutBeforeCloseHandler(() => {
655
+ this.isOpen = true;
656
+ this.isOpening = false;
657
+ }));
658
+ }
621
659
  break;
622
660
  case SkyFlyoutMessageType.EnableIteratorNextButton:
623
661
  this.config.iteratorNextButtonDisabled = false;
@@ -730,13 +768,31 @@ class SkyFlyoutComponent {
730
768
  }
731
769
  }
732
770
  }
771
+ /** Executes a function when the zone is stable. */
772
+ _executeOnStable(fn) {
773
+ if (this._ngZone.isStable) {
774
+ fn();
775
+ }
776
+ else {
777
+ this._ngZone.onStable.pipe(take(1)).subscribe(fn);
778
+ }
779
+ }
780
+ initFocusTrap() {
781
+ this.enableTrapFocusAutoCapture = false;
782
+ this.enableTrapFocus = false;
783
+ // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.
784
+ this._executeOnStable(() => {
785
+ this.enableTrapFocusAutoCapture = true;
786
+ this.enableTrapFocus = true;
787
+ });
788
+ }
733
789
  }
734
- SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Component });
790
+ SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
735
791
  SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
736
792
  SkyFlyoutAdapterService,
737
793
  SkyFlyoutMediaQueryService,
738
794
  { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
739
- ], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"\n sky-btn\n sky-btn-icon-borderless\n sky-margin-inline-sm\n sky-flyout-header-grab-handle\n \"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"\n sky-btn\n sky-btn-default\n sky-flyout-btn-primary-action\n sky-margin-inline-default\n \"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i2$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe }, animations: [
795
+ ], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutCloseButton", first: true, predicate: ["flyoutCloseButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "flyoutContent", first: true, predicate: ["flyoutContent"], descendants: true, read: ElementRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-label]=\"config?.ariaLabel\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config?.ariaRole === 'dialog' || !config?.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"\n sky-btn\n sky-btn-icon-borderless\n sky-margin-inline-sm\n sky-flyout-header-grab-handle\n \"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n #flyoutCloseButton\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\" #flyoutContent>\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"\n sky-btn\n sky-btn-default\n sky-flyout-btn-primary-action\n sky-margin-inline-default\n \"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i9.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i2$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe }, animations: [
740
796
  trigger('flyoutState', [
741
797
  state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
742
798
  state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
@@ -772,7 +828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
772
828
  // Allow automatic change detection for child components.
773
829
  changeDetection: ChangeDetectionStrategy.Default,
774
830
  }]
775
- }], ctorParameters: function () { return [{ type: SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2$1.SkyLibResourcesService }, { type: SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i1.SkyUIConfigService }]; }, propDecorators: { flyoutRef: [{
831
+ }], ctorParameters: function () { return [{ type: SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2$1.SkyLibResourcesService }, { type: SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i1.SkyUIConfigService }, { type: i0.NgZone }]; }, propDecorators: { flyoutRef: [{
776
832
  type: ViewChild,
777
833
  args: ['flyoutRef', {
778
834
  read: ElementRef,
@@ -784,6 +840,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
784
840
  read: ViewContainerRef,
785
841
  static: true,
786
842
  }]
843
+ }], flyoutCloseButton: [{
844
+ type: ViewChild,
845
+ args: ['flyoutCloseButton', {
846
+ read: ElementRef,
847
+ static: true,
848
+ }]
849
+ }], flyoutContent: [{
850
+ type: ViewChild,
851
+ args: ['flyoutContent', {
852
+ read: ElementRef,
853
+ static: true,
854
+ }]
787
855
  }], flyoutHeader: [{
788
856
  type: ViewChild,
789
857
  args: ['flyoutHeader', {
@@ -798,7 +866,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
798
866
  class SkyFlyoutModule {
799
867
  }
800
868
  SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
801
- SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [CommonModule,
869
+ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [A11yModule,
870
+ CommonModule,
802
871
  FormsModule,
803
872
  RouterModule,
804
873
  SkyI18nModule,
@@ -807,6 +876,7 @@ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
807
876
  SkyThemeModule,
808
877
  SkyHrefModule], exports: [SkyFlyoutComponent] });
809
878
  SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, imports: [[
879
+ A11yModule,
810
880
  CommonModule,
811
881
  FormsModule,
812
882
  RouterModule,
@@ -821,6 +891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
821
891
  args: [{
822
892
  declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],
823
893
  imports: [
894
+ A11yModule,
824
895
  CommonModule,
825
896
  FormsModule,
826
897
  RouterModule,
@@ -841,11 +912,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
841
912
  * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.
842
913
  */
843
914
  class SkyFlyoutService {
844
- constructor(coreAdapter, windowRef, dynamicComponentService, router) {
915
+ constructor(coreAdapter, windowRef, dynamicComponentService, router, _ngZone, applicationRef) {
845
916
  this.coreAdapter = coreAdapter;
846
917
  this.windowRef = windowRef;
847
918
  this.dynamicComponentService = dynamicComponentService;
848
919
  this.router = router;
920
+ this._ngZone = _ngZone;
921
+ this.applicationRef = applicationRef;
849
922
  this.removeAfterClosed = false;
850
923
  this.isOpening = false;
851
924
  this.ngUnsubscribe = new Subject();
@@ -858,12 +931,16 @@ class SkyFlyoutService {
858
931
  }
859
932
  /**
860
933
  * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.
934
+ * @param args Arguments used when closing the flyout.
861
935
  */
862
- close() {
936
+ close(args) {
863
937
  if (this.host && !this.isOpening) {
864
938
  this.removeAfterClosed = true;
865
939
  this.host.instance.messageStream.next({
866
940
  type: SkyFlyoutMessageType.Close,
941
+ data: {
942
+ ignoreBeforeClose: args ? args.ignoreBeforeClose : false,
943
+ },
867
944
  });
868
945
  }
869
946
  }
@@ -885,6 +962,14 @@ class SkyFlyoutService {
885
962
  .subscribe((event) => {
886
963
  if (event instanceof NavigationStart) {
887
964
  this.close();
965
+ // Sanity check - if the host still exists after animations should have completed - remove host
966
+ this._ngZone.onStable.pipe(take(1)).subscribe(() => {
967
+ if (this.host) {
968
+ this.removeHostComponent();
969
+ // Without this tick - the host does not actually get removed on initial navigation in this case.
970
+ this.applicationRef.tick();
971
+ }
972
+ });
888
973
  }
889
974
  });
890
975
  }
@@ -948,7 +1033,7 @@ class SkyFlyoutService {
948
1033
  });
949
1034
  this.removeAfterClosed = false;
950
1035
  flyoutInstance.messageStream
951
- .pipe(take(1))
1036
+ .pipe(takeUntil(this.ngUnsubscribe))
952
1037
  .subscribe((message) => {
953
1038
  if (message.type === SkyFlyoutMessageType.Close) {
954
1039
  this.removeAfterClosed = true;
@@ -969,18 +1054,18 @@ class SkyFlyoutService {
969
1054
  this.ngUnsubscribe = new Subject();
970
1055
  }
971
1056
  }
972
- SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1057
+ SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }, { token: i0.NgZone }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
973
1058
  SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
974
1059
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, decorators: [{
975
1060
  type: Injectable,
976
1061
  args: [{
977
1062
  providedIn: 'any',
978
1063
  }]
979
- }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2$2.Router }]; } });
1064
+ }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2$2.Router }, { type: i0.NgZone }, { type: i0.ApplicationRef }]; } });
980
1065
 
981
1066
  /**
982
1067
  * Generated bundle index. Do not edit.
983
1068
  */
984
1069
 
985
- export { SkyFlyoutInstance, SkyFlyoutMessageType, SkyFlyoutModule, SkyFlyoutService, SkyFlyoutComponent as λ1 };
1070
+ export { SkyFlyoutBeforeCloseHandler, SkyFlyoutInstance, SkyFlyoutMessageType, SkyFlyoutModule, SkyFlyoutService, SkyFlyoutComponent as λ1 };
986
1071
  //# sourceMappingURL=skyux-flyout.js.map