@scion/components 18.0.1 → 18.1.1

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.
@@ -7,11 +7,9 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
- import { Directive, Input } from '@angular/core';
11
- import { map, takeUntil } from 'rxjs/operators';
12
- import { merge, Subject } from 'rxjs';
10
+ import { Directive, effect, ElementRef, inject, input, Renderer2, untracked } from '@angular/core';
11
+ import { SciNativeScrollbarTrackSizeProvider } from './native-scrollbar-track-size-provider.service';
13
12
  import * as i0 from "@angular/core";
14
- import * as i1 from "./native-scrollbar-track-size-provider.service";
15
13
  /**
16
14
  * Makes the host element natively scrollable and hides native scrollbars by default, unless native scrollbars
17
15
  * already sit on top of the viewport (e.g. in OS X).
@@ -24,24 +22,33 @@ import * as i1 from "./native-scrollbar-track-size-provider.service";
24
22
  * to hide the pushed out native scrollbars.
25
23
  */
26
24
  export class SciScrollableDirective {
27
- constructor(_host, _renderer, nativeScrollbarTrackSizeProvider) {
28
- this._host = _host;
29
- this._renderer = _renderer;
30
- this._destroy$ = new Subject();
31
- this._inputChange$ = new Subject();
25
+ constructor() {
26
+ this._host = inject((ElementRef)).nativeElement;
27
+ this._renderer = inject(Renderer2);
28
+ this._nativeScrollbarTrackSizeProvider = inject(SciNativeScrollbarTrackSizeProvider);
32
29
  /**
33
30
  * Controls whether to display native scrollbars.
34
31
  * Has no effect if the native scrollbar sits on top of the content, e.g. in OS X.
35
32
  */
36
- this.isDisplayNativeScrollbar = false;
37
- merge(nativeScrollbarTrackSizeProvider.trackSize$, this._inputChange$.pipe(map(() => nativeScrollbarTrackSizeProvider.trackSize)))
38
- .pipe(takeUntil(this._destroy$))
39
- .subscribe(nativeScrollbarTrackSize => {
40
- if (nativeScrollbarTrackSize === null) { // the native scrollbar sits on top of the content
41
- this.useNativeScrollbars();
33
+ this.displayNativeScrollbar = input(false, { alias: 'sciScrollableDisplayNativeScrollbar' });
34
+ this.controlDisplayOfNativeScrollbar();
35
+ }
36
+ /**
37
+ * Controls the display of the native scrollbar based on this directive's configuration.
38
+ */
39
+ controlDisplayOfNativeScrollbar() {
40
+ effect(() => {
41
+ const displayNativeScrollbar = this.displayNativeScrollbar();
42
+ if (displayNativeScrollbar) {
43
+ untracked(() => this.useNativeScrollbars());
44
+ return;
45
+ }
46
+ const nativeScrollbarTrackSize = this._nativeScrollbarTrackSizeProvider.trackSize();
47
+ if (nativeScrollbarTrackSize) {
48
+ untracked(() => this.shiftNativeScrollbars(nativeScrollbarTrackSize));
42
49
  }
43
50
  else {
44
- this.isDisplayNativeScrollbar ? this.useNativeScrollbars() : this.shiftNativeScrollbars(nativeScrollbarTrackSize);
51
+ untracked(() => this.useNativeScrollbars());
45
52
  }
46
53
  });
47
54
  }
@@ -49,7 +56,7 @@ export class SciScrollableDirective {
49
56
  * Uses the native scrollbars when content overflows.
50
57
  */
51
58
  useNativeScrollbars() {
52
- this.setStyle(this._host.nativeElement, {
59
+ this.setStyle(this._host, {
53
60
  overflow: 'auto',
54
61
  width: '100%',
55
62
  height: '100%',
@@ -61,7 +68,7 @@ export class SciScrollableDirective {
61
68
  * Shifts the native scrollbars out of the visible viewport area.
62
69
  */
63
70
  shiftNativeScrollbars(nativeScrollbarTrackSize) {
64
- this.setStyle(this._host.nativeElement, {
71
+ this.setStyle(this._host, {
65
72
  overflow: 'scroll',
66
73
  width: `calc(100% + ${nativeScrollbarTrackSize.vScrollbarTrackWidth}px`,
67
74
  height: `calc(100% + ${nativeScrollbarTrackSize.hScrollbarTrackHeight}px`,
@@ -72,14 +79,8 @@ export class SciScrollableDirective {
72
79
  setStyle(element, style) {
73
80
  Object.keys(style).forEach(key => this._renderer.setStyle(element, key, style[key]));
74
81
  }
75
- ngOnChanges(changes) {
76
- this._inputChange$.next();
77
- }
78
- ngOnDestroy() {
79
- this._destroy$.next();
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SciNativeScrollbarTrackSizeProvider }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: SciScrollableDirective, isStandalone: true, selector: "[sciScrollable]", inputs: { isDisplayNativeScrollbar: ["sciScrollableDisplayNativeScrollbar", "isDisplayNativeScrollbar"] }, usesOnChanges: true, ngImport: i0 }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciScrollableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: SciScrollableDirective, isStandalone: true, selector: "[sciScrollable]", inputs: { displayNativeScrollbar: { classPropertyName: "displayNativeScrollbar", publicName: "sciScrollableDisplayNativeScrollbar", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
83
84
  }
84
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciScrollableDirective, decorators: [{
85
86
  type: Directive,
@@ -87,8 +88,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
87
88
  selector: '[sciScrollable]',
88
89
  standalone: true,
89
90
  }]
90
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SciNativeScrollbarTrackSizeProvider }], propDecorators: { isDisplayNativeScrollbar: [{
91
- type: Input,
92
- args: ['sciScrollableDisplayNativeScrollbar']
93
- }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0L3NyYy9zY3JvbGxhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHcEM7Ozs7Ozs7Ozs7R0FVRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFZakMsWUFBb0IsS0FBaUMsRUFDakMsU0FBb0IsRUFDNUIsZ0NBQXFFO1FBRjdELFVBQUssR0FBTCxLQUFLLENBQTRCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFYaEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTVDOzs7V0FHRztRQUVJLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUt0QyxLQUFLLENBQ0gsZ0NBQWdDLENBQUMsVUFBVSxFQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDL0U7YUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUNwQyxJQUFJLHdCQUF3QixLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsa0RBQWtEO2dCQUN6RixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDcEgsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdEMsUUFBUSxFQUFFLE1BQU07WUFDaEIsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxDQUFDO1lBQ2QsWUFBWSxFQUFFLENBQUM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCLENBQUMsd0JBQWtEO1FBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdEMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLGVBQWUsd0JBQXdCLENBQUMsb0JBQW9CLElBQUk7WUFDdkUsTUFBTSxFQUFFLGVBQWUsd0JBQXdCLENBQUMscUJBQXFCLElBQUk7WUFDekUsV0FBVyxFQUFFLElBQUksd0JBQXdCLENBQUMsb0JBQW9CLElBQUk7WUFDbEUsWUFBWSxFQUFFLElBQUksd0JBQXdCLENBQUMscUJBQXFCLElBQUk7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQWlCO1FBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBbEVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt5SkFXUSx3QkFBd0I7c0JBRDlCLEtBQUs7dUJBQUMscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLCBTY2lOYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlcn0gZnJvbSAnLi9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RGljdGlvbmFyeX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogTWFrZXMgdGhlIGhvc3QgZWxlbWVudCBuYXRpdmVseSBzY3JvbGxhYmxlIGFuZCBoaWRlcyBuYXRpdmUgc2Nyb2xsYmFycyBieSBkZWZhdWx0LCB1bmxlc3MgbmF0aXZlIHNjcm9sbGJhcnNcbiAqIGFscmVhZHkgc2l0IG9uIHRvcCBvZiB0aGUgdmlld3BvcnQgKGUuZy4gaW4gT1MgWCkuXG4gKlxuICogQmVjYXVzZSB0aGVyZSBpcyBubyBjcm9zcy1icm93c2VyIEFQSSB0byBoaWRlIHNjcm9sbGJhcnMgd2l0aG91dCBsb3NpbmcgbmF0aXZlIHNjcm9sbCBzdXBwb3J0LCB3ZSBzZXQgJ292ZXJmbG93J1xuICogdG8gJ3Njcm9sbCcgYnV0IHNoaWZ0IHRoZSBuYXRpdmUgc2Nyb2xsYmFycyBvdXQgb2YgdGhlIHZpc2libGUgdmlld3BvcnQgYXJlYS4gVGhlIHNoaWZ0IG9mZnNldCBpcyBjb21wdXRlZCB1cGZyb250LlxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGV4cGVjdHMgaXRzIGhvc3QgZWxlbWVudCB0byBiZSB0aGUgb25seSBjaGlsZCBpbiBkb2N1bWVudCBmbG93IGluIGl0cyBwYXJlbnQgRE9NIGVsZW1lbnQuIEl0IG1ha2VzIHRoZSBob3N0IGVsZW1lbnRcbiAqIGZpbGwgdXAgdGhlIGVudGlyZSBzcGFjZSAod2lkdGggYW5kIGhlaWdodCBzZXQgdG8gMTAwJSkuIFRoZSBwYXJlbnQgZWxlbWVudCBtdXN0IGhhdmUgaXRzIENTUyBgb3ZlcmZsb3dgIHByb3BlcnR5IHNldCB0byBgaGlkZGVuYFxuICogdG8gaGlkZSB0aGUgcHVzaGVkIG91dCBuYXRpdmUgc2Nyb2xsYmFycy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NjaVNjcm9sbGFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU2Nyb2xsYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2lucHV0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgdG8gZGlzcGxheSBuYXRpdmUgc2Nyb2xsYmFycy5cbiAgICogSGFzIG5vIGVmZmVjdCBpZiB0aGUgbmF0aXZlIHNjcm9sbGJhciBzaXRzIG9uIHRvcCBvZiB0aGUgY29udGVudCwgZS5nLiBpbiBPUyBYLlxuICAgKi9cbiAgQElucHV0KCdzY2lTY3JvbGxhYmxlRGlzcGxheU5hdGl2ZVNjcm9sbGJhcicpLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIHB1YmxpYyBpc0Rpc3BsYXlOYXRpdmVTY3JvbGxiYXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgbmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplUHJvdmlkZXI6IFNjaU5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyKSB7XG4gICAgbWVyZ2UoXG4gICAgICBuYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlci50cmFja1NpemUkLFxuICAgICAgdGhpcy5faW5wdXRDaGFuZ2UkLnBpcGUobWFwKCgpID0+IG5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyLnRyYWNrU2l6ZSkpLFxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKG5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSA9PiB7XG4gICAgICAgIGlmIChuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgPT09IG51bGwpIHsgLy8gdGhlIG5hdGl2ZSBzY3JvbGxiYXIgc2l0cyBvbiB0b3Agb2YgdGhlIGNvbnRlbnRcbiAgICAgICAgICB0aGlzLnVzZU5hdGl2ZVNjcm9sbGJhcnMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzRGlzcGxheU5hdGl2ZVNjcm9sbGJhciA/IHRoaXMudXNlTmF0aXZlU2Nyb2xsYmFycygpIDogdGhpcy5zaGlmdE5hdGl2ZVNjcm9sbGJhcnMobmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXNlcyB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgd2hlbiBjb250ZW50IG92ZXJmbG93cy5cbiAgICovXG4gIHByaXZhdGUgdXNlTmF0aXZlU2Nyb2xsYmFycygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudCwge1xuICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgbWFyZ2luQm90dG9tOiAwLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNoaWZ0cyB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgb3V0IG9mIHRoZSB2aXNpYmxlIHZpZXdwb3J0IGFyZWEuXG4gICAqL1xuICBwcml2YXRlIHNoaWZ0TmF0aXZlU2Nyb2xsYmFycyhuYXRpdmVTY3JvbGxiYXJUcmFja1NpemU6IE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUodGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBvdmVyZmxvdzogJ3Njcm9sbCcsXG4gICAgICB3aWR0aDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLnZTY3JvbGxiYXJUcmFja1dpZHRofXB4YCxcbiAgICAgIGhlaWdodDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLmhTY3JvbGxiYXJUcmFja0hlaWdodH1weGAsXG4gICAgICBtYXJnaW5SaWdodDogYC0ke25hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZS52U2Nyb2xsYmFyVHJhY2tXaWR0aH1weGAsXG4gICAgICBtYXJnaW5Cb3R0b206IGAtJHtuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUuaFNjcm9sbGJhclRyYWNrSGVpZ2h0fXB4YCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGUoZWxlbWVudDogRWxlbWVudCwgc3R5bGU6IERpY3Rpb25hcnkpOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhzdHlsZSkuZm9yRWFjaChrZXkgPT4gdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwga2V5LCBzdHlsZVtrZXldKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0Q2hhbmdlJC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG59XG4iXX0=
91
+ }], ctorParameters: () => [] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0L3NyYy9zY3JvbGxhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUEyQixtQ0FBbUMsRUFBQyxNQUFNLGdEQUFnRCxDQUFDOztBQUc3SDs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQztRQVZRLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDekQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixzQ0FBaUMsR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUV4Rjs7O1dBR0c7UUFDSSwyQkFBc0IsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLHFDQUFxQyxFQUFDLENBQUMsQ0FBQztRQUczRixJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSywrQkFBK0I7UUFDckMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDN0QsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO2dCQUMzQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztnQkFDNUMsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwRixJQUFJLHdCQUF3QixFQUFFLENBQUM7Z0JBQzdCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQ0ksQ0FBQztnQkFDSixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxXQUFXLEVBQUUsQ0FBQztZQUNkLFlBQVksRUFBRSxDQUFDO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHFCQUFxQixDQUFDLHdCQUFrRDtRQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDeEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLGVBQWUsd0JBQXdCLENBQUMsb0JBQW9CLElBQUk7WUFDdkUsTUFBTSxFQUFFLGVBQWUsd0JBQXdCLENBQUMscUJBQXFCLElBQUk7WUFDekUsV0FBVyxFQUFFLElBQUksd0JBQXdCLENBQUMsb0JBQW9CLElBQUk7WUFDbEUsWUFBWSxFQUFFLElBQUksd0JBQXdCLENBQUMscUJBQXFCLElBQUk7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQWlCO1FBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7OEdBakVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiwgdW50cmFja2VkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLCBTY2lOYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlcn0gZnJvbSAnLi9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge0RpY3Rpb25hcnl9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuXG4vKipcbiAqIE1ha2VzIHRoZSBob3N0IGVsZW1lbnQgbmF0aXZlbHkgc2Nyb2xsYWJsZSBhbmQgaGlkZXMgbmF0aXZlIHNjcm9sbGJhcnMgYnkgZGVmYXVsdCwgdW5sZXNzIG5hdGl2ZSBzY3JvbGxiYXJzXG4gKiBhbHJlYWR5IHNpdCBvbiB0b3Agb2YgdGhlIHZpZXdwb3J0IChlLmcuIGluIE9TIFgpLlxuICpcbiAqIEJlY2F1c2UgdGhlcmUgaXMgbm8gY3Jvc3MtYnJvd3NlciBBUEkgdG8gaGlkZSBzY3JvbGxiYXJzIHdpdGhvdXQgbG9zaW5nIG5hdGl2ZSBzY3JvbGwgc3VwcG9ydCwgd2Ugc2V0ICdvdmVyZmxvdydcbiAqIHRvICdzY3JvbGwnIGJ1dCBzaGlmdCB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgb3V0IG9mIHRoZSB2aXNpYmxlIHZpZXdwb3J0IGFyZWEuIFRoZSBzaGlmdCBvZmZzZXQgaXMgY29tcHV0ZWQgdXBmcm9udC5cbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBleHBlY3RzIGl0cyBob3N0IGVsZW1lbnQgdG8gYmUgdGhlIG9ubHkgY2hpbGQgaW4gZG9jdW1lbnQgZmxvdyBpbiBpdHMgcGFyZW50IERPTSBlbGVtZW50LiBJdCBtYWtlcyB0aGUgaG9zdCBlbGVtZW50XG4gKiBmaWxsIHVwIHRoZSBlbnRpcmUgc3BhY2UgKHdpZHRoIGFuZCBoZWlnaHQgc2V0IHRvIDEwMCUpLiBUaGUgcGFyZW50IGVsZW1lbnQgbXVzdCBoYXZlIGl0cyBDU1MgYG92ZXJmbG93YCBwcm9wZXJ0eSBzZXQgdG8gYGhpZGRlbmBcbiAqIHRvIGhpZGUgdGhlIHB1c2hlZCBvdXQgbmF0aXZlIHNjcm9sbGJhcnMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzY2lTY3JvbGxhYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNjaVNjcm9sbGFibGVEaXJlY3RpdmUge1xuXG4gIHByaXZhdGUgX2hvc3QgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgX25hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyID0gaW5qZWN0KFNjaU5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyKTtcblxuICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciB0byBkaXNwbGF5IG5hdGl2ZSBzY3JvbGxiYXJzLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmIHRoZSBuYXRpdmUgc2Nyb2xsYmFyIHNpdHMgb24gdG9wIG9mIHRoZSBjb250ZW50LCBlLmcuIGluIE9TIFguXG4gICAqL1xuICBwdWJsaWMgZGlzcGxheU5hdGl2ZVNjcm9sbGJhciA9IGlucHV0KGZhbHNlLCB7YWxpYXM6ICdzY2lTY3JvbGxhYmxlRGlzcGxheU5hdGl2ZVNjcm9sbGJhcid9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbnRyb2xEaXNwbGF5T2ZOYXRpdmVTY3JvbGxiYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250cm9scyB0aGUgZGlzcGxheSBvZiB0aGUgbmF0aXZlIHNjcm9sbGJhciBiYXNlZCBvbiB0aGlzIGRpcmVjdGl2ZSdzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIGNvbnRyb2xEaXNwbGF5T2ZOYXRpdmVTY3JvbGxiYXIoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGRpc3BsYXlOYXRpdmVTY3JvbGxiYXIgPSB0aGlzLmRpc3BsYXlOYXRpdmVTY3JvbGxiYXIoKTtcbiAgICAgIGlmIChkaXNwbGF5TmF0aXZlU2Nyb2xsYmFyKSB7XG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLnVzZU5hdGl2ZVNjcm9sbGJhcnMoKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplID0gdGhpcy5fbmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplUHJvdmlkZXIudHJhY2tTaXplKCk7XG4gICAgICBpZiAobmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplKSB7XG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLnNoaWZ0TmF0aXZlU2Nyb2xsYmFycyhuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUpKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy51c2VOYXRpdmVTY3JvbGxiYXJzKCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZXMgdGhlIG5hdGl2ZSBzY3JvbGxiYXJzIHdoZW4gY29udGVudCBvdmVyZmxvd3MuXG4gICAqL1xuICBwcml2YXRlIHVzZU5hdGl2ZVNjcm9sbGJhcnMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSh0aGlzLl9ob3N0LCB7XG4gICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbWFyZ2luUmlnaHQ6IDAsXG4gICAgICBtYXJnaW5Cb3R0b206IDAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2hpZnRzIHRoZSBuYXRpdmUgc2Nyb2xsYmFycyBvdXQgb2YgdGhlIHZpc2libGUgdmlld3BvcnQgYXJlYS5cbiAgICovXG4gIHByaXZhdGUgc2hpZnROYXRpdmVTY3JvbGxiYXJzKG5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZTogTmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSh0aGlzLl9ob3N0LCB7XG4gICAgICBvdmVyZmxvdzogJ3Njcm9sbCcsXG4gICAgICB3aWR0aDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLnZTY3JvbGxiYXJUcmFja1dpZHRofXB4YCxcbiAgICAgIGhlaWdodDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLmhTY3JvbGxiYXJUcmFja0hlaWdodH1weGAsXG4gICAgICBtYXJnaW5SaWdodDogYC0ke25hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZS52U2Nyb2xsYmFyVHJhY2tXaWR0aH1weGAsXG4gICAgICBtYXJnaW5Cb3R0b206IGAtJHtuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUuaFNjcm9sbGJhclRyYWNrSGVpZ2h0fXB4YCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGUoZWxlbWVudDogRWxlbWVudCwgc3R5bGU6IERpY3Rpb25hcnkpOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhzdHlsZSkuZm9yRWFjaChrZXkgPT4gdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwga2V5LCBzdHlsZVtrZXldKSk7XG4gIH1cbn1cbiJdfQ==