@skyux/modals 7.8.1 → 7.9.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.
@@ -2,8 +2,9 @@ var _SkyModalHostComponent_instances, _SkyModalHostComponent_resolver, _SkyModal
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Component, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
4
4
  import { NavigationStart } from '@angular/router';
5
- import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
6
- import { takeWhile } from 'rxjs/operators';
5
+ import { SKY_STACKING_CONTEXT, SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
6
+ import { BehaviorSubject } from 'rxjs';
7
+ import { takeUntil, takeWhile } from 'rxjs/operators';
7
8
  import { SkyModalAdapterService } from './modal-adapter.service';
8
9
  import { SkyModalConfiguration } from './modal-configuration';
9
10
  import { SkyModalHostService } from './modal-host.service';
@@ -72,6 +73,14 @@ export class SkyModalHostComponent {
72
73
  provide: SkyMediaQueryService,
73
74
  useExisting: SkyResizeObserverMediaQueryService,
74
75
  });
76
+ params.providers.push({
77
+ provide: SKY_STACKING_CONTEXT,
78
+ useValue: {
79
+ zIndex: new BehaviorSubject(hostService.getModalZIndex())
80
+ .asObservable()
81
+ .pipe(takeUntil(modalInstance.closed)),
82
+ },
83
+ });
75
84
  /* eslint-enable @typescript-eslint/no-non-null-assertion */
76
85
  adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
77
86
  adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
@@ -155,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
155
164
  static: true,
156
165
  }]
157
166
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFJM0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBK0JoQyxZQUNFLFFBQWtDLEVBQ2xDLE9BQStCLEVBQy9CLFFBQWtCLEVBQ2xCLGNBQWlDLEVBQ2pDLGdCQUFxQyxFQUNyQyxLQUFpQixFQUNMLE1BQWU7O1FBakI3QixrREFBb0M7UUFDcEMsaURBQWlDO1FBQ2pDLGtEQUFvQjtRQUNwQixnREFBNEI7UUFDNUIsd0RBQW1DO1FBQ25DLDBEQUF1QztRQUN2QywrQ0FBbUI7UUFFbkIsZ0RBQXNDLEVBQUUsRUFBQztRQVd2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QUU7UUFDM0MsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQzttSEExTFUscUJBQXFCO3VHQUFyQixxQkFBcUIsbUlBZ0J4QixnQkFBZ0IsMkNDbkQxQiwwSkFRQSxpTkR5QmlCLENBQUMsc0JBQXNCLENBQUM7NEZBRTVCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBd0NwQyxRQUFROzRDQW5CSixNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0Q29udGV4dCB9IGZyb20gJy4vbW9kYWwtaG9zdC1jb250ZXh0JztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnLi9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1ob3N0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGdldCBtb2RhbE9wZW4oKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcFpJbmRleCgpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYGFueWAgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciA0LTcuXG4gICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzA2NTRcbiAgICogVE9ETzogUmVtb3ZlIHRoZSBgYW55YCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0gYXMgYW55KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAjYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZTtcbiAgI2luamVjdG9yOiBJbmplY3RvcjtcbiAgI3JvdXRlcjogUm91dGVyIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjbW9kYWxIb3N0Q29udGV4dDogU2t5TW9kYWxIb3N0Q29udGV4dDtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNtb2RhbEluc3RhbmNlczogU2t5TW9kYWxJbnN0YW5jZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbW9kYWxIb3N0Q29udGV4dDogU2t5TW9kYWxIb3N0Q29udGV4dCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSByb3V0ZXI/OiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy4jcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQgPSBtb2RhbEhvc3RDb250ZXh0O1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgYWxsIG1vZGFsIGluc3RhbmNlcyBiZWZvcmUgZGlzcG9zaW5nIG9mIHRoZSBob3N0IGNvbnRhaW5lci5cbiAgICB0aGlzLiNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dC5hcmdzLnRlYXJkb3duQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLiNyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSA9IG1vZGFsQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gaGlkaW5nIGFsbCBlbGVtZW50cyBhdCB0aGUgbW9kYWwtaG9zdCBsZXZlbCBmcm9tIHNjcmVlbiByZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgdGhpcy4jYWRhcHRlci5oaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnModGhpcy4jZWxSZWYpO1xuICAgIGlmIChcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsID09PSBob3N0U2VydmljZVxuICAgICkge1xuICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgdGhpcy4jYWRhcHRlci5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICAgIC8vIHVuaGlkZSBzaWJsaW5ncyBpZiBsYXN0IG1vZGFsIGlzIGNsb3NpbmdcbiAgICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID09PSAxKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlT3JSZXN0b3JlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoKTtcbiAgICAgIH0gZWxzZSBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbCA9PT0gaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiAxIG1vZGFsIHRoZW4gdW5oaWRlIHRoZSBvbmUgYmVoaW5kIHRoaXMgb25lIGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIGhvc3RTZXJ2aWNlLm9wZW5IZWxwLnN1YnNjcmliZSgoaGVscEtleSkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5vcGVuSGVscChoZWxwS2V5KTtcbiAgICB9KTtcblxuICAgIGhvc3RTZXJ2aWNlLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNyb3V0ZXI/LmV2ZW50cy5waXBlKHRha2VXaGlsZSgoKSA9PiBpc09wZW4pKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpc09wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuICAgICAgY2xvc2VNb2RhbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGlmIHRoZSBob3N0IHdhcyBjcmVhdGVkIHZpYSBhIGNvbnN1bWVyJ3MgbGlmZWN5Y2xlIGhvb2sgc3VjaCBhcyBuZ09uSW5pdFxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gICNyZWdpc3Rlck1vZGFsSW5zdGFuY2UoaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcbiAgfVxuXG4gICN1bnJlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnNsaWNlKHRoaXMuI21vZGFsSW5zdGFuY2VzLmluZGV4T2YoaW5zdGFuY2UpLCAxKTtcbiAgfVxuXG4gICNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaW5zdGFuY2Ugb2YgdGhpcy4jbW9kYWxJbnN0YW5jZXMpIHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWhvc3QtYmFja2Ryb3BcIlxuICBbaGlkZGVuXT1cIiFtb2RhbE9wZW5cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgekluZGV4OiBiYWNrZHJvcFpJbmRleFxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsa0NBQWtDLEdBQ25DLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBSTNEOztHQUVHO0FBT0gsTUFBTSxPQUFPLHFCQUFxQjtJQStCaEMsWUFDRSxRQUFrQyxFQUNsQyxPQUErQixFQUMvQixRQUFrQixFQUNsQixjQUFpQyxFQUNqQyxnQkFBcUMsRUFDckMsS0FBaUIsRUFDTCxNQUFlOztRQWpCN0Isa0RBQW9DO1FBQ3BDLGlEQUFpQztRQUNqQyxrREFBb0I7UUFDcEIsZ0RBQTRCO1FB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LENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7NmlCQUVzQixRQUEwQjtJQUMvQyx1QkFBQSxJQUFJLDZDQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0QyxDQUFDLDJHQUV3QixRQUEwQjtJQUNqRCx1QkFBQSxJQUFJLDZDQUFnQixDQUFDLEtBQUssQ0FBQyx1QkFBQSxJQUFJLDZDQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4RSxDQUFDO0lBR0MsS0FBSyxNQUFNLFFBQVEsSUFBSSx1QkFBQSxJQUFJLDZDQUFnQixFQUFFO1FBQzNDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNsQjtBQUNILENBQUM7bUhBbE1VLHFCQUFxQjt1R0FBckIscUJBQXFCLG1JQWdCeEIsZ0JBQWdCLDJDQ3JEMUIsMEpBUUEsaU5EMkJpQixDQUFDLHNCQUFzQixDQUFDOzRGQUU1QixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLENBQUMsc0JBQXNCLENBQUM7OzBCQXdDcEMsUUFBUTs0Q0FuQkosTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0Q29udGV4dCB9IGZyb20gJy4vbW9kYWwtaG9zdC1jb250ZXh0JztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnLi9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1ob3N0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGdldCBtb2RhbE9wZW4oKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcFpJbmRleCgpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYGFueWAgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciA0LTcuXG4gICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzA2NTRcbiAgICogVE9ETzogUmVtb3ZlIHRoZSBgYW55YCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0gYXMgYW55KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAjYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZTtcbiAgI2luamVjdG9yOiBJbmplY3RvcjtcbiAgI3JvdXRlcjogUm91dGVyIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjbW9kYWxIb3N0Q29udGV4dDogU2t5TW9kYWxIb3N0Q29udGV4dDtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNtb2RhbEluc3RhbmNlczogU2t5TW9kYWxJbnN0YW5jZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbW9kYWxIb3N0Q29udGV4dDogU2t5TW9kYWxIb3N0Q29udGV4dCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSByb3V0ZXI/OiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy4jcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQgPSBtb2RhbEhvc3RDb250ZXh0O1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgYWxsIG1vZGFsIGluc3RhbmNlcyBiZWZvcmUgZGlzcG9zaW5nIG9mIHRoZSBob3N0IGNvbnRhaW5lci5cbiAgICB0aGlzLiNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dC5hcmdzLnRlYXJkb3duQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLiNyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNLWV9TVEFDS0lOR19DT05URVhULFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgekluZGV4OiBuZXcgQmVoYXZpb3JTdWJqZWN0KGhvc3RTZXJ2aWNlLmdldE1vZGFsWkluZGV4KCkpXG4gICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKG1vZGFsSW5zdGFuY2UuY2xvc2VkKSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAqL1xuXG4gICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMFxuICAgICk7XG5cbiAgICBjb25zdCBwcm92aWRlcnMgPSBwYXJhbXMucHJvdmlkZXJzIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIFtdO1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVycyxcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBtb2RhbENvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIGZhY3RvcnksXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbmplY3RvclxuICAgICk7XG5cbiAgICAvLyBtb2RhbCBlbGVtZW50IHRoYXQgd2FzIGp1c3Qgb3BlbmVkXG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gbW9kYWxDb21wb25lbnRSZWYubG9jYXRpb247XG5cbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudEluc3RhbmNlID0gbW9kYWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICB0aGlzLiNyZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG5cbiAgICAvLyBoaWRpbmcgYWxsIGVsZW1lbnRzIGF0IHRoZSBtb2RhbC1ob3N0IGxldmVsIGZyb20gc2NyZWVuIHJlYWRlcnMgd2hlbiB0aGUgYSBtb2RhbCBpcyBvcGVuZWRcbiAgICB0aGlzLiNhZGFwdGVyLmhpZGVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycyh0aGlzLiNlbFJlZik7XG4gICAgaWYgKFxuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDEgJiZcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAvLyBoaWRpbmcgdGhlIGxvd2VyIG1vZGFscyB3aGVuIG1vcmUgdGhhbiBvbmUgbW9kYWwgaXMgb3BlbmVkXG4gICAgICB0aGlzLiNhZGFwdGVyLmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnMobW9kYWxFbGVtZW50KTtcbiAgICB9XG5cbiAgICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgICAgLy8gdW5oaWRlIHNpYmxpbmdzIGlmIGxhc3QgbW9kYWwgaXMgY2xvc2luZ1xuICAgICAgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPT09IDEpIHtcbiAgICAgICAgdGhpcy4jYWRhcHRlci51bmhpZGVPclJlc3RvcmVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycygpO1xuICAgICAgfSBlbHNlIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsID09PSBob3N0U2VydmljZSkge1xuICAgICAgICAvLyBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgbW9kYWwgdGhlbiB1bmhpZGUgdGhlIG9uZSBiZWhpbmQgdGhpcyBvbmUgYmVmb3JlIGNsb3NpbmcgaXRcbiAgICAgICAgdGhpcy4jYWRhcHRlci51bmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnMobW9kYWxFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgaG9zdFNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICAgIGFkYXB0ZXIudG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKFxuICAgICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICAgICk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAobW9kYWxPcGVuZXIgJiYgbW9kYWxPcGVuZXIuZm9jdXMpIHtcbiAgICAgICAgbW9kYWxPcGVuZXIuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIG1vZGFsQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgaG9zdFNlcnZpY2Uub3BlbkhlbHAuc3Vic2NyaWJlKChoZWxwS2V5KSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLm9wZW5IZWxwKGhlbHBLZXkpO1xuICAgIH0pO1xuXG4gICAgaG9zdFNlcnZpY2UuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI3JvdXRlcj8uZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG4gICAgICBjbG9zZU1vZGFsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBOZWNlc3NhcnkgaWYgdGhlIGhvc3Qgd2FzIGNyZWF0ZWQgdmlhIGEgY29uc3VtZXIncyBsaWZlY3ljbGUgaG9vayBzdWNoIGFzIG5nT25Jbml0XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuICB9XG5cbiAgI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMuc2xpY2UodGhpcy4jbW9kYWxJbnN0YW5jZXMuaW5kZXhPZihpbnN0YW5jZSksIDEpO1xuICB9XG5cbiAgI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiB0aGlzLiNtb2RhbEluc3RhbmNlcykge1xuICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtaG9zdC1iYWNrZHJvcFwiXG4gIFtoaWRkZW5dPVwiIW1vZGFsT3BlblwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICB6SW5kZXg6IGJhY2tkcm9wWkluZGV4XG4gIH1cIlxuPjwvZGl2PlxuPGRpdiAjdGFyZ2V0PjwvZGl2PlxuIl19
@@ -3,7 +3,7 @@ import { EventEmitter, NgModule, Component, ViewEncapsulation, Injectable, Injec
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i3 from '@skyux/core';
6
- import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, SkyDockLocation, SkyDockService, SkyIdModule, SkyTrimModule } from '@skyux/core';
6
+ import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, SKY_STACKING_CONTEXT, SkyDockLocation, SkyDockService, SkyIdModule, SkyTrimModule } from '@skyux/core';
7
7
  import * as i2 from '@skyux/theme';
8
8
  import { SkyTheme, SkyThemeModule } from '@skyux/theme';
9
9
  import * as i3$1 from '@angular/router';
@@ -13,8 +13,8 @@ import { SkyIconModule } from '@skyux/indicators';
13
13
  import * as i2$1 from '@skyux/i18n';
14
14
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
15
15
  import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
16
- import { takeWhile, takeUntil, take } from 'rxjs/operators';
17
- import { Subject, ReplaySubject } from 'rxjs';
16
+ import { Subject, BehaviorSubject, ReplaySubject } from 'rxjs';
17
+ import { takeUntil, takeWhile, take } from 'rxjs/operators';
18
18
 
19
19
  class SkyConfirmInstance {
20
20
  constructor() {
@@ -393,6 +393,14 @@ class SkyModalHostComponent {
393
393
  provide: SkyMediaQueryService,
394
394
  useExisting: SkyResizeObserverMediaQueryService,
395
395
  });
396
+ params.providers.push({
397
+ provide: SKY_STACKING_CONTEXT,
398
+ useValue: {
399
+ zIndex: new BehaviorSubject(hostService.getModalZIndex())
400
+ .asObservable()
401
+ .pipe(takeUntil(modalInstance.closed)),
402
+ },
403
+ });
396
404
  /* eslint-enable @typescript-eslint/no-non-null-assertion */
397
405
  adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
398
406
  adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);