@skyux/core 4.7.0 → 4.9.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/bundles/skyux-core.umd.js +246 -39
  3. package/bundles/skyux-core.umd.js.map +1 -1
  4. package/bundles/skyux-core.umd.min.js +1 -1
  5. package/bundles/skyux-core.umd.min.js.map +1 -1
  6. package/esm2015/modules/dock/dock-dom-adapter.service.js +60 -3
  7. package/esm2015/modules/dock/dock.component.js +13 -4
  8. package/esm2015/modules/numeric/numeric.options.js +6 -1
  9. package/esm2015/modules/numeric/numeric.service.js +2 -2
  10. package/esm2015/modules/scrollable-host/scrollable-host.module.js +16 -0
  11. package/esm2015/modules/scrollable-host/scrollable-host.service.js +89 -0
  12. package/esm2015/modules/shared/number-format/number-format-utility.js +4 -3
  13. package/esm2015/modules/viewkeeper/viewkeeper-host-options.js +1 -1
  14. package/esm2015/modules/viewkeeper/viewkeeper-options.js +1 -1
  15. package/esm2015/modules/viewkeeper/viewkeeper.directive.js +35 -16
  16. package/esm2015/modules/viewkeeper/viewkeeper.js +27 -11
  17. package/esm2015/modules/viewkeeper/viewkeeper.module.js +5 -1
  18. package/esm2015/public_api.js +2 -1
  19. package/esm2015/skyux-core.js +2 -1
  20. package/esm5/modules/dock/dock-dom-adapter.service.js +61 -3
  21. package/esm5/modules/dock/dock.component.js +13 -4
  22. package/esm5/modules/numeric/numeric.options.js +6 -1
  23. package/esm5/modules/numeric/numeric.service.js +2 -2
  24. package/esm5/modules/scrollable-host/scrollable-host.module.js +19 -0
  25. package/esm5/modules/scrollable-host/scrollable-host.service.js +91 -0
  26. package/esm5/modules/shared/number-format/number-format-utility.js +4 -3
  27. package/esm5/modules/viewkeeper/viewkeeper-host-options.js +1 -1
  28. package/esm5/modules/viewkeeper/viewkeeper-options.js +1 -1
  29. package/esm5/modules/viewkeeper/viewkeeper.directive.js +45 -25
  30. package/esm5/modules/viewkeeper/viewkeeper.js +31 -11
  31. package/esm5/modules/viewkeeper/viewkeeper.module.js +5 -1
  32. package/esm5/public_api.js +2 -1
  33. package/esm5/skyux-core.js +2 -1
  34. package/fesm2015/skyux-core.js +226 -32
  35. package/fesm2015/skyux-core.js.map +1 -1
  36. package/fesm5/skyux-core.js +246 -41
  37. package/fesm5/skyux-core.js.map +1 -1
  38. package/modules/dock/dock-dom-adapter.service.d.ts +14 -3
  39. package/modules/numeric/numeric.options.d.ts +5 -0
  40. package/modules/scrollable-host/scrollable-host.module.d.ts +2 -0
  41. package/modules/scrollable-host/scrollable-host.service.d.ts +13 -0
  42. package/modules/shared/number-format/number-format-utility.d.ts +1 -1
  43. package/modules/viewkeeper/viewkeeper-host-options.d.ts +1 -0
  44. package/modules/viewkeeper/viewkeeper-options.d.ts +5 -0
  45. package/modules/viewkeeper/viewkeeper.d.ts +4 -1
  46. package/modules/viewkeeper/viewkeeper.directive.d.ts +4 -1
  47. package/package.json +2 -2
  48. package/public_api.d.ts +1 -0
  49. package/skyux-core.d.ts +1 -0
  50. package/skyux-core.metadata.json +1 -1
@@ -1,24 +1,81 @@
1
1
  import { __decorate } from "tslib";
2
- import { ElementRef, Injectable, Renderer2, RendererFactory2 } from '@angular/core';
2
+ import { ElementRef, Injectable, OnDestroy, Renderer2, RendererFactory2 } from '@angular/core';
3
+ import { fromEvent as observableFromEvent, Subject } from 'rxjs';
4
+ import { debounceTime, takeUntil } from 'rxjs/operators';
5
+ import { MutationObserverService } from '../mutation/mutation-observer-service';
3
6
  /**
4
7
  * @internal
5
8
  */
6
9
  let SkyDockDomAdapterService = class SkyDockDomAdapterService {
7
- constructor(rendererFactory) {
10
+ constructor(mutationService, rendererFactory) {
11
+ this.mutationService = mutationService;
12
+ this.ngUnsubscribe = new Subject();
8
13
  this.renderer = rendererFactory.createRenderer(undefined, undefined);
9
14
  }
15
+ ngOnDestroy() {
16
+ if (this.observer) {
17
+ this.observer.disconnect();
18
+ }
19
+ this.ngUnsubscribe.next();
20
+ if (this.styleElement) {
21
+ this.destroyStyleElement();
22
+ }
23
+ this.currentDockHeight =
24
+ this.ngUnsubscribe =
25
+ this.observer =
26
+ this.styleElement = undefined;
27
+ }
28
+ setSticky(elementRef) {
29
+ this.renderer.addClass(elementRef.nativeElement, 'sky-dock-sticky');
30
+ }
10
31
  setZIndex(zIndex, elementRef) {
11
32
  this.renderer.setStyle(elementRef.nativeElement, 'z-index', zIndex);
12
33
  }
13
34
  unbindDock(elementRef) {
14
35
  this.renderer.addClass(elementRef.nativeElement, 'sky-dock-unbound');
15
36
  }
37
+ watchDomChanges(elementRef) {
38
+ this.observer = this.mutationService.create(() => {
39
+ this.adjustBodyStyles(elementRef);
40
+ });
41
+ this.observer.observe(elementRef.nativeElement, {
42
+ attributes: true,
43
+ childList: true,
44
+ characterData: true,
45
+ subtree: true
46
+ });
47
+ observableFromEvent(window, 'resize')
48
+ .pipe(debounceTime(250), takeUntil(this.ngUnsubscribe))
49
+ .subscribe(() => this.adjustBodyStyles(elementRef));
50
+ }
51
+ adjustBodyStyles(elementRef) {
52
+ const dockHeight = elementRef.nativeElement.getBoundingClientRect().height;
53
+ if (dockHeight === this.currentDockHeight) {
54
+ return;
55
+ }
56
+ // Create a style element to avoid overwriting any existing inline body styles.
57
+ const styleElement = this.renderer.createElement('style');
58
+ const textNode = this.renderer.createText(`body { margin-bottom: ${dockHeight}px; }`);
59
+ // Apply a `data-` attribute to make unit testing easier.
60
+ this.renderer.setAttribute(styleElement, 'data-test-selector', 'sky-layout-dock-bottom-styles');
61
+ this.renderer.appendChild(styleElement, textNode);
62
+ this.renderer.appendChild(document.head, styleElement);
63
+ if (this.styleElement) {
64
+ this.destroyStyleElement();
65
+ }
66
+ this.currentDockHeight = dockHeight;
67
+ this.styleElement = styleElement;
68
+ }
69
+ destroyStyleElement() {
70
+ this.renderer.removeChild(document.head, this.styleElement);
71
+ }
16
72
  };
17
73
  SkyDockDomAdapterService.ctorParameters = () => [
74
+ { type: MutationObserverService },
18
75
  { type: RendererFactory2 }
19
76
  ];
20
77
  SkyDockDomAdapterService = __decorate([
21
78
  Injectable()
22
79
  ], SkyDockDomAdapterService);
23
80
  export { SkyDockDomAdapterService };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL2RvY2svZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCOztHQUVHO0FBRUgsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFHbkMsWUFDRSxlQUFpQztRQUVqQyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBYyxFQUFFLFVBQXNCO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxVQUFVLENBQUMsVUFBc0I7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FDRixDQUFBOztZQVpvQixnQkFBZ0I7O0FBSnhCLHdCQUF3QjtJQURwQyxVQUFVLEVBQUU7R0FDQSx3QkFBd0IsQ0FnQnBDO1NBaEJZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5MlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURvY2tEb21BZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd6LWluZGV4JywgekluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyB1bmJpbmREb2NrKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NreS1kb2NrLXVuYm91bmQnKTtcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL2RvY2svZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsU0FBUyxJQUFJLG1CQUFtQixFQUNoQyxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvQzs7R0FFRztBQUVILElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBWW5DLFlBQ1UsZUFBd0MsRUFDaEQsZUFBaUM7UUFEekIsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBVDFDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVkxQyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLElBQUksQ0FBQyxhQUFhO2dCQUNsQixJQUFJLENBQUMsUUFBUTtvQkFDYixJ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UmVmLFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5MlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2Vcbn0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgY3VycmVudERvY2tIZWlnaHQ6IG51bWJlcjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIHByaXZhdGUgc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbXV0YXRpb25TZXJ2aWNlOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuc3R5bGVFbGVtZW50KSB7XG4gICAgICB0aGlzLmRlc3Ryb3lTdHlsZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnREb2NrSGVpZ2h0ID1cbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUgPVxuICAgIHRoaXMub2JzZXJ2ZXIgPVxuICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldFN0aWNreShlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdza3ktZG9jay1zdGlja3knKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRaSW5kZXgoekluZGV4OiBudW1iZXIsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3otaW5kZXgnLCB6SW5kZXgpO1xuICB9XG5cbiAgcHVibGljIHVuYmluZERvY2soZWxlbWVudFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2t5LWRvY2stdW5ib3VuZCcpO1xuICB9XG5cbiAgcHVibGljIHdhdGNoRG9tQ2hhbmdlcyhlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlciA9IHRoaXMubXV0YXRpb25TZXJ2aWNlLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLmFkanVzdEJvZHlTdHlsZXMoZWxlbWVudFJlZik7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWVcbiAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hZGp1c3RCb2R5U3R5bGVzKGVsZW1lbnRSZWYpKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0Qm9keVN0eWxlcyhlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgZG9ja0hlaWdodCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgaWYgKGRvY2tIZWlnaHQgPT09IHRoaXMuY3VycmVudERvY2tIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzdHlsZSBlbGVtZW50IHRvIGF2b2lkIG92ZXJ3cml0aW5nIGFueSBleGlzdGluZyBpbmxpbmUgYm9keSBzdHlsZXMuXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIGNvbnN0IHRleHROb2RlID0gdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KGBib2R5IHsgbWFyZ2luLWJvdHRvbTogJHtkb2NrSGVpZ2h0fXB4OyB9YCk7XG5cbiAgICAvLyBBcHBseSBhIGBkYXRhLWAgYXR0cmlidXRlIHRvIG1ha2UgdW5pdCB0ZXN0aW5nIGVhc2llci5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHN0eWxlRWxlbWVudCxcbiAgICAgICdkYXRhLXRlc3Qtc2VsZWN0b3InLFxuICAgICAgJ3NreS1sYXlvdXQtZG9jay1ib3R0b20tc3R5bGVzJ1xuICAgICk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCwgdGV4dE5vZGUpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuaGVhZCwgc3R5bGVFbGVtZW50KTtcblxuICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5kZXN0cm95U3R5bGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50RG9ja0hlaWdodCA9IGRvY2tIZWlnaHQ7XG4gICAgdGhpcy5zdHlsZUVsZW1lbnQgPSBzdHlsZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lTdHlsZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -45,8 +45,17 @@ let SkyDockComponent = class SkyDockComponent {
45
45
  setOptions(options) {
46
46
  var _a, _b;
47
47
  this.options = options;
48
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.location) === SkyDockLocation.BeforeElement) {
49
- this.domAdapter.unbindDock(this.elementRef);
48
+ switch ((_a = this.options) === null || _a === void 0 ? void 0 : _a.location) {
49
+ case SkyDockLocation.BeforeElement:
50
+ this.domAdapter.unbindDock(this.elementRef);
51
+ break;
52
+ case SkyDockLocation.ElementBottom:
53
+ this.domAdapter.setSticky(this.elementRef);
54
+ break;
55
+ case SkyDockLocation.BodyBottom:
56
+ default:
57
+ this.domAdapter.watchDomChanges(this.elementRef);
58
+ break;
50
59
  }
51
60
  if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.zIndex) {
52
61
  this.domAdapter.setZIndex(this.options.zIndex, this.elementRef);
@@ -85,8 +94,8 @@ SkyDockComponent = __decorate([
85
94
  SkyDockDomAdapterService
86
95
  ],
87
96
  changeDetection: ChangeDetectionStrategy.OnPush,
88
- styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:sticky;left:0;bottom:0;right:0}"]
97
+ styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:0;bottom:0;right:0}:host.sky-dock-sticky{position:-webkit-sticky;position:sticky}"]
89
98
  })
90
99
  ], SkyDockComponent);
91
100
  export { SkyDockComponent };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSw0QkFBNEIsQ0FBQztBQVVwQyxPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQjs7R0FFRztBQVVILElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBWTNCLFlBQ1UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsVUFBb0M7UUFKcEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQVB0QyxhQUFRLEdBQWdDLEVBQUUsQ0FBQztJQVEvQyxDQUFDO0lBRUUsZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUF1QyxFQUFFO1FBRXpDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxJ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RUFBRSxVQUFVO1FBQ3BCLHNEQUFvQztRQUVwQyxTQUFTLEVBQUU7WUFDVCx3QkFBd0I7U0FDekI7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDaEQsQ0FBQztHQUNXLGdCQUFnQixDQXFGNUI7U0FyRlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlXG59IGZyb20gJy4vZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZ1xufSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NrSXRlbVJlZmVyZW5jZVxufSBmcm9tICcuL2RvY2staXRlbS1yZWZlcmVuY2UnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NrTG9jYXRpb25cbn0gZnJvbSAnLi9kb2NrLWxvY2F0aW9uJztcblxuaW1wb3J0IHtcbiAgU2t5RG9ja09wdGlvbnNcbn0gZnJvbSAnLi9kb2NrLW9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBzb3J0QnlTdGFja09yZGVyXG59IGZyb20gJy4vc29ydC1ieS1zdGFjay1vcmRlcic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreURvY2tEb21BZGFwdGVyU2VydmljZVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NrQ29tcG9uZW50ICB7XG5cbiAgcHJpdmF0ZSBvcHRpb25zOiBTa3lEb2NrT3B0aW9ucztcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHJpdmF0ZSBpdGVtUmVmczogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55PltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGRvbUFkYXB0ZXI6IFNreURvY2tEb21BZGFwdGVyU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBpbnNlcnRDb21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZzogU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyA9IHt9XG4gICk6IFNreURvY2tJdGVtUmVmZXJlbmNlPFQ+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogY29uZmlnLnByb3ZpZGVycyB8fCBbXSxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50PFQ+KGZhY3RvcnksIHVuZGVmaW5lZCwgaW5qZWN0b3IpO1xuICAgIGNvbnN0IHN0YWNrT3JkZXIgPSAoY29uZmlnLnN0YWNrT3JkZXIgIT09IG51bGwgJiYgY29uZmlnLnN0YWNrT3JkZXIgIT09IHVuZGVmaW5lZClcbiAgICAgID8gY29uZmlnLnN0YWNrT3JkZXJcbiAgICAgIDogdGhpcy5nZXRIaWdoZXN0U3RhY2tPcmRlcigpO1xuXG4gICAgdGhpcy5pdGVtUmVmcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXJcbiAgICB9KTtcblxuICAgIHRoaXMuc29ydEl0ZW1zQnlTdGFja09yZGVyKCk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUl0ZW0oaXRlbTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdSZWYgPSBpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldztcbiAgICB0aGlzLnRhcmdldC5yZW1vdmUodGhpcy50YXJnZXQuaW5kZXhPZih2aWV3UmVmKSk7XG5cbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuaXRlbVJlZnMuZmluZChpID0+IGkuY29tcG9uZW50UmVmLmhvc3RWaWV3ID09PSB2aWV3UmVmKTtcbiAgICB0aGlzLml0ZW1SZWZzLnNwbGljZSh0aGlzLml0ZW1SZWZzLmluZGV4T2YoZm91bmQpLCAxKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcHRpb25zKG9wdGlvbnM6IFNreURvY2tPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIGlmICh0aGlzLm9wdGlvbnM/LmxvY2F0aW9uID09PSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudCkge1xuICAgICAgdGhpcy5kb21BZGFwdGVyLnVuYmluZERvY2sodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zPy56SW5kZXgpIHtcbiAgICAgIHRoaXMuZG9tQWRhcHRlci5zZXRaSW5kZXgodGhpcy5vcHRpb25zLnpJbmRleCwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRJdGVtc0J5U3RhY2tPcmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1SZWZzLnNvcnQoc29ydEJ5U3RhY2tPcmRlcik7XG5cbiAgICAvLyBSZWFzc2lnbiB0aGUgY29ycmVjdCBpbmRleCBmb3IgZWFjaCB2aWV3LlxuICAgIHRoaXMuaXRlbVJlZnMuZm9yRWFjaCgoaXRlbSwgaSkgPT4gdGhpcy50YXJnZXQubW92ZShpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldywgaSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIaWdoZXN0U3RhY2tPcmRlcigpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLml0ZW1SZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaXRlbVJlZnNbMF0uc3RhY2tPcmRlciArIDE7XG4gIH1cblxufVxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSw0QkFBNEIsQ0FBQztBQVVwQyxPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQjs7R0FFRztBQVVILElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBWTNCLFlBQ1UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsVUFBb0M7UUFKcEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQVB0QyxhQUFRLEdBQWdDLEVBQUUsQ0FBQztJQVEvQyxDQUFDO0lBRUUsZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUF1QyxFQUFFO1FBRXpDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxJ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QyxDQUFDO0lBQ3pDLENBQUM7Q0FFRixDQUFBOztZQWpGMkIsaUJBQWlCO1lBQ3ZCLHdCQUF3QjtZQUN0QixVQUFVO1lBQ1osUUFBUTtZQUNOLHdCQUF3Qjs7QUFUOUM7SUFKQyxTQUFTLENBQUMsUUFBUSxFQUFFO1FBQ25CLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDO2dEQUMrQjtBQVJ0QixnQkFBZ0I7SUFUNUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFVBQVU7UUFDcEIsc0RBQW9DO1FBRXBDLFNBQVMsRUFBRTtZQUNULHdCQUF3QjtTQUN6QjtRQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNoRCxDQUFDO0dBQ1csZ0JBQWdCLENBOEY1QjtTQTlGWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2Vcbn0gZnJvbSAnLi9kb2NrLWRvbS1hZGFwdGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NrSW5zZXJ0Q29tcG9uZW50Q29uZmlnXG59IGZyb20gJy4vZG9jay1pbnNlcnQtY29tcG9uZW50LWNvbmZpZyc7XG5cbmltcG9ydCB7XG4gIFNreURvY2tJdGVtUmVmZXJlbmNlXG59IGZyb20gJy4vZG9jay1pdGVtLXJlZmVyZW5jZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY2tMb2NhdGlvblxufSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuXG5pbXBvcnQge1xuICBTa3lEb2NrT3B0aW9uc1xufSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5cbmltcG9ydCB7XG4gIHNvcnRCeVN0YWNrT3JkZXJcbn0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY2tDb21wb25lbnQge1xuXG4gIHByaXZhdGUgb3B0aW9uczogU2t5RG9ja09wdGlvbnM7XG5cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlXG4gIH0pXG4gIHByaXZhdGUgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgaXRlbVJlZnM6IFNreURvY2tJdGVtUmVmZXJlbmNlPGFueT5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgaW5zZXJ0Q29tcG9uZW50PFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc6IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgPSB7fVxuICApOiBTa3lEb2NrSXRlbVJlZmVyZW5jZTxUPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IGNvbmZpZy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3JcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudDxUPihmYWN0b3J5LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICBjb25zdCBzdGFja09yZGVyID0gKGNvbmZpZy5zdGFja09yZGVyICE9PSBudWxsICYmIGNvbmZpZy5zdGFja09yZGVyICE9PSB1bmRlZmluZWQpXG4gICAgICA/IGNvbmZpZy5zdGFja09yZGVyXG4gICAgICA6IHRoaXMuZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuaXRlbVJlZnMucHVzaCh7XG4gICAgICBjb21wb25lbnRSZWYsXG4gICAgICBzdGFja09yZGVyXG4gICAgfSk7XG5cbiAgICB0aGlzLnNvcnRJdGVtc0J5U3RhY2tPcmRlcigpO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnRSZWYsXG4gICAgICBzdGFja09yZGVyXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGl0ZW06IFNreURvY2tJdGVtUmVmZXJlbmNlPGFueT4pOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3UmVmID0gaXRlbS5jb21wb25lbnRSZWYuaG9zdFZpZXc7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlKHRoaXMudGFyZ2V0LmluZGV4T2Yodmlld1JlZikpO1xuXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLml0ZW1SZWZzLmZpbmQoaSA9PiBpLmNvbXBvbmVudFJlZi5ob3N0VmlldyA9PT0gdmlld1JlZik7XG4gICAgdGhpcy5pdGVtUmVmcy5zcGxpY2UodGhpcy5pdGVtUmVmcy5pbmRleE9mKGZvdW5kKSwgMSk7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucz8ubG9jYXRpb24pIHtcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJlZm9yZUVsZW1lbnQ6XG4gICAgICAgIHRoaXMuZG9tQWRhcHRlci51bmJpbmREb2NrKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgdGhpcy5kb21BZGFwdGVyLnNldFN0aWNreSh0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJvZHlCb3R0b206XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmRvbUFkYXB0ZXIud2F0Y2hEb21DaGFuZ2VzKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnM/LnpJbmRleCkge1xuICAgICAgdGhpcy5kb21BZGFwdGVyLnNldFpJbmRleCh0aGlzLm9wdGlvbnMuekluZGV4LCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEl0ZW1zQnlTdGFja09yZGVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVJlZnMuc29ydChzb3J0QnlTdGFja09yZGVyKTtcblxuICAgIC8vIFJlYXNzaWduIHRoZSBjb3JyZWN0IGluZGV4IGZvciBlYWNoIHZpZXcuXG4gICAgdGhpcy5pdGVtUmVmcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB0aGlzLnRhcmdldC5tb3ZlKGl0ZW0uY29tcG9uZW50UmVmLmhvc3RWaWV3LCBpKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEhpZ2hlc3RTdGFja09yZGVyKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuaXRlbVJlZnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtUmVmc1swXS5zdGFja09yZGVyICsgMTtcbiAgfVxuXG59XG4iXX0=
@@ -13,6 +13,11 @@ export class NumericOptions {
13
13
  * @default "number"
14
14
  */
15
15
  this.format = 'number';
16
+ /**
17
+ * Specifies the format of the currency`.
18
+ * @default "standard"
19
+ */
20
+ this.currencySign = 'standard';
16
21
  /**
17
22
  * Specifies the ISO4217 currency code to use for currency formatting. If you do not specify a
18
23
  * currency code, the component uses the browser's culture to determine the currency unless your
@@ -33,4 +38,4 @@ export class NumericOptions {
33
38
  this.truncateAfter = 0;
34
39
  }
35
40
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFFRTs7O1dBR0c7UUFDSSxXQUFNLEdBQVksQ0FBQyxDQUFDO1FBRTNCOzs7V0FHRztRQUNJLFdBQU0sR0FBWSxRQUFRLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDSSxRQUFHLEdBQVksS0FBSyxDQUFDO1FBYzVCOzs7V0FHRztRQUNJLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFFakM7Ozs7V0FJRztRQUNJLGtCQUFhLEdBQVksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvdmlkZXMgYXJndW1lbnRzIGZvciB0aGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIE51bWVyaWNPcHRpb25zIHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgc2VwYXJhdG9yLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBwdWJsaWMgZGlnaXRzPzogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyB0byBmb3JtYXQgdGhlIG51bWJlci4gT3B0aW9ucyBhcmUgYGN1cnJlbmN5YCBvciBgbnVtYmVyYC5cbiAgICogQGRlZmF1bHQgXCJudW1iZXJcIlxuICAgKi9cbiAgcHVibGljIGZvcm1hdD86IHN0cmluZyA9ICdudW1iZXInO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIElTTzQyMTcgY3VycmVuY3kgY29kZSB0byB1c2UgZm9yIGN1cnJlbmN5IGZvcm1hdHRpbmcuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhXG4gICAqIGN1cnJlbmN5IGNvZGUsIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYnJvd3NlcidzIGN1bHR1cmUgdG8gZGV0ZXJtaW5lIHRoZSBjdXJyZW5jeSB1bmxlc3MgeW91clxuICAgKiBTUEEgcHJvdmlkZXMgYSBkaWZmZXJlbnQgY3VsdHVyZSB3aXRoIGBTa3lBcHBMb2NhbGVQcm92aWRlcmAuXG4gICAqIEBkZWZhdWx0ICdVU0QnXG4gICAqL1xuICBwdWJsaWMgaXNvPzogc3RyaW5nID0gJ1VTRCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbG9jYWxlIGNvZGUgdG8gdXNlIHdoZW4gZm9ybWF0dGluZy5cbiAgICovXG4gIHB1YmxpYyBsb2NhbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHNlcGFyYXRvci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXNcbiAgICogd2hlbiB0aGUgYHRydW5jYXRlYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYGZhbHNlYC4gSWYgYGRpZ2l0c2Agc3BlY2lmaWVzIGEgbWF4aW11bSBudW1iZXIgb2ZcbiAgICogZGlnaXRzLCB0aGVuIGBtaW5EaWdpdHNgIG11c3QgYmUgbGVzcyB0aGFuIHRoYXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgbWluRGlnaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBzaG9ydGVuIG51bWJlcnMgdG8gcm91bmRlZCBudW1iZXJzIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVyc1xuICAgKiBzdWNoIGFzIEsgZm9yIHRob3VzYW5kcywgTSBmb3IgbWlsbGlvbnMsIEIgZm9yIGJpbGxpb25zLCBhbmQgVCBmb3IgdHJpbGxpb24uXG4gICAqL1xuICBwdWJsaWMgdHJ1bmNhdGU/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyBwb2ludCBhZnRlciB3aGljaCBudW1iZXJzIGFyZSBzaG9ydGVuZWQgdG8gcm91bmRlZCBudW1iZXJzXG4gICAqIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVycy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgcHVibGljIHRydW5jYXRlQWZ0ZXI/OiBudW1iZXIgPSAwO1xufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFFRTs7O1dBR0c7UUFDSSxXQUFNLEdBQVksQ0FBQyxDQUFDO1FBRTNCOzs7V0FHRztRQUNJLFdBQU0sR0FBWSxRQUFRLENBQUM7UUFFbEM7OztXQUdHO1FBQ0ksaUJBQVksR0FBK0IsVUFBVSxDQUFDO1FBRTdEOzs7OztXQUtHO1FBQ0ksUUFBRyxHQUFZLEtBQUssQ0FBQztRQWM1Qjs7O1dBR0c7UUFDSSxhQUFRLEdBQWEsSUFBSSxDQUFDO1FBRWpDOzs7O1dBSUc7UUFDSSxrQkFBYSxHQUFZLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3ZpZGVzIGFyZ3VtZW50cyBmb3IgdGhlIG51bWJlciB0byBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBOdW1lcmljT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHNlcGFyYXRvci5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcHVibGljIGRpZ2l0cz86IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgdG8gZm9ybWF0IHRoZSBudW1iZXIuIE9wdGlvbnMgYXJlIGBjdXJyZW5jeWAgb3IgYG51bWJlcmAuXG4gICAqIEBkZWZhdWx0IFwibnVtYmVyXCJcbiAgICovXG4gIHB1YmxpYyBmb3JtYXQ/OiBzdHJpbmcgPSAnbnVtYmVyJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmb3JtYXQgb2YgdGhlIGN1cnJlbmN5YC5cbiAgICogQGRlZmF1bHQgXCJzdGFuZGFyZFwiXG4gICAqL1xuICBwdWJsaWMgY3VycmVuY3lTaWduPzogJ2FjY291bnRpbmcnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSVNPNDIxNyBjdXJyZW5jeSBjb2RlIHRvIHVzZSBmb3IgY3VycmVuY3kgZm9ybWF0dGluZy4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFcbiAgICogY3VycmVuY3kgY29kZSwgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBicm93c2VyJ3MgY3VsdHVyZSB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbmN5IHVubGVzcyB5b3VyXG4gICAqIFNQQSBwcm92aWRlcyBhIGRpZmZlcmVudCBjdWx0dXJlIHdpdGggYFNreUFwcExvY2FsZVByb3ZpZGVyYC5cbiAgICogQGRlZmF1bHQgJ1VTRCdcbiAgICovXG4gIHB1YmxpYyBpc28/OiBzdHJpbmcgPSAnVVNEJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBsb2NhbGUgY29kZSB0byB1c2Ugd2hlbiBmb3JtYXR0aW5nLlxuICAgKi9cbiAgcHVibGljIGxvY2FsZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgc2VwYXJhdG9yLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllc1xuICAgKiB3aGVuIHRoZSBgdHJ1bmNhdGVgIHByb3BlcnR5IGlzIHNldCB0byBgZmFsc2VgLiBJZiBgZGlnaXRzYCBzcGVjaWZpZXMgYSBtYXhpbXVtIG51bWJlciBvZlxuICAgKiBkaWdpdHMsIHRoZW4gYG1pbkRpZ2l0c2AgbXVzdCBiZSBsZXNzIHRoYW4gdGhhdCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBtaW5EaWdpdHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHNob3J0ZW4gbnVtYmVycyB0byByb3VuZGVkIG51bWJlcnMgYW5kIGFiYnJldmlhdGlvbiBjaGFyYWN0ZXJzXG4gICAqIHN1Y2ggYXMgSyBmb3IgdGhvdXNhbmRzLCBNIGZvciBtaWxsaW9ucywgQiBmb3IgYmlsbGlvbnMsIGFuZCBUIGZvciB0cmlsbGlvbi5cbiAgICovXG4gIHB1YmxpYyB0cnVuY2F0ZT86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHN0YXJ0aW5nIHBvaW50IGFmdGVyIHdoaWNoIG51bWJlcnMgYXJlIHNob3J0ZW5lZCB0byByb3VuZGVkIG51bWJlcnNcbiAgICogYW5kIGFiYnJldmlhdGlvbiBjaGFyYWN0ZXJzLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBwdWJsaWMgdHJ1bmNhdGVBZnRlcj86IG51bWJlciA9IDA7XG59XG4iXX0=
@@ -80,7 +80,7 @@ let SkyNumericService = class SkyNumericService {
80
80
  // and the appropriate string value for Angular 5+.
81
81
  // See: https://angular.io/api/common/CurrencyPipe#parameters
82
82
  const symbolDisplay = 'symbol';
83
- output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso, symbolDisplay);
83
+ output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso, symbolDisplay, options.currencySign);
84
84
  break;
85
85
  // The following is a catch-all to ensure that if
86
86
  // anything but currency (or a future option) are entered,
@@ -182,4 +182,4 @@ SkyNumericService = __decorate([
182
182
  Injectable()
183
183
  ], SkyNumericService);
184
184
  export { SkyNumericService };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQ0FBK0MsQ0FBQztBQVd2RCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQTRCNUIsWUFDVSxnQkFBd0M7UUFBeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQVYxQyxnQkFBVyxHQUF1QjtZQUN4QyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtZQUN4RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN0RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN0RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtTQUN4RSxDQUFDO0lBTUUsQ0FBQztJQTVCTDs7O09BR0c7SUFDSCxJQUFXLGFBQWEsQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBb0JEOzs7O09BSUc7SUFDSSxZ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LGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreU51bWJlckZvcm1hdFV0aWxpdHlcbn0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuaW1wb3J0IHtcbiAgTnVtZXJpY09wdGlvbnNcbn0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lOdW1lcmljU3ltYm9sXG59IGZyb20gJy4vbnVtZXJpYy1zeW1ib2wnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY1NlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZXQgY3VycmVudExvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxlIHx8ICdlbi1VUyc7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2hvcnRTeW1ib2w6IHN0cmluZztcblxuICBwcml2YXRlIHN5bWJvbEluZGV4OiBTa3lOdW1lcmljU3ltYm9sW10gPSBbXG4gICAgeyB2YWx1ZTogMUUxMiwgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3RyaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgIHsgdmFsdWU6IDFFOSwgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX2JpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgeyB2YWx1ZTogMUU2LCBsYWJlbDogdGhpcy5nZXRTeW1ib2woJ3NreXV4X251bWVyaWNfbWlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICB7IHZhbHVlOiAxRTMsIGxhYmVsOiB0aGlzLmdldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190aG91c2FuZHNfc3ltYm9sJykgfVxuICBdO1xuXG4gIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBTaG9ydGVucyB3aXRoIG9yIHdpdGhvdXQgc3ltYm9sIChLL00vQi9UKSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgbnVtYmVyLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdCBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGZvcm1hdE51bWJlcihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIG9wdGlvbnM6IE51bWVyaWNPcHRpb25zXG4gICk6IHN0cmluZyB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW51bGwta2V5d29yZCAqL1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkZWNpbWFsUGxhY2VSZWdFeHAgPSAvXFwuMCskfChcXC5bMC05XSpbMS05XSkwKyQvO1xuXG4gICAgLy8gR2V0IHRoZSBzeW1ib2wgZm9yIHRoZSBudW1iZXIgYWZ0ZXIgcm91bmRpbmcsIHNpbmNlIHJvdW5kaW5nIGNvdWxkIHB1c2ggdGhlIG51bWJlclxuICAgIC8vIGludG8gYSBkaWZmZXJlbnQgc3ltYm9sIHJhbmdlLlxuICAgIGxldCByb3VuZGVkTnVtYmVyID0gdGhpcy5yb3VuZE51bWJlcih2YWx1ZSwgb3B0aW9ucy5kaWdpdHMpO1xuICAgIGxldCByb3VuZGVkTnVtYmVyQWJzID0gTWF0aC5hYnMocm91bmRlZE51bWJlcik7XG5cbiAgICBsZXQgc3VmZml4ID0gJyc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3ltYm9sSW5kZXgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzeW1ib2wgPSB0aGlzLnN5bWJvbEluZGV4W2ldO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG9wdGlvbnMudHJ1bmNhdGUgJiZcbiAgICAgICAgICByb3VuZGVkTnVtYmVyQWJzID49IG9wdGlvbnMudHJ1bmNhdGVBZnRlciAmJiByb3VuZGVkTnVtYmVyQWJzID49IHN5bWJvbC52YWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHJvdW5kZWROdW1iZXIgPSB0aGlzLnJvdW5kTnVtYmVyKCh2YWx1ZSAvIHN5bWJvbC52YWx1ZSksIG9wdGlvbnMuZGlnaXRzKTtcblxuICAgICAgICBpZiAoTWF0aC5hYnMocm91bmRlZE51bWJlcikgPT09IDEwMDAgJiYgaSA+IDApIHtcbiAgICAgICAgICAvLyBSb3VuZGluZyBjYXVzZWQgdGhlIG51bWJlciB0byBjcm9zcyBpbnRvIHRoZSByYW5nZSBvZiB0aGUgbmV4dCBzeW1ib2wuXG4gICAgICAgICAgc3ltYm9sID0gdGhpcy5zeW1ib2xJbmRleFtpIC0gMV07XG4gICAgICAgICAgcm91bmRlZE51bWJlciAvPSAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VmZml4ID0gc3ltYm9sLmxhYmVsO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvdXRwdXQgPSByb3VuZGVkTnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZShkZWNpbWFsUGxhY2VSZWdFeHAsICckMScpICsgc3VmZml4O1xuXG4gICAgdGhpcy5zdG9yZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcblxuICAgIGNvbnN0IGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IHRoaXMuY3VycmVudExvY2FsZTtcblxuICAgIGxldCBkaWdpdHM6IHN0cmluZztcbiAgICAvLyBDaGVja3MgdGhlIHN0cmluZyBlbnRlcmVkIGZvciBmb3JtYXQuIFVzaW5nIHRvTG93ZXJDYXNlIHRvIGlnbm9yZSBjYXNlLlxuICAgIHN3aXRjaCAob3B0aW9ucy5mb3JtYXQ/LnRvTG93ZXJDYXNlKCkpIHtcblxuICAgICAgLy8gSW4gYSBjYXNlIHdoZXJlIGEgZGVjaW1hbCB2YWx1ZSB3YXMgbm90IHNob3J0ZW5lZCBhbmRcbiAgICAgIC8vIHRoZSBkaWdpdCBpbnB1dCBpcyAyIG9yIGhpZ2hlciwgaXQgZm9yY2VzIDIgZGlnaXRzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoaXMgcHJldmVudHMgYSB2YWx1ZSBsaWtlICQxNS41MCBmcm9tIGRpc3BsYXlpbmcgYXMgJDE1LjUuXG4gICAgICAvLyBOb3RlOiBUaGlzIHdpbGwgbmVlZCB0byBiZSByZXZpZXdlZCBpZiB3ZSBzdXBwb3J0IGN1cnJlbmNpZXMgd2l0aFxuICAgICAgLy8gdGhyZWUgZGVjaW1hbCBkaWdpdHMuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIGNvbnN0IGlzRGVjaW1hbCA9ICh2YWx1ZSAlIDEgIT09IDApO1xuXG4gICAgICAgIGlmIChvcHRpb25zLm1pbkRpZ2l0cykge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5taW5EaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlY2ltYWwgJiYgb3B0aW9ucy5kaWdpdHMgPj0gMikge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjItJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5ndWxhciA1KyBuZWVkcyBhIHN0cmluZyBmb3IgdGhpcyBwYXJhbWV0ZXIsIGJ1dCBBbmd1bGFyIDQgbmVlZHMgYSBib29sZWFuLlxuICAgICAgICAvLyBUbyBzdXBwb3J0IGJvdGggdmVyc2lvbnMgd2UgY2FuIHN1cHBseSAnc3ltYm9sJyB3aGljaCB3aWxsIGV2YWx1YXRlIHRydXRoeSBmb3IgQW5ndWxhciA0XG4gICAgICAgIC8vIGFuZCB0aGUgYXBwcm9wcmlhdGUgc3RyaW5nIHZhbHVlIGZvciBBbmd1bGFyIDUrLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSNwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHN5bWJvbERpc3BsYXk6IGFueSA9ICdzeW1ib2wnO1xuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5LFxuICAgICAgICAgIGRpZ2l0cyxcbiAgICAgICAgICBvcHRpb25zLmlzbyxcbiAgICAgICAgICBzeW1ib2xEaXNwbGF5XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAob3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4ke29wdGlvbnMubWluRGlnaXRzfS0ke29wdGlvbnMuZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5kaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwsXG4gICAgICAgICAgZGlnaXRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLnJlcGxhY2VTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3VuZHMgYSBnaXZlbiBudW1iZXJcbiAgICpcbiAgICogSlMncyBsaW1pdGF0aW9uIC0gbnVtYmVycyBiaWdnZXIgdGhhbiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiBvciBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgKiBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgcmVwcmVzZW50ZWQgb3Igcm91bmRlZCBjb3JyZWN0bHlcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gcm91bmRcbiAgICogQHBhcmFtIHByZWNpc2lvbiAtIHdoYXQgcHJlY2lzaW9uIHRvIHJvdW5kIHdpdGgsIGRlZmF1bHRzIHRvIDAgZGVjaW1hbCBwbGFjZXNcbiAgICovXG4gIHByaXZhdGUgcm91bmROdW1iZXIoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBwcmVjaXNpb246IG51bWJlciA9IDBcbiAgKTogbnVtYmVyIHtcbiAgICBpZiAocHJlY2lzaW9uIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTa3lJbnZhbGlkQXJndW1lbnQ6IHByZWNpc2lvbiBtdXN0IGJlID49IDAnKTtcbiAgICB9XG5cbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbnVsbC1rZXl3b3JkICovXG4gICAgLyogU2FuaXR5IGNoZWNrIC0gaWdub3JpbmcgY292ZXJhZ2UgYnV0IHNob3VsZCBub3QgaWdub3JlIGlmIHdlIG1ha2UgdGhpcyBtZXRob2QgcHVibGljICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBzY2FsZWRWYWx1ZTogbnVtYmVyID0gdGhpcy5zY2FsZU51bWJlckJ5UG93ZXJPZlRlbih2YWx1ZSwgcHJlY2lzaW9uLCB0cnVlKTtcbiAgICBjb25zdCBzY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IE1hdGgucm91bmQoc2NhbGVkVmFsdWUpO1xuICAgIGNvbnN0IHVuc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSB0aGlzLnNjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgc2NhbGVkUm91bmRlZFZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgZmFsc2VcbiAgICApO1xuXG4gICAgcmV0dXJuIHVuc2NhbGVkUm91bmRlZFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjYWxlcyBhIGdpdmVuIG51bWJlciBieSBhIHBvd2VyIG9mIDEwXG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHNjYWxlXG4gICAqIEBwYXJhbSBzY2FsYXIgLSAxMF5zY2FsYXJcbiAgICogQHBhcmFtIHNjYWxlVXAgLSB3aGV0aGVyIHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHNjYWxhcjogbnVtYmVyLFxuICAgIHNjYWxlVXA6IGJvb2xlYW5cbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZVN0cjogc3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXhwb25lbnRGb3JtYXQ6IGJvb2xlYW4gPSB2YWx1ZVN0ci5pbmNsdWRlcygnZScpO1xuXG4gICAgaWYgKGlzRXhwb25lbnRGb3JtYXQpIHtcbiAgICAgIGNvbnN0IFtiYXNlLCBleHBdID0gdmFsdWVTdHIuc3BsaXQoJ2UnKTtcbiAgICAgIGNvbnN0IG5ld0V4cCA9IHNjYWxlVXAgPyAoTnVtYmVyKGV4cCkgKyBzY2FsYXIpIDogKE51bWJlcihleHApIC0gc2NhbGFyKTtcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7YmFzZX1lJHtuZXdFeHB9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGUgPSBzY2FsZVVwID8gJ2UnIDogJ2UtJztcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7dmFsdWV9JHtlfSR7c2NhbGFyfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHN5bWJvbCBhZGRlZCBmcm9tIHNob3J0ZW5pbmcgdG8gcmVhcHBseSBsYXRlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gZGVyaXZlIHRoZSBzaG9ydGVuIHN5bWJvbCBmcm9tLlxuICAgKi9cbiAgcHJpdmF0ZSBzdG9yZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bWJvbHM6IHN0cmluZ1tdID0gdGhpcy5zeW1ib2xJbmRleC5tYXAocyA9PiBzLmxhYmVsKTtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKHN5bWJvbHMuam9pbignfCcpLCAnaWcnKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4cCk7XG4gICAgdGhpcy5zaG9ydFN5bWJvbCA9IChtYXRjaCkgPyBtYXRjaC50b1N0cmluZygpIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBoYXZlIHByZXZpb3VzbHkgY2FsbGVkIHN0b3JlU2hvcnRlblN5bWJvbCB0byBoYXZlIHNvbWV0aGluZyB0byByZXBsYWNlLlxuICAgKiBGaW5kcyB0aGUgbGFzdCBudW1iZXIgaW4gdGhlIGZvcm1hdHRlZCBudW1iZXIsIGdldHMgdGhlIGluZGV4IG9mIHRoZSBwb3NpdGlvblxuICAgKiBhZnRlciB0aGF0IGNoYXJhY3RlciBhbmQgcmUtaW5zZXJ0cyB0aGUgc3ltYm9sLlxuICAgKiBXb3JrcyByZWdhcmRsZXNzIG9mIGN1cnJlbmN5IHN5bWJvbCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQgPSAvKFxcZCkoPyEuKlxcZCkvZy5leGVjKHZhbHVlKTtcbiAgICBjb25zdCBwb3MgPSByZXN1bHQuaW5kZXggKyByZXN1bHQubGVuZ3RoO1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLnN1YnN0cmluZygwLCBwb3MpICsgdGhpcy5zaG9ydFN5bWJvbCArIHZhbHVlLnN1YnN0cmluZyhwb3MpO1xuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3ltYm9sKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbl9VUycgfSxcbiAgICAgIGtleVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQ0FBK0MsQ0FBQztBQVd2RCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQTRCNUIsWUFDVSxnQkFBd0M7UUFBeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQVYxQyxnQkFBVyxHQUF1QjtZQUN4QyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtZQUN4RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN0RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN0RSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtTQUN4RSxDQUFDO0lBTUUsQ0FBQztJQTVCTDs7O09BR0c7SUFDSCxJQUFXLGFBQWEsQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBb0JEOzs7O09BSUc7SUFDSSxZ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QSxpQkFBaUIsQ0FnUDdCO1NBaFBZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreU51bWJlckZvcm1hdFV0aWxpdHlcbn0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuaW1wb3J0IHtcbiAgTnVtZXJpY09wdGlvbnNcbn0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lOdW1lcmljU3ltYm9sXG59IGZyb20gJy4vbnVtZXJpYy1zeW1ib2wnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY1NlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZXQgY3VycmVudExvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxlIHx8ICdlbi1VUyc7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2hvcnRTeW1ib2w6IHN0cmluZztcblxuICBwcml2YXRlIHN5bWJvbEluZGV4OiBTa3lOdW1lcmljU3ltYm9sW10gPSBbXG4gICAgeyB2YWx1ZTogMUUxMiwgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3RyaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgIHsgdmFsdWU6IDFFOSwgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX2JpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgeyB2YWx1ZTogMUU2LCBsYWJlbDogdGhpcy5nZXRTeW1ib2woJ3NreXV4X251bWVyaWNfbWlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICB7IHZhbHVlOiAxRTMsIGxhYmVsOiB0aGlzLmdldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190aG91c2FuZHNfc3ltYm9sJykgfVxuICBdO1xuXG4gIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBTaG9ydGVucyB3aXRoIG9yIHdpdGhvdXQgc3ltYm9sIChLL00vQi9UKSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgbnVtYmVyLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdCBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGZvcm1hdE51bWJlcihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIG9wdGlvbnM6IE51bWVyaWNPcHRpb25zXG4gICk6IHN0cmluZyB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW51bGwta2V5d29yZCAqL1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkZWNpbWFsUGxhY2VSZWdFeHAgPSAvXFwuMCskfChcXC5bMC05XSpbMS05XSkwKyQvO1xuXG4gICAgLy8gR2V0IHRoZSBzeW1ib2wgZm9yIHRoZSBudW1iZXIgYWZ0ZXIgcm91bmRpbmcsIHNpbmNlIHJvdW5kaW5nIGNvdWxkIHB1c2ggdGhlIG51bWJlclxuICAgIC8vIGludG8gYSBkaWZmZXJlbnQgc3ltYm9sIHJhbmdlLlxuICAgIGxldCByb3VuZGVkTnVtYmVyID0gdGhpcy5yb3VuZE51bWJlcih2YWx1ZSwgb3B0aW9ucy5kaWdpdHMpO1xuICAgIGxldCByb3VuZGVkTnVtYmVyQWJzID0gTWF0aC5hYnMocm91bmRlZE51bWJlcik7XG5cbiAgICBsZXQgc3VmZml4ID0gJyc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3ltYm9sSW5kZXgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzeW1ib2wgPSB0aGlzLnN5bWJvbEluZGV4W2ldO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG9wdGlvbnMudHJ1bmNhdGUgJiZcbiAgICAgICAgICByb3VuZGVkTnVtYmVyQWJzID49IG9wdGlvbnMudHJ1bmNhdGVBZnRlciAmJiByb3VuZGVkTnVtYmVyQWJzID49IHN5bWJvbC52YWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHJvdW5kZWROdW1iZXIgPSB0aGlzLnJvdW5kTnVtYmVyKCh2YWx1ZSAvIHN5bWJvbC52YWx1ZSksIG9wdGlvbnMuZGlnaXRzKTtcblxuICAgICAgICBpZiAoTWF0aC5hYnMocm91bmRlZE51bWJlcikgPT09IDEwMDAgJiYgaSA+IDApIHtcbiAgICAgICAgICAvLyBSb3VuZGluZyBjYXVzZWQgdGhlIG51bWJlciB0byBjcm9zcyBpbnRvIHRoZSByYW5nZSBvZiB0aGUgbmV4dCBzeW1ib2wuXG4gICAgICAgICAgc3ltYm9sID0gdGhpcy5zeW1ib2xJbmRleFtpIC0gMV07XG4gICAgICAgICAgcm91bmRlZE51bWJlciAvPSAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VmZml4ID0gc3ltYm9sLmxhYmVsO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvdXRwdXQgPSByb3VuZGVkTnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZShkZWNpbWFsUGxhY2VSZWdFeHAsICckMScpICsgc3VmZml4O1xuXG4gICAgdGhpcy5zdG9yZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcblxuICAgIGNvbnN0IGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IHRoaXMuY3VycmVudExvY2FsZTtcblxuICAgIGxldCBkaWdpdHM6IHN0cmluZztcbiAgICAvLyBDaGVja3MgdGhlIHN0cmluZyBlbnRlcmVkIGZvciBmb3JtYXQuIFVzaW5nIHRvTG93ZXJDYXNlIHRvIGlnbm9yZSBjYXNlLlxuICAgIHN3aXRjaCAob3B0aW9ucy5mb3JtYXQ/LnRvTG93ZXJDYXNlKCkpIHtcblxuICAgICAgLy8gSW4gYSBjYXNlIHdoZXJlIGEgZGVjaW1hbCB2YWx1ZSB3YXMgbm90IHNob3J0ZW5lZCBhbmRcbiAgICAgIC8vIHRoZSBkaWdpdCBpbnB1dCBpcyAyIG9yIGhpZ2hlciwgaXQgZm9yY2VzIDIgZGlnaXRzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoaXMgcHJldmVudHMgYSB2YWx1ZSBsaWtlICQxNS41MCBmcm9tIGRpc3BsYXlpbmcgYXMgJDE1LjUuXG4gICAgICAvLyBOb3RlOiBUaGlzIHdpbGwgbmVlZCB0byBiZSByZXZpZXdlZCBpZiB3ZSBzdXBwb3J0IGN1cnJlbmNpZXMgd2l0aFxuICAgICAgLy8gdGhyZWUgZGVjaW1hbCBkaWdpdHMuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIGNvbnN0IGlzRGVjaW1hbCA9ICh2YWx1ZSAlIDEgIT09IDApO1xuXG4gICAgICAgIGlmIChvcHRpb25zLm1pbkRpZ2l0cykge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5taW5EaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlY2ltYWwgJiYgb3B0aW9ucy5kaWdpdHMgPj0gMikge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjItJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5ndWxhciA1KyBuZWVkcyBhIHN0cmluZyBmb3IgdGhpcyBwYXJhbWV0ZXIsIGJ1dCBBbmd1bGFyIDQgbmVlZHMgYSBib29sZWFuLlxuICAgICAgICAvLyBUbyBzdXBwb3J0IGJvdGggdmVyc2lvbnMgd2UgY2FuIHN1cHBseSAnc3ltYm9sJyB3aGljaCB3aWxsIGV2YWx1YXRlIHRydXRoeSBmb3IgQW5ndWxhciA0XG4gICAgICAgIC8vIGFuZCB0aGUgYXBwcm9wcmlhdGUgc3RyaW5nIHZhbHVlIGZvciBBbmd1bGFyIDUrLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSNwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHN5bWJvbERpc3BsYXk6IGFueSA9ICdzeW1ib2wnO1xuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5LFxuICAgICAgICAgIGRpZ2l0cyxcbiAgICAgICAgICBvcHRpb25zLmlzbyxcbiAgICAgICAgICBzeW1ib2xEaXNwbGF5LFxuICAgICAgICAgIG9wdGlvbnMuY3VycmVuY3lTaWduXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAob3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4ke29wdGlvbnMubWluRGlnaXRzfS0ke29wdGlvbnMuZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5kaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwsXG4gICAgICAgICAgZGlnaXRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLnJlcGxhY2VTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3VuZHMgYSBnaXZlbiBudW1iZXJcbiAgICpcbiAgICogSlMncyBsaW1pdGF0aW9uIC0gbnVtYmVycyBiaWdnZXIgdGhhbiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiBvciBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgKiBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgcmVwcmVzZW50ZWQgb3Igcm91bmRlZCBjb3JyZWN0bHlcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gcm91bmRcbiAgICogQHBhcmFtIHByZWNpc2lvbiAtIHdoYXQgcHJlY2lzaW9uIHRvIHJvdW5kIHdpdGgsIGRlZmF1bHRzIHRvIDAgZGVjaW1hbCBwbGFjZXNcbiAgICovXG4gIHByaXZhdGUgcm91bmROdW1iZXIoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBwcmVjaXNpb246IG51bWJlciA9IDBcbiAgKTogbnVtYmVyIHtcbiAgICBpZiAocHJlY2lzaW9uIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTa3lJbnZhbGlkQXJndW1lbnQ6IHByZWNpc2lvbiBtdXN0IGJlID49IDAnKTtcbiAgICB9XG5cbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbnVsbC1rZXl3b3JkICovXG4gICAgLyogU2FuaXR5IGNoZWNrIC0gaWdub3JpbmcgY292ZXJhZ2UgYnV0IHNob3VsZCBub3QgaWdub3JlIGlmIHdlIG1ha2UgdGhpcyBtZXRob2QgcHVibGljICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBzY2FsZWRWYWx1ZTogbnVtYmVyID0gdGhpcy5zY2FsZU51bWJlckJ5UG93ZXJPZlRlbih2YWx1ZSwgcHJlY2lzaW9uLCB0cnVlKTtcbiAgICBjb25zdCBzY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IE1hdGgucm91bmQoc2NhbGVkVmFsdWUpO1xuICAgIGNvbnN0IHVuc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSB0aGlzLnNjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgc2NhbGVkUm91bmRlZFZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgZmFsc2VcbiAgICApO1xuXG4gICAgcmV0dXJuIHVuc2NhbGVkUm91bmRlZFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjYWxlcyBhIGdpdmVuIG51bWJlciBieSBhIHBvd2VyIG9mIDEwXG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHNjYWxlXG4gICAqIEBwYXJhbSBzY2FsYXIgLSAxMF5zY2FsYXJcbiAgICogQHBhcmFtIHNjYWxlVXAgLSB3aGV0aGVyIHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHNjYWxhcjogbnVtYmVyLFxuICAgIHNjYWxlVXA6IGJvb2xlYW5cbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZVN0cjogc3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXhwb25lbnRGb3JtYXQ6IGJvb2xlYW4gPSB2YWx1ZVN0ci5pbmNsdWRlcygnZScpO1xuXG4gICAgaWYgKGlzRXhwb25lbnRGb3JtYXQpIHtcbiAgICAgIGNvbnN0IFtiYXNlLCBleHBdID0gdmFsdWVTdHIuc3BsaXQoJ2UnKTtcbiAgICAgIGNvbnN0IG5ld0V4cCA9IHNjYWxlVXAgPyAoTnVtYmVyKGV4cCkgKyBzY2FsYXIpIDogKE51bWJlcihleHApIC0gc2NhbGFyKTtcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7YmFzZX1lJHtuZXdFeHB9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGUgPSBzY2FsZVVwID8gJ2UnIDogJ2UtJztcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7dmFsdWV9JHtlfSR7c2NhbGFyfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHN5bWJvbCBhZGRlZCBmcm9tIHNob3J0ZW5pbmcgdG8gcmVhcHBseSBsYXRlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gZGVyaXZlIHRoZSBzaG9ydGVuIHN5bWJvbCBmcm9tLlxuICAgKi9cbiAgcHJpdmF0ZSBzdG9yZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bWJvbHM6IHN0cmluZ1tdID0gdGhpcy5zeW1ib2xJbmRleC5tYXAocyA9PiBzLmxhYmVsKTtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKHN5bWJvbHMuam9pbignfCcpLCAnaWcnKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4cCk7XG4gICAgdGhpcy5zaG9ydFN5bWJvbCA9IChtYXRjaCkgPyBtYXRjaC50b1N0cmluZygpIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBoYXZlIHByZXZpb3VzbHkgY2FsbGVkIHN0b3JlU2hvcnRlblN5bWJvbCB0byBoYXZlIHNvbWV0aGluZyB0byByZXBsYWNlLlxuICAgKiBGaW5kcyB0aGUgbGFzdCBudW1iZXIgaW4gdGhlIGZvcm1hdHRlZCBudW1iZXIsIGdldHMgdGhlIGluZGV4IG9mIHRoZSBwb3NpdGlvblxuICAgKiBhZnRlciB0aGF0IGNoYXJhY3RlciBhbmQgcmUtaW5zZXJ0cyB0aGUgc3ltYm9sLlxuICAgKiBXb3JrcyByZWdhcmRsZXNzIG9mIGN1cnJlbmN5IHN5bWJvbCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQgPSAvKFxcZCkoPyEuKlxcZCkvZy5leGVjKHZhbHVlKTtcbiAgICBjb25zdCBwb3MgPSByZXN1bHQuaW5kZXggKyByZXN1bHQubGVuZ3RoO1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLnN1YnN0cmluZygwLCBwb3MpICsgdGhpcy5zaG9ydFN5bWJvbCArIHZhbHVlLnN1YnN0cmluZyhwb3MpO1xuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3ltYm9sKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbl9VUycgfSxcbiAgICAgIGtleVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { MutationObserverService } from '../mutation/mutation-observer-service';
4
+ import { SkyAppWindowRef } from '../window/window-ref';
5
+ let SkyScrollableHostModule = class SkyScrollableHostModule {
6
+ };
7
+ SkyScrollableHostModule = __decorate([
8
+ NgModule({
9
+ providers: [
10
+ MutationObserverService,
11
+ SkyAppWindowRef
12
+ ]
13
+ })
14
+ ], SkyScrollableHostModule);
15
+ export { SkyScrollableHostModule };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1ob3N0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9jb3JlLyIsInNvdXJjZXMiOlsibW9kdWxlcy9zY3JvbGxhYmxlLWhvc3Qvc2Nyb2xsYWJsZS1ob3N0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVoRixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBUTlCLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXVCO0NBQUksQ0FBQTtBQUEzQix1QkFBdUI7SUFObkMsUUFBUSxDQUFDO1FBQ1IsU0FBUyxFQUFFO1lBQ1QsdUJBQXVCO1lBQ3ZCLGVBQWU7U0FDaEI7S0FDRixDQUFDO0dBQ1csdUJBQXVCLENBQUk7U0FBM0IsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWZcbn0gZnJvbSAnLi4vd2luZG93L3dpbmRvdy1yZWYnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBTa3lBcHBXaW5kb3dSZWZcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lTY3JvbGxhYmxlSG9zdE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
+ import { MutationObserverService } from '../mutation/mutation-observer-service';
6
+ import { SkyAppWindowRef } from '../window/window-ref';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../mutation/mutation-observer-service";
9
+ import * as i2 from "../window/window-ref";
10
+ let SkyScrollableHostService = class SkyScrollableHostService {
11
+ constructor(mutationObserverSvc, windowRef) {
12
+ this.mutationObserverSvc = mutationObserverSvc;
13
+ this.windowRef = windowRef;
14
+ }
15
+ getScrollabeHost(elementRef) {
16
+ return this.findScrollableHost(elementRef.nativeElement);
17
+ }
18
+ watchScrollableHost(elementRef, completionObservable) {
19
+ let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
20
+ let behaviorSubject = new BehaviorSubject(scrollableHost);
21
+ const mutationObserver = this.mutationObserverSvc.create(() => {
22
+ let newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
23
+ if (newScrollableHost !== scrollableHost) {
24
+ scrollableHost = newScrollableHost;
25
+ this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
26
+ behaviorSubject.next(scrollableHost);
27
+ }
28
+ });
29
+ this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
30
+ completionObservable.pipe(take(1)).subscribe(() => {
31
+ mutationObserver.disconnect();
32
+ });
33
+ return behaviorSubject;
34
+ }
35
+ findScrollableHost(element) {
36
+ const regex = /(auto|scroll)/;
37
+ const windowObj = this.windowRef.nativeWindow;
38
+ const bodyObj = windowObj.document.body;
39
+ /* Sanity check */
40
+ if (!element) {
41
+ return windowObj;
42
+ }
43
+ let style = windowObj.getComputedStyle(element);
44
+ let parent = element;
45
+ do {
46
+ parent = parent.parentNode;
47
+ /* Sanity check for if this function is called for an element which has been removed from the DOM */
48
+ if (!(parent instanceof HTMLElement)) {
49
+ return windowObj;
50
+ }
51
+ style = windowObj.getComputedStyle(parent);
52
+ } while (!regex.test(style.overflow) &&
53
+ !regex.test(style.overflowY) &&
54
+ parent !== bodyObj);
55
+ if (parent === bodyObj) {
56
+ return windowObj;
57
+ }
58
+ return parent;
59
+ }
60
+ observeForScrollableHostChanges(element, mutationObserver) {
61
+ mutationObserver.disconnect();
62
+ if (element instanceof HTMLElement) {
63
+ mutationObserver.observe(element, {
64
+ attributes: true,
65
+ attributeFilter: ['class', 'style.overflow', 'style.overflow-y'],
66
+ subtree: true
67
+ });
68
+ }
69
+ else {
70
+ mutationObserver.observe(document.documentElement, {
71
+ attributes: true,
72
+ attributeFilter: ['class', 'style.overflow', 'style.overflow-y'],
73
+ subtree: true
74
+ });
75
+ }
76
+ }
77
+ };
78
+ SkyScrollableHostService.ctorParameters = () => [
79
+ { type: MutationObserverService },
80
+ { type: SkyAppWindowRef }
81
+ ];
82
+ SkyScrollableHostService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkyScrollableHostService_Factory() { return new SkyScrollableHostService(i0.ɵɵinject(i1.MutationObserverService), i0.ɵɵinject(i2.SkyAppWindowRef)); }, token: SkyScrollableHostService, providedIn: "root" });
83
+ SkyScrollableHostService = __decorate([
84
+ Injectable({
85
+ providedIn: 'root'
86
+ })
87
+ ], SkyScrollableHostService);
88
+ export { SkyScrollableHostService };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUt2RCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQUVuQyxZQUNVLG1CQUE0QyxFQUM1QyxTQUEwQjtRQUQxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWlCO0lBQ2hDLENBQUM7SUFFRSxnQkFBZ0IsQ0FBQyxVQUFzQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFVBQXNCLEVBQUUsb0JBQXNDO1FBQ3ZGLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkUsSUFBSSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM1RCxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFMUUsSUFBSSxpQkFBaUIsS0FBSyxjQUFjLEVBQUU7Z0JBQ3hDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLCtCQUErQixDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUN2RSxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsK0JBQStCLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFdkUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBb0I7UUFDN0MsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBRXhDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxNQUFNLEdBQWdCLE9BQU8sQ0FBQztRQUVsQyxHQUFHO1lBQ0QsTUFBTSxHQUFpQixNQUFNLENBQUMsVUFBVSxDQUFDO1lBRXpDLG9HQUFvRztZQUNwRyxJQUFJLENBQUMsQ0FBQyxNQUFNLFlBQVksV0FBVyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBRUQsS0FBSyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1QyxRQUNDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQzNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQzVCLE1BQU0sS0FBSyxPQUFPLEVBQ2xCO1FBRUYsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFO1lBQ3RCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLCtCQUErQixDQUFDLE9BQTZCLEVBQUUsZ0JBQWtDO1FBQ3ZHLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNsQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDO2dCQUNoRSxPQUFPLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRTtnQkFDakQsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztnQkFDaEUsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FFRixDQUFBOztZQWxGZ0MsdUJBQXVCO1lBQ2pDLGVBQWU7OztBQUp6Qix3QkFBd0I7SUFIcEMsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztHQUNXLHdCQUF3QixDQXFGcEM7U0FyRlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4uL3dpbmRvdy93aW5kb3ctcmVmJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0U2Nyb2xsYWJlSG9zdChlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogSFRNTEVsZW1lbnQgfCBXaW5kb3cge1xuICAgIHJldHVybiB0aGlzLmZpbmRTY3JvbGxhYmxlSG9zdChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHdhdGNoU2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY29tcGxldGlvbk9ic2VydmFibGU6IE9ic2VydmFibGU8dm9pZD4pOiBPYnNlcnZhYmxlPEhUTUxFbGVtZW50IHwgV2luZG93PiB7XG4gICAgbGV0IHNjcm9sbGFibGVIb3N0ID0gdGhpcy5maW5kU2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICBsZXQgYmVoYXZpb3JTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChzY3JvbGxhYmxlSG9zdCk7XG5cbiAgICBjb25zdCBtdXRhdGlvbk9ic2VydmVyID0gdGhpcy5tdXRhdGlvbk9ic2VydmVyU3ZjLmNyZWF0ZSgoKSA9PiB7XG4gICAgICBsZXQgbmV3U2Nyb2xsYWJsZUhvc3QgPSB0aGlzLmZpbmRTY3JvbGxhYmxlSG9zdChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICBpZiAobmV3U2Nyb2xsYWJsZUhvc3QgIT09IHNjcm9sbGFibGVIb3N0KSB7XG4gICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUZvclNjcm9sbGFibGVIb3N0Q2hhbmdlcyhzY3JvbGxhYmxlSG9zdCwgbXV0YXRpb25PYnNlcnZlcik7XG4gICAgICAgIGJlaGF2aW9yU3ViamVjdC5uZXh0KHNjcm9sbGFibGVIb3N0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm9ic2VydmVGb3JTY3JvbGxhYmxlSG9zdENoYW5nZXMoc2Nyb2xsYWJsZUhvc3QsIG11dGF0aW9uT2JzZXJ2ZXIpO1xuXG4gICAgY29tcGxldGlvbk9ic2VydmFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYmVoYXZpb3JTdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2Nyb2xsYWJsZUhvc3QoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgY29uc3QgcmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XG4gICAgY29uc3Qgd2luZG93T2JqID0gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGJvZHlPYmogPSB3aW5kb3dPYmouZG9jdW1lbnQuYm9keTtcblxuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICB9XG5cbiAgICBsZXQgc3R5bGUgPSB3aW5kb3dPYmouZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBsZXQgcGFyZW50OiBIVE1MRWxlbWVudCA9IGVsZW1lbnQ7XG5cbiAgICBkbyB7XG4gICAgICBwYXJlbnQgPSA8SFRNTEVsZW1lbnQ+IHBhcmVudC5wYXJlbnROb2RlO1xuXG4gICAgICAvKiBTYW5pdHkgY2hlY2sgZm9yIGlmIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZvciBhbiBlbGVtZW50IHdoaWNoIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NICovXG4gICAgICBpZiAoIShwYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICAgIH1cblxuICAgICAgc3R5bGUgPSB3aW5kb3dPYmouZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xuICAgIH0gd2hpbGUgKFxuICAgICAgIXJlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cpICYmXG4gICAgICAhcmVnZXgudGVzdChzdHlsZS5vdmVyZmxvd1kpICYmXG4gICAgICBwYXJlbnQgIT09IGJvZHlPYmpcbiAgICApO1xuXG4gICAgaWYgKHBhcmVudCA9PT0gYm9keU9iaikge1xuICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgV2luZG93LCBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlLm92ZXJmbG93JywgJ3N0eWxlLm92ZXJmbG93LXknXSxcbiAgICAgICAgc3VidHJlZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlLm92ZXJmbG93JywgJ3N0eWxlLm92ZXJmbG93LXknXSxcbiAgICAgICAgc3VidHJlZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -21,7 +21,7 @@ function parseIntAutoRadix(text) {
21
21
  export class SkyNumberFormatUtility {
22
22
  /* istanbul ignore next */
23
23
  constructor() { }
24
- static formatNumber(locale, value, style, digits, currency = null, currencyAsSymbol = false) {
24
+ static formatNumber(locale, value, style, digits, currency = null, currencyAsSymbol = false, currencySign) {
25
25
  if (value == null) {
26
26
  return null;
27
27
  }
@@ -62,9 +62,10 @@ export class SkyNumberFormatUtility {
62
62
  minimumFractionDigits: minFraction,
63
63
  maximumFractionDigits: maxFraction,
64
64
  currency: currency,
65
- currencyAsSymbol: currencyAsSymbol
65
+ currencyAsSymbol: currencyAsSymbol,
66
+ currencySign: currencySign
66
67
  });
67
68
  }
68
69
  }
69
70
  SkyNumberFormatUtility._NUMBER_FORMAT_REGEXP = /^(\d+)?\.((\d+)(-(\d+))?)?$/;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFFcEMsMEZBQTBGO0FBQzFGLCtGQUErRjtBQUMvRixvQkFBb0I7QUFDcEIseUZBQXlGO0FBRXpGLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLFNBQVMsU0FBUyxDQUFDLEtBQVU7SUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsSUFBWTtJQUNyQyxNQUFNLE1BQU0sR0FBVyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLDBCQUEwQjtJQUMxQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQ2pFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0QsV0FBVztBQUNYLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsMEJBQTBCO0lBQzFCLGdCQUFnQixDQUFDO0lBRVYsTUFBTSxDQUFDLFlBQVksQ0FDeEIsTUFBYyxFQUNkLEtBQXNCLEVBQ3RCLEtBQStCLEVBQy9CLE1BQXNCLEVBQ3RCLFdBQTBCLElBQUksRUFDOUIsbUJBQTRCLEtBQUs7UUFHakMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCw2QkFBNkI7UUFDN0IsS0FBSyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxLQUFLLENBQUMsNEJBQTRCLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLE1BQU0sR0FBcUIsU0FBUyxDQUFDO1FBQ3pDLElBQUksV0FBVyxHQUFxQixTQUFTLENBQUM7UUFDOUMsSUFBSSxXQUFXLEdBQXFCLFNBQVMsQ0FBQztRQUM5QyxJQUFJLEtBQUssS0FBSyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7WUFDL0Msb0NBQW9DO1lBQ3BDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDWCxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLFdBQVcsR0FBRyxDQUFDLENBQUM7U0FDakI7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFdkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSw2Q0FBNkMsQ0FBQyxDQUFDO2FBQ3pFO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHFCQUFxQjtnQkFDNUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHNCQUFzQjtnQkFDN0MsV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHNCQUFzQjtnQkFDN0MsV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1NBQ0Y7UUFFRCxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNuRSxvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLHFCQUFxQixFQUFFLFdBQVc7WUFDbEMscUJBQXFCLEVBQUUsV0FBVztZQUNsQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixnQkFBZ0IsRUFBRSxnQkFBZ0I7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoRWMsNENBQXFCLEdBQVcsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1udWxsLWtleXdvcmQgKi9cblxuLy8gVGhpcyBmaWxlIGlzIG1vc3RseSBwb3J0ZWQgZnJvbSB0aGUgQW5ndWxhciA0LnggTnVtYmVyUGlwZSBpbiBvcmRlciB0byBtYWludGFpbiB0aGUgb2xkXG4vLyBiZWhhdmlvciBvZiB1c2luZyB0aGUgYEludGxgIEFQSSBmb3IgZm9ybWF0dGluZyBudW1iZXJzIHJhdGhlciB0aGFuIGhhdmluZyB0byByZWdpc3RlciBldmVyeVxuLy8gc3VwcG9ydGVkIGxvY2FsZS5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi80LjQueC9wYWNrYWdlcy9jb21tb24vc3JjL3BpcGVzL251bWJlcl9waXBlLnRzXG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5SW50bE51bWJlckZvcm1hdHRlclxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmZ1bmN0aW9uIGlzTnVtZXJpYyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW50QXV0b1JhZGl4KHRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IHJlc3VsdDogbnVtYmVyID0gcGFyc2VJbnQodGV4dCwgMTApO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChpc05hTihyZXN1bHQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGludGVnZXIgbGl0ZXJhbCB3aGVuIHBhcnNpbmcgJyArIHRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gTmVlZCB0byBhZGQgdGhlIGZvbGxvd2luZyB0byBjbGFzc2VzIHdoaWNoIGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvaXNzdWVzLzY0MVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IHtcbiAgcHJpdmF0ZSBzdGF0aWMgX05VTUJFUl9GT1JNQVRfUkVHRVhQOiBSZWdFeHAgPSAvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPyk/JC87XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc3RhdGljIGZvcm1hdE51bWJlcihcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHN0eWxlOiBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUsXG4gICAgZGlnaXRzPzogc3RyaW5nIHwgbnVsbCxcbiAgICBjdXJyZW5jeTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgY3VycmVuY3lBc1N5bWJvbDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IHN0cmluZyB8IG51bGwge1xuXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgc3RyaW5ncyB0byBudW1iZXJzXG4gICAgdmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIGlzTnVtZXJpYyh2YWx1ZSkgPyArdmFsdWUgOiB2YWx1ZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgdGhyb3cgRXJyb3IoYFNreUludmFsaWRQaXBlQXJndW1lbnQ6ICcke3ZhbHVlfSdgKTtcbiAgICB9XG5cbiAgICBsZXQgbWluSW50OiBudW1iZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGxldCBtaW5GcmFjdGlvbjogbnVtYmVyfHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgbWF4RnJhY3Rpb246IG51bWJlcnx1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHN0eWxlICE9PSBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUuQ3VycmVuY3kpIHtcbiAgICAgIC8vIHJlbHkgb24gSW50bCBkZWZhdWx0IGZvciBjdXJyZW5jeVxuICAgICAgbWluSW50ID0gMTtcbiAgICAgIG1pbkZyYWN0aW9uID0gMDtcbiAgICAgIG1heEZyYWN0aW9uID0gMztcbiAgICB9XG5cbiAgICBpZiAoZGlnaXRzKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGRpZ2l0cy5tYXRjaCh0aGlzLl9OVU1CRVJfRk9STUFUX1JFR0VYUCk7XG5cbiAgICAgIGlmIChwYXJ0cyA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZGlnaXRzfSBpcyBub3QgYSB2YWxpZCBkaWdpdCBpbmZvIGZvciBudW1iZXIgcGlwZXNgKTtcbiAgICAgIH1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChwYXJ0c1sxXSAhPSBudWxsKSB7ICAvLyBtaW4gaW50ZWdlciBkaWdpdHNcbiAgICAgICAgbWluSW50ID0gcGFyc2VJbnRBdXRvUmFkaXgocGFydHNbMV0pO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHBhcnRzWzNdICE9IG51bGwpIHsgIC8vIG1pbiBmcmFjdGlvbiBkaWdpdHNcbiAgICAgICAgbWluRnJhY3Rpb24gPSBwYXJzZUludEF1dG9SYWRpeChwYXJ0c1szXSk7XG4gICAgICB9XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAocGFydHNbNV0gIT0gbnVsbCkgeyAgLy8gbWF4IGZyYWN0aW9uIGRpZ2l0c1xuICAgICAgICBtYXhGcmFjdGlvbiA9IHBhcnNlSW50QXV0b1JhZGl4KHBhcnRzWzVdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gU2t5SW50bE51bWJlckZvcm1hdHRlci5mb3JtYXQodmFsdWUgYXMgbnVtYmVyLCBsb2NhbGUsIHN0eWxlLCB7XG4gICAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogbWluSW50LFxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBtaW5GcmFjdGlvbixcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogbWF4RnJhY3Rpb24sXG4gICAgICBjdXJyZW5jeTogY3VycmVuY3ksXG4gICAgICBjdXJyZW5jeUFzU3ltYm9sOiBjdXJyZW5jeUFzU3ltYm9sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFFcEMsMEZBQTBGO0FBQzFGLCtGQUErRjtBQUMvRixvQkFBb0I7QUFDcEIseUZBQXlGO0FBRXpGLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLFNBQVMsU0FBUyxDQUFDLEtBQVU7SUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsSUFBWTtJQUNyQyxNQUFNLE1BQU0sR0FBVyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLDBCQUEwQjtJQUMxQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQ2pFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0QsV0FBVztBQUNYLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsMEJBQTBCO0lBQzFCLGdCQUFnQixDQUFDO0lBRVYsTUFBTSxDQUFDLFlBQVksQ0FDeEIsTUFBYyxFQUNkLEtBQXNCLEVBQ3RCLEtBQStCLEVBQy9CLE1BQXNCLEVBQ3RCLFdBQTBCLElBQUksRUFDOUIsbUJBQTRCLEtBQUssRUFDakMsWUFBd0M7UUFHeEMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCw2QkFBNkI7UUFDN0IsS0FBSyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxLQUFLLENBQUMsNEJBQTRCLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLE1BQU0sR0FBcUIsU0FBUyxDQUFDO1FBQ3pDLElBQUksV0FBVyxHQUFxQixTQUFTLENBQUM7UUFDOUMsSUFBSSxXQUFXLEdBQXFCLFNBQVMsQ0FBQztRQUM5QyxJQUFJLEtBQUssS0FBSyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7WUFDL0Msb0NBQW9DO1lBQ3BDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDWCxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLFdBQVcsR0FBRyxDQUFDLENBQUM7U0FDakI7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFdkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSw2Q0FBNkMsQ0FBQyxDQUFDO2FBQ3pFO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHFCQUFxQjtnQkFDNUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHNCQUFzQjtnQkFDN0MsV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFHLHNCQUFzQjtnQkFDN0MsV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1NBQ0Y7UUFFRCxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNuRSxvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLHFCQUFxQixFQUFFLFdBQVc7WUFDbEMscUJBQXFCLEVBQUUsV0FBVztZQUNsQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsRWMsNENBQXFCLEdBQVcsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1udWxsLWtleXdvcmQgKi9cblxuLy8gVGhpcyBmaWxlIGlzIG1vc3RseSBwb3J0ZWQgZnJvbSB0aGUgQW5ndWxhciA0LnggTnVtYmVyUGlwZSBpbiBvcmRlciB0byBtYWludGFpbiB0aGUgb2xkXG4vLyBiZWhhdmlvciBvZiB1c2luZyB0aGUgYEludGxgIEFQSSBmb3IgZm9ybWF0dGluZyBudW1iZXJzIHJhdGhlciB0aGFuIGhhdmluZyB0byByZWdpc3RlciBldmVyeVxuLy8gc3VwcG9ydGVkIGxvY2FsZS5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi80LjQueC9wYWNrYWdlcy9jb21tb24vc3JjL3BpcGVzL251bWJlcl9waXBlLnRzXG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5SW50bE51bWJlckZvcm1hdHRlclxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmZ1bmN0aW9uIGlzTnVtZXJpYyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW50QXV0b1JhZGl4KHRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IHJlc3VsdDogbnVtYmVyID0gcGFyc2VJbnQodGV4dCwgMTApO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChpc05hTihyZXN1bHQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGludGVnZXIgbGl0ZXJhbCB3aGVuIHBhcnNpbmcgJyArIHRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gTmVlZCB0byBhZGQgdGhlIGZvbGxvd2luZyB0byBjbGFzc2VzIHdoaWNoIGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvaXNzdWVzLzY0MVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IHtcbiAgcHJpdmF0ZSBzdGF0aWMgX05VTUJFUl9GT1JNQVRfUkVHRVhQOiBSZWdFeHAgPSAvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPyk/JC87XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc3RhdGljIGZvcm1hdE51bWJlcihcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHN0eWxlOiBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUsXG4gICAgZGlnaXRzPzogc3RyaW5nIHwgbnVsbCxcbiAgICBjdXJyZW5jeTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgY3VycmVuY3lBc1N5bWJvbDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGN1cnJlbmN5U2lnbj86ICdhY2NvdW50aW5nJyB8ICdzdGFuZGFyZCdcbiAgKTogc3RyaW5nIHwgbnVsbCB7XG5cbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ29udmVydCBzdHJpbmdzIHRvIG51bWJlcnNcbiAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgaXNOdW1lcmljKHZhbHVlKSA/ICt2YWx1ZSA6IHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBFcnJvcihgU2t5SW52YWxpZFBpcGVBcmd1bWVudDogJyR7dmFsdWV9J2ApO1xuICAgIH1cblxuICAgIGxldCBtaW5JbnQ6IG51bWJlcnx1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkZyYWN0aW9uOiBudW1iZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGxldCBtYXhGcmFjdGlvbjogbnVtYmVyfHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoc3R5bGUgIT09IFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSkge1xuICAgICAgLy8gcmVseSBvbiBJbnRsIGRlZmF1bHQgZm9yIGN1cnJlbmN5XG4gICAgICBtaW5JbnQgPSAxO1xuICAgICAgbWluRnJhY3Rpb24gPSAwO1xuICAgICAgbWF4RnJhY3Rpb24gPSAzO1xuICAgIH1cblxuICAgIGlmIChkaWdpdHMpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlnaXRzLm1hdGNoKHRoaXMuX05VTUJFUl9GT1JNQVRfUkVHRVhQKTtcblxuICAgICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtkaWdpdHN9IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm8gZm9yIG51bWJlciBwaXBlc2ApO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHBhcnRzWzFdICE9IG51bGwpIHsgIC8vIG1pbiBpbnRlZ2VyIGRpZ2l0c1xuICAgICAgICBtaW5JbnQgPSBwYXJzZUludEF1dG9SYWRpeChwYXJ0c1sxXSk7XG4gICAgICB9XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAocGFydHNbM10gIT0gbnVsbCkgeyAgLy8gbWluIGZyYWN0aW9uIGRpZ2l0c1xuICAgICAgICBtaW5GcmFjdGlvbiA9IHBhcnNlSW50QXV0b1JhZGl4KHBhcnRzWzNdKTtcbiAgICAgIH1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChwYXJ0c1s1XSAhPSBudWxsKSB7ICAvLyBtYXggZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgIG1heEZyYWN0aW9uID0gcGFyc2VJbnRBdXRvUmFkaXgocGFydHNbNV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBTa3lJbnRsTnVtYmVyRm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSBhcyBudW1iZXIsIGxvY2FsZSwgc3R5bGUsIHtcbiAgICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBtaW5JbnQsXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkZyYWN0aW9uLFxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXhGcmFjdGlvbixcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSxcbiAgICAgIGN1cnJlbmN5QXNTeW1ib2w6IGN1cnJlbmN5QXNTeW1ib2wsXG4gICAgICBjdXJyZW5jeVNpZ246IGN1cnJlbmN5U2lnblxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@ SkyViewkeeperHostOptions = __decorate([
6
6
  Injectable()
7
7
  ], SkyViewkeeperHostOptions);
8
8
  export { SkyViewkeeperHostOptions };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1ob3N0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLWhvc3Qtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQU92QixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtDQVlwQyxDQUFBO0FBWlksd0JBQXdCO0lBRHBDLFVBQVUsRUFBRTtHQUNBLHdCQUF3QixDQVlwQztTQVpZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreVZpZXdrZWVwZXJPcHRpb25zXG59IGZyb20gJy4vdmlld2tlZXBlci1vcHRpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZpZXdrZWVwZXJIb3N0T3B0aW9ucyBpbXBsZW1lbnRzIFNreVZpZXdrZWVwZXJPcHRpb25zIHtcbiAgcHVibGljIGJvdW5kYXJ5RWw/OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgZWw/OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgc2V0V2lkdGg/OiBib29sZWFuO1xuXG4gIHB1YmxpYyB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcblxuICBwdWJsaWMgdmVydGljYWxPZmZzZXRFbD86IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyB2aWV3cG9ydE1hcmdpblRvcD86IG51bWJlcjtcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1ob3N0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLWhvc3Qtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQU92QixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtDQWNwQyxDQUFBO0FBZFksd0JBQXdCO0lBRHBDLFVBQVUsRUFBRTtHQUNBLHdCQUF3QixDQWNwQztTQWRZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreVZpZXdrZWVwZXJPcHRpb25zXG59IGZyb20gJy4vdmlld2tlZXBlci1vcHRpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZpZXdrZWVwZXJIb3N0T3B0aW9ucyBpbXBsZW1lbnRzIFNreVZpZXdrZWVwZXJPcHRpb25zIHtcbiAgcHVibGljIGJvdW5kYXJ5RWw/OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgZWw/OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgc2Nyb2xsYWJsZUhvc3Q/OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgc2V0V2lkdGg/OiBib29sZWFuO1xuXG4gIHB1YmxpYyB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcblxuICBwdWJsaWMgdmVydGljYWxPZmZzZXRFbD86IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyB2aWV3cG9ydE1hcmdpblRvcD86IG51bWJlcjtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgdmlld2tlZXBlciBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lWaWV3a2VlcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IGRlZmluZXMgdGhlIGJvdW5kcyBpbiB3aGljaCB0byBrZWVwIHRoZSBlbGVtZW50IGluIHZpZXcuIFdoZW4gdGhlXG4gICAqIGJvdW5kYXJ5IGVsZW1lbnQgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcsIHRoZSB2aWV3a2VlcGVyIGVsZW1lbnQgd2lsbCBiZSBzY3JvbGxlZFxuICAgKiBvdXQgb2Ygdmlldy5cbiAgICovXG4gIGJvdW5kYXJ5RWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdG8ga2VlcCBpbiB2aWV3LlxuICAgKi9cbiAgZWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gc2V0IHRoZSB3aWR0aCBvZiB0aGUgdmlld2tlZXBlciBlbGVtZW50IHRvIHRoZSB3aWR0aCBvZiBpdHNcbiAgICogaG9zdCBlbGVtZW50LiBPdGhlcndpc2UsIGlmIHRoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXQgd2lkdGggc3BlY2lmaWVkLFxuICAgKiB0aGUgZWxlbWVudCB3b3VsZCBjb2xsYXBzZSBob3Jpem9udGFsbHkgYXMgYSByZXN1bHQgb2YgZml4aW5nIHRoZSBlbGVtZW50IHRvIHRoZSB0b3BcbiAgICogb2YgdGhlIHZpZXdwb3J0LlxuICAgKi9cbiAgc2V0V2lkdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXNlcnZlZCBzcGFjZSBpbiBwaXhlbHMgYWJvdmUgdGhlIHZpZXdrZWVwZXIgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB1bmRlciB3aGljaCB0aGUgdmlld2tlZXBlciBlbGVtZW50IHNob3VsZCBiZSBmaXhlZC4gVHlwaWNhbGx5IHRoaXMgaXNcbiAgICogYW5vdGhlciB2aWV3a2VlcGVyIGVsZW1lbnQgdGhhdCBpcyBhYm92ZSB0aGUgY3VycmVudCB2aWV3a2VlcGVyIGVsZW1lbnQgaW4gdGhlIHNhbWVcbiAgICogYm91bmRhcnkgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsT2Zmc2V0RWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogUmVzZXJ2ZWQgc3BhY2UgaW4gcGl4ZWxzIGF0IHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxuICAgKi9cbiAgdmlld3BvcnRNYXJnaW5Ub3A/OiBudW1iZXI7XG59XG4iXX0=
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgdmlld2tlZXBlciBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lWaWV3a2VlcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IGRlZmluZXMgdGhlIGJvdW5kcyBpbiB3aGljaCB0byBrZWVwIHRoZSBlbGVtZW50IGluIHZpZXcuIFdoZW4gdGhlXG4gICAqIGJvdW5kYXJ5IGVsZW1lbnQgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcsIHRoZSB2aWV3a2VlcGVyIGVsZW1lbnQgd2lsbCBiZSBzY3JvbGxlZFxuICAgKiBvdXQgb2Ygdmlldy5cbiAgICovXG4gIGJvdW5kYXJ5RWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdG8ga2VlcCBpbiB2aWV3LlxuICAgKi9cbiAgZWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgc2Nyb2xsYWJsZSBwYXJlbnQgd2hpY2ggdGhlIHZpZXdrZWVwZXIgcmVzaWRlcyBpbiBhbmQgc2hvdWxkIGxpc3RlbiB0byBhbmQgYmVcbiAgICogcG9zaXRpb25lZCB3aXRoaW4uXG4gICAqL1xuICBzY3JvbGxhYmxlSG9zdD86IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBzZXQgdGhlIHdpZHRoIG9mIHRoZSB2aWV3a2VlcGVyIGVsZW1lbnQgdG8gdGhlIHdpZHRoIG9mIGl0c1xuICAgKiBob3N0IGVsZW1lbnQuIE90aGVyd2lzZSwgaWYgdGhlIGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdCB3aWR0aCBzcGVjaWZpZWQsXG4gICAqIHRoZSBlbGVtZW50IHdvdWxkIGNvbGxhcHNlIGhvcml6b250YWxseSBhcyBhIHJlc3VsdCBvZiBmaXhpbmcgdGhlIGVsZW1lbnQgdG8gdGhlIHRvcFxuICAgKiBvZiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBzZXRXaWR0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlc2VydmVkIHNwYWNlIGluIHBpeGVscyBhYm92ZSB0aGUgdmlld2tlZXBlciBlbGVtZW50LlxuICAgKi9cbiAgdmVydGljYWxPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHVuZGVyIHdoaWNoIHRoZSB2aWV3a2VlcGVyIGVsZW1lbnQgc2hvdWxkIGJlIGZpeGVkLiBUeXBpY2FsbHkgdGhpcyBpc1xuICAgKiBhbm90aGVyIHZpZXdrZWVwZXIgZWxlbWVudCB0aGF0IGlzIGFib3ZlIHRoZSBjdXJyZW50IHZpZXdrZWVwZXIgZWxlbWVudCBpbiB0aGUgc2FtZVxuICAgKiBib3VuZGFyeSBlbGVtZW50LlxuICAgKi9cbiAgdmVydGljYWxPZmZzZXRFbD86IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBSZXNlcnZlZCBzcGFjZSBpbiBwaXhlbHMgYXQgdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICB2aWV3cG9ydE1hcmdpblRvcD86IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,13 +1,18 @@
1
- import { __decorate } from "tslib";
2
- import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
3
5
  import { MutationObserverService } from '../mutation/mutation-observer-service';
6
+ import { SkyScrollableHostService } from '../scrollable-host/scrollable-host.service';
4
7
  import { SkyViewkeeperService } from './viewkeeper.service';
5
8
  let SkyViewkeeperDirective = class SkyViewkeeperDirective {
6
- constructor(el, mutationObserverSvc, viewkeeperSvc) {
9
+ constructor(el, mutationObserverSvc, viewkeeperSvc, scrollableHostService) {
7
10
  this.el = el;
8
11
  this.mutationObserverSvc = mutationObserverSvc;
9
12
  this.viewkeeperSvc = viewkeeperSvc;
13
+ this.scrollableHostService = scrollableHostService;
10
14
  this.viewkeepers = [];
15
+ this.scrollableHostWatchUnsubscribe = undefined;
11
16
  }
12
17
  set skyViewkeeper(value) {
13
18
  this._skyViewkeeper = value;
@@ -63,17 +68,29 @@ let SkyViewkeeperDirective = class SkyViewkeeperDirective {
63
68
  detectElements() {
64
69
  let viewkeeperEls = this.getViewkeeperEls();
65
70
  if (this.viewkeeperElsChanged(viewkeeperEls)) {
66
- this.destroyViewkeepers();
67
- let previousViewkeeperEl;
68
- for (const viewkeeperEl of viewkeeperEls) {
69
- this.viewkeepers.push(this.viewkeeperSvc.create({
70
- boundaryEl: this.el.nativeElement,
71
- el: viewkeeperEl,
72
- setWidth: true,
73
- verticalOffsetEl: previousViewkeeperEl
74
- }));
75
- previousViewkeeperEl = viewkeeperEl;
71
+ if (this.scrollableHostWatchUnsubscribe) {
72
+ this.scrollableHostWatchUnsubscribe.next();
73
+ this.scrollableHostWatchUnsubscribe = new Subject();
76
74
  }
75
+ else {
76
+ this.scrollableHostWatchUnsubscribe = new Subject();
77
+ }
78
+ this.scrollableHostService.watchScrollableHost(this.el, this.scrollableHostWatchUnsubscribe)
79
+ .pipe(takeUntil(this.scrollableHostWatchUnsubscribe))
80
+ .subscribe(scrollableHost => {
81
+ this.destroyViewkeepers();
82
+ let previousViewkeeperEl;
83
+ for (const viewkeeperEl of viewkeeperEls) {
84
+ this.viewkeepers.push(this.viewkeeperSvc.create({
85
+ boundaryEl: this.el.nativeElement,
86
+ scrollableHost: scrollableHost instanceof HTMLElement ? scrollableHost : undefined,
87
+ el: viewkeeperEl,
88
+ setWidth: true,
89
+ verticalOffsetEl: previousViewkeeperEl
90
+ }));
91
+ previousViewkeeperEl = viewkeeperEl;
92
+ }
93
+ });
77
94
  this.currentViewkeeperEls = viewkeeperEls;
78
95
  }
79
96
  }
@@ -81,7 +98,8 @@ let SkyViewkeeperDirective = class SkyViewkeeperDirective {
81
98
  SkyViewkeeperDirective.ctorParameters = () => [
82
99
  { type: ElementRef },
83
100
  { type: MutationObserverService },
84
- { type: SkyViewkeeperService }
101
+ { type: SkyViewkeeperService },
102
+ { type: SkyScrollableHostService, decorators: [{ type: Optional }] }
85
103
  ];
86
104
  __decorate([
87
105
  Input()
@@ -89,7 +107,8 @@ __decorate([
89
107
  SkyViewkeeperDirective = __decorate([
90
108
  Directive({
91
109
  selector: '[skyViewkeeper]'
92
- })
110
+ }),
111
+ __param(3, Optional())
93
112
  ], SkyViewkeeperDirective);
94
113
  export { SkyViewkeeperDirective };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHVDQUF1QyxDQUFDO0FBTS9DLE9BQU8sRUFDTCxvQkFBb0IsRUFDckIsTUFBTSxzQkFBc0IsQ0FBQztBQUs5QixJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQXFCakMsWUFDVSxFQUFjLEVBQ2QsbUJBQTRDLEVBQzVDLGFBQW1DO1FBRm5DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVRyQyxnQkFBVyxHQUFvQixFQUFFLENBQUM7SUFVdEMsQ0FBQztJQXRCTCxJQUFXLGFBQWEsQ0FBQyxLQUFlO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBZ0JNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUNyQjtZQUNFLFNBQVMsRUFBRSxJQUFJO1lBQ2Ys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ICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2Vcbn0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVZpZXdrZWVwZXJcbn0gZnJvbSAnLi92aWV3a2VlcGVyJztcblxuaW1wb3J0IHtcbiAgU2t5Vmlld2tlZXBlclNlcnZpY2Vcbn0gZnJvbSAnLi92aWV3a2VlcGVyLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5Vmlld2tlZXBlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFNreVZpZXdrZWVwZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lWaWV3a2VlcGVyKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NreVZpZXdrZWVwZXIgPSB2YWx1ZTtcblxuICAgIHRoaXMuZGV0ZWN0RWxlbWVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5Vmlld2tlZXBlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVZpZXdrZWVwZXI7XG4gIH1cblxuICBwcml2YXRlIF9za3lWaWV3a2VlcGVyOiBzdHJpbmdbXTtcblxuICBwcml2YXRlIHZpZXdrZWVwZXJzOiBTa3lWaWV3a2VlcGVyW10gPSBbXTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgY3VycmVudFZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2tlZXBlclN2YzogU2t5Vmlld2tlZXBlclNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlciA9IHRoaXMubXV0YXRpb25PYnNlcnZlclN2Yy5jcmVhdGUoKCkgPT4gdGhpcy5kZXRlY3RFbGVtZW50cygpKTtcblxuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICAgIHtcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblxuICAgIHRoaXMuZGVzdHJveVZpZXdrZWVwZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lWaWV3a2VlcGVycygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHZpZXdrZWVwZXIgb2YgdGhpcy52aWV3a2VlcGVycykge1xuICAgICAgdGhpcy52aWV3a2VlcGVyU3ZjLmRlc3Ryb3kodmlld2tlZXBlcik7XG4gICAgfVxuXG4gICAgdGhpcy52aWV3a2VlcGVycyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWaWV3a2VlcGVyRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIGxldCB2aWV3a2VlcGVyRWxzOiBIVE1MRWxlbWVudFtdO1xuXG4gICAgaWYgKHRoaXMuc2t5Vmlld2tlZXBlcikge1xuICAgICAgdmlld2tlZXBlckVscyA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5za3lWaWV3a2VlcGVyKSB7XG4gICAgICAgIGxldCBtYXRjaGluZ0VscyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgKHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbChpdGVtKVxuICAgICAgICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICAgICAgdmlld2tlZXBlckVscyA9IFsuLi52aWV3a2VlcGVyRWxzLCAuLi5tYXRjaGluZ0Vsc107XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpZXdrZWVwZXJFbHM7XG4gIH1cblxuICBwcml2YXRlIHZpZXdrZWVwZXJFbHNDaGFuZ2VkKHZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICBpZiAoIXZpZXdrZWVwZXJFbHMgIT09ICF0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmlld2tlZXBlckVscyAmJiB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzKSB7XG4gICAgICBpZiAodmlld2tlZXBlckVscy5sZW5ndGggIT09IHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHZpZXdrZWVwZXJFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGlmICh2aWV3a2VlcGVyRWxzW2ldICE9PSB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzW2ldKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdEVsZW1lbnRzKCk6IHZvaWQge1xuICAgIGxldCB2aWV3a2VlcGVyRWxzID0gdGhpcy5nZXRWaWV3a2VlcGVyRWxzKCk7XG5cbiAgICBpZiAodGhpcy52aWV3a2VlcGVyRWxzQ2hhbmdlZCh2aWV3a2VlcGVyRWxzKSkge1xuICAgICAgdGhpcy5kZXN0cm95Vmlld2tlZXBlcnMoKTtcblxuICAgICAgbGV0IHByZXZpb3VzVmlld2tlZXBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgICAgZm9yIChjb25zdCB2aWV3a2VlcGVyRWwgb2Ygdmlld2tlZXBlckVscykge1xuICAgICAgICB0aGlzLnZpZXdrZWVwZXJzLnB1c2goXG4gICAgICAgICAgdGhpcy52aWV3a2VlcGVyU3ZjLmNyZWF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYm91bmRhcnlFbDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICBlbDogdmlld2tlZXBlckVsLFxuICAgICAgICAgICAgICBzZXRXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgICAgdmVydGljYWxPZmZzZXRFbDogcHJldmlvdXNWaWV3a2VlcGVyRWxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgcHJldmlvdXNWaWV3a2VlcGVyRWwgPSB2aWV3a2VlcGVyRWw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMgPSB2aWV3a2VlcGVyRWxzO1xuICAgIH1cbiAgfVxufVxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU10RixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFLOUIsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUF1QmpDLFlBQ1UsRUFBYyxFQUNkLG1CQUE0QyxFQUM1QyxhQUFtQyxFQUN2QixxQkFBK0M7UUFIM0QsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBeUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7UUFaN0QsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBTWxDLG1DQUE4QixHQUE4QixTQUFTLENBQUM7SUFPMUUsQ0FBQztJQXpCTCxJQUFXLGFBQWEsQ0FBQyxLQUFlO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3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SUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBRTFCLElBQUksb0JBQWlDLENBQUM7Z0JBRXRDLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxFQUFFO29CQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQ3ZCO3dCQUNFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7d0JBQ2pDLGNBQWMsRUFBRSxjQUFjLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVM7d0JBQ2xGLEVBQUUsRUFBRSxZQUFZO3dCQUNoQixRQUFRLEVBQUUsSUFBSTt3QkFDZCxnQkFBZ0IsRUFBRSxvQkFBb0I7cUJBQ3ZDLENBQ0YsQ0FDRixDQUFDO29CQUVGLG9CQUFvQixHQUFHLFlBQVksQ0FBQztpQkFDckM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUM7U0FDM0M7SUFDSCxDQUFDO0NBQ0YsQ0FBQTs7WUE3R2UsVUFBVTtZQUNPLHVCQUF1QjtZQUM3QixvQkFBb0I7WUFDQSx3QkFBd0IsdUJBQWxFLFFBQVE7O0FBeEJYO0lBREMsS0FBSyxFQUFFOzJEQUtQO0FBUFUsc0JBQXNCO0lBSGxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7S0FDNUIsQ0FBQztJQTRCRyxXQUFBLFFBQVEsRUFBRSxDQUFBO0dBM0JGLHNCQUFzQixDQXFJbEM7U0FySVksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBNdXRhdGlvbk9ic2VydmVyU2VydmljZVxufSBmcm9tICcuLi9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlJztcbmltcG9ydCB7IFNreVNjcm9sbGFibGVIb3N0U2VydmljZSB9IGZyb20gJy4uL3Njcm9sbGFibGUtaG9zdC9zY3JvbGxhYmxlLWhvc3Quc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVZpZXdrZWVwZXJcbn0gZnJvbSAnLi92aWV3a2VlcGVyJztcblxuaW1wb3J0IHtcbiAgU2t5Vmlld2tlZXBlclNlcnZpY2Vcbn0gZnJvbSAnLi92aWV3a2VlcGVyLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5Vmlld2tlZXBlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFNreVZpZXdrZWVwZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lWaWV3a2VlcGVyKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NreVZpZXdrZWVwZXIgPSB2YWx1ZTtcblxuICAgIHRoaXMuZGV0ZWN0RWxlbWVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5Vmlld2tlZXBlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVZpZXdrZWVwZXI7XG4gIH1cblxuICBwcml2YXRlIF9za3lWaWV3a2VlcGVyOiBzdHJpbmdbXTtcblxuICBwcml2YXRlIHZpZXdrZWVwZXJzOiBTa3lWaWV3a2VlcGVyW10gPSBbXTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgY3VycmVudFZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W107XG5cbiAgcHJpdmF0ZSBzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2tlZXBlclN2YzogU2t5Vmlld2tlZXBlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JvbGxhYmxlSG9zdFNlcnZpY2U6IFNreVNjcm9sbGFibGVIb3N0U2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyID0gdGhpcy5tdXRhdGlvbk9ic2VydmVyU3ZjLmNyZWF0ZSgoKSA9PiB0aGlzLmRldGVjdEVsZW1lbnRzKCkpO1xuXG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAge1xuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgdGhpcy5kZXN0cm95Vmlld2tlZXBlcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVZpZXdrZWVwZXJzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgdmlld2tlZXBlciBvZiB0aGlzLnZpZXdrZWVwZXJzKSB7XG4gICAgICB0aGlzLnZpZXdrZWVwZXJTdmMuZGVzdHJveSh2aWV3a2VlcGVyKTtcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdrZWVwZXJzID0gW107XG4gIH1cblxuICBwcml2YXRlIGdldFZpZXdrZWVwZXJFbHMoKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgbGV0IHZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W107XG5cbiAgICBpZiAodGhpcy5za3lWaWV3a2VlcGVyKSB7XG4gICAgICB2aWV3a2VlcGVyRWxzID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnNreVZpZXdrZWVwZXIpIHtcbiAgICAgICAgbGV0IG1hdGNoaW5nRWxzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKGl0ZW0pXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnRbXTtcblxuICAgICAgICB2aWV3a2VlcGVyRWxzID0gWy4uLnZpZXdrZWVwZXJFbHMsIC4uLm1hdGNoaW5nRWxzXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmlld2tlZXBlckVscztcbiAgfVxuXG4gIHByaXZhdGUgdmlld2tlZXBlckVsc0NoYW5nZWQodmlld2tlZXBlckVsczogSFRNTEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghdmlld2tlZXBlckVscyAhPT0gIXRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2aWV3a2VlcGVyRWxzICYmIHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMpIHtcbiAgICAgIGlmICh2aWV3a2VlcGVyRWxzLmxlbmd0aCAhPT0gdGhpcy5jdXJyZW50Vmlld2tlZXBlckVscy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gdmlld2tlZXBlckVscy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgaWYgKHZpZXdrZWVwZXJFbHNbaV0gIT09IHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHNbaV0pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0RWxlbWVudHMoKTogdm9pZCB7XG4gICAgbGV0IHZpZXdrZWVwZXJFbHMgPSB0aGlzLmdldFZpZXdrZWVwZXJFbHMoKTtcblxuICAgIGlmICh0aGlzLnZpZXdrZWVwZXJFbHNDaGFuZ2VkKHZpZXdrZWVwZXJFbHMpKSB7XG5cbiAgICAgIGlmICh0aGlzLnNjcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZSkge1xuICAgICAgICB0aGlzLnNjcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zY3JvbGxhYmxlSG9zdFNlcnZpY2Uud2F0Y2hTY3JvbGxhYmxlSG9zdCh0aGlzLmVsLCB0aGlzLnNjcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZShzY3JvbGxhYmxlSG9zdCA9PiB7XG4gICAgICAgICAgdGhpcy5kZXN0cm95Vmlld2tlZXBlcnMoKTtcblxuICAgICAgICAgIGxldCBwcmV2aW91c1ZpZXdrZWVwZXJFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHZpZXdrZWVwZXJFbCBvZiB2aWV3a2VlcGVyRWxzKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJzLnB1c2goXG4gICAgICAgICAgICAgIHRoaXMudmlld2tlZXBlclN2Yy5jcmVhdGUoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYm91bmRhcnlFbDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUhvc3Q6IHNjcm9sbGFibGVIb3N0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyBzY3JvbGxhYmxlSG9zdCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGVsOiB2aWV3a2VlcGVyRWwsXG4gICAgICAgICAgICAgICAgICBzZXRXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsT2Zmc2V0RWw6IHByZXZpb3VzVmlld2tlZXBlckVsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBwcmV2aW91c1ZpZXdrZWVwZXJFbCA9IHZpZXdrZWVwZXJFbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzID0gdmlld2tlZXBlckVscztcbiAgICB9XG4gIH1cbn1cbiJdfQ==