@taiga-ui/core 2.87.0 → 2.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +41 -64
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +10 -5
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
- package/components/scroll-controls/scroll-controls.component.d.ts +1 -2
- package/components/scroll-controls/scrollbar.directive.d.ts +4 -7
- package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/esm2015/components/scroll-controls/scroll-controls.component.js +8 -15
- package/esm2015/components/scroll-controls/scrollbar.directive.js +31 -48
- package/esm2015/tokens/scroll-ref.js +9 -3
- package/esm5/components/scroll-controls/scroll-controls.component.js +8 -15
- package/esm5/components/scroll-controls/scrollbar.directive.js +31 -48
- package/esm5/tokens/scroll-ref.js +9 -3
- package/fesm2015/taiga-ui-core-components-scroll-controls.js +36 -59
- package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +8 -2
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm5/taiga-ui-core-components-scroll-controls.js +36 -59
- package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
- package/fesm5/taiga-ui-core-tokens.js +8 -2
- package/fesm5/taiga-ui-core-tokens.js.map +1 -1
- package/package.json +4 -4
- package/tokens/scroll-ref.d.ts +3 -0
- package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
|
@@ -1,28 +1,26 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { DOCUMENT
|
|
3
|
-
import { Directive, ElementRef, Inject, Input, NgZone,
|
|
4
|
-
import { ANIMATION_FRAME
|
|
5
|
-
import { POLLING_TIME,
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Directive, ElementRef, Inject, Input, NgZone, Renderer2, Self, } from '@angular/core';
|
|
4
|
+
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
5
|
+
import { POLLING_TIME, TuiDestroyService, tuiPreventDefault, tuiScrollFrom, tuiStopPropagation, tuiTypedFromEvent, tuiZonefree, } from '@taiga-ui/cdk';
|
|
6
6
|
import { TUI_ELEMENT_REF, TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
|
|
7
|
-
import {
|
|
7
|
+
import { merge, Observable } from 'rxjs';
|
|
8
8
|
import { map, switchMap, takeUntil, throttleTime } from 'rxjs/operators';
|
|
9
9
|
const MIN_WIDTH = 24;
|
|
10
10
|
// @dynamic
|
|
11
11
|
let TuiScrollbarDirective = class TuiScrollbarDirective {
|
|
12
|
-
constructor(ngZone, renderer, destroy$, animationFrame$, wrapper, container,
|
|
12
|
+
constructor(ngZone, renderer, destroy$, animationFrame$, wrapper, container, doc, el) {
|
|
13
13
|
this.wrapper = wrapper;
|
|
14
14
|
this.container = container;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.elementRef = elementRef;
|
|
18
|
-
this.viewportScroller = viewportScroller;
|
|
15
|
+
this.doc = doc;
|
|
16
|
+
this.el = el;
|
|
19
17
|
this.tuiScrollbar = 'vertical';
|
|
20
|
-
const { nativeElement } = this.
|
|
21
|
-
const mousedown$ =
|
|
22
|
-
const mousemove$ =
|
|
23
|
-
const mouseup$ =
|
|
24
|
-
const mousedownWrapper$ =
|
|
25
|
-
merge(mousedownWrapper$.pipe(
|
|
18
|
+
const { nativeElement } = this.el;
|
|
19
|
+
const mousedown$ = tuiTypedFromEvent(nativeElement, 'mousedown');
|
|
20
|
+
const mousemove$ = tuiTypedFromEvent(this.doc, 'mousemove');
|
|
21
|
+
const mouseup$ = tuiTypedFromEvent(this.doc, 'mouseup');
|
|
22
|
+
const mousedownWrapper$ = tuiTypedFromEvent(this.wrapper.nativeElement, 'mousedown');
|
|
23
|
+
merge(mousedownWrapper$.pipe(tuiPreventDefault(), map(event => this.getScrolled(event, 0.5, 0.5))), mousedown$.pipe(tuiPreventDefault(), tuiStopPropagation(), switchMap(event => {
|
|
26
24
|
const rect = nativeElement.getBoundingClientRect();
|
|
27
25
|
const vertical = getOffsetVertical(event, rect);
|
|
28
26
|
const horizontal = getOffsetHorizontal(event, rect);
|
|
@@ -30,22 +28,14 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
|
|
|
30
28
|
})))
|
|
31
29
|
.pipe(tuiZonefree(ngZone), takeUntil(destroy$))
|
|
32
30
|
.subscribe(([scrollTop, scrollLeft]) => {
|
|
33
|
-
const [x, y] = this.viewportScroller.getScrollPosition();
|
|
34
|
-
if (!this.container) {
|
|
35
|
-
this.viewportScroller.scrollToPosition([
|
|
36
|
-
this.tuiScrollbar === 'vertical' ? x : scrollLeft,
|
|
37
|
-
this.tuiScrollbar === 'vertical' ? scrollTop : y,
|
|
38
|
-
]);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
31
|
if (this.tuiScrollbar === 'vertical') {
|
|
42
|
-
renderer.setProperty(this.
|
|
32
|
+
renderer.setProperty(this.element, 'scrollTop', scrollTop);
|
|
43
33
|
}
|
|
44
34
|
else {
|
|
45
|
-
renderer.setProperty(this.
|
|
35
|
+
renderer.setProperty(this.element, 'scrollLeft', scrollLeft);
|
|
46
36
|
}
|
|
47
37
|
});
|
|
48
|
-
merge(
|
|
38
|
+
merge(animationFrame$.pipe(throttleTime(POLLING_TIME)), tuiScrollFrom(this.element))
|
|
49
39
|
.pipe(tuiZonefree(ngZone), takeUntil(destroy$))
|
|
50
40
|
.subscribe(() => {
|
|
51
41
|
if (this.tuiScrollbar === 'vertical') {
|
|
@@ -59,13 +49,13 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
|
|
|
59
49
|
});
|
|
60
50
|
}
|
|
61
51
|
get scrolled() {
|
|
62
|
-
const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.
|
|
52
|
+
const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.element;
|
|
63
53
|
return this.tuiScrollbar === 'vertical'
|
|
64
54
|
? scrollTop / (scrollHeight - clientHeight)
|
|
65
55
|
: scrollLeft / (scrollWidth - clientWidth);
|
|
66
56
|
}
|
|
67
57
|
get compensation() {
|
|
68
|
-
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.
|
|
58
|
+
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.element;
|
|
69
59
|
if (((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&
|
|
70
60
|
this.tuiScrollbar === 'vertical') ||
|
|
71
61
|
((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&
|
|
@@ -81,21 +71,19 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
|
|
|
81
71
|
return this.scrolled * (1 - compensation);
|
|
82
72
|
}
|
|
83
73
|
get view() {
|
|
84
|
-
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.
|
|
74
|
+
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.element;
|
|
85
75
|
return this.tuiScrollbar === 'vertical'
|
|
86
76
|
? Math.ceil((clientHeight / scrollHeight) * 100) / 100
|
|
87
77
|
: Math.ceil((clientWidth / scrollWidth) * 100) / 100;
|
|
88
78
|
}
|
|
89
|
-
get
|
|
90
|
-
return this.container
|
|
91
|
-
? this.container.nativeElement
|
|
92
|
-
: this.documentRef.scrollingElement;
|
|
79
|
+
get element() {
|
|
80
|
+
return this.container.nativeElement;
|
|
93
81
|
}
|
|
94
82
|
getScrolled({ clientY, clientX }, offsetVertical, offsetHorizontal) {
|
|
95
|
-
const { offsetHeight, offsetWidth } = this.
|
|
83
|
+
const { offsetHeight, offsetWidth } = this.el.nativeElement;
|
|
96
84
|
const { top, left, width, height } = this.wrapper.nativeElement.getBoundingClientRect();
|
|
97
|
-
const maxTop = this.
|
|
98
|
-
const maxLeft = this.
|
|
85
|
+
const maxTop = this.element.scrollHeight - height;
|
|
86
|
+
const maxLeft = this.element.scrollWidth - width;
|
|
99
87
|
const scrolledTop = (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);
|
|
100
88
|
const scrolledLeft = (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);
|
|
101
89
|
return [maxTop * scrolledTop, maxLeft * scrolledLeft];
|
|
@@ -104,14 +92,12 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
|
|
|
104
92
|
TuiScrollbarDirective.ctorParameters = () => [
|
|
105
93
|
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
106
94
|
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
|
|
107
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
95
|
+
{ type: Observable, decorators: [{ type: Self }, { type: Inject, args: [TuiDestroyService,] }] },
|
|
108
96
|
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
|
|
109
97
|
{ type: ElementRef, decorators: [{ type: Inject, args: [TUI_ELEMENT_REF,] }] },
|
|
110
|
-
{ type: ElementRef, decorators: [{ type:
|
|
98
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [TUI_SCROLL_REF,] }] },
|
|
111
99
|
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
112
|
-
{ type:
|
|
113
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
114
|
-
{ type: ViewportScroller, decorators: [{ type: Inject, args: [ViewportScroller,] }] }
|
|
100
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
|
|
115
101
|
];
|
|
116
102
|
__decorate([
|
|
117
103
|
Input()
|
|
@@ -123,15 +109,12 @@ TuiScrollbarDirective = __decorate([
|
|
|
123
109
|
}),
|
|
124
110
|
__param(0, Inject(NgZone)),
|
|
125
111
|
__param(1, Inject(Renderer2)),
|
|
126
|
-
__param(2, Inject(TuiDestroyService)),
|
|
112
|
+
__param(2, Self()), __param(2, Inject(TuiDestroyService)),
|
|
127
113
|
__param(3, Inject(ANIMATION_FRAME)),
|
|
128
114
|
__param(4, Inject(TUI_ELEMENT_REF)),
|
|
129
|
-
__param(5, Optional()),
|
|
130
115
|
__param(5, Inject(TUI_SCROLL_REF)),
|
|
131
116
|
__param(6, Inject(DOCUMENT)),
|
|
132
|
-
__param(7, Inject(
|
|
133
|
-
__param(8, Inject(ElementRef)),
|
|
134
|
-
__param(9, Inject(ViewportScroller))
|
|
117
|
+
__param(7, Inject(ElementRef))
|
|
135
118
|
], TuiScrollbarDirective);
|
|
136
119
|
export { TuiScrollbarDirective };
|
|
137
120
|
function getOffsetVertical({ clientY }, { top, height }) {
|
|
@@ -140,4 +123,4 @@ function getOffsetVertical({ clientY }, { top, height }) {
|
|
|
140
123
|
function getOffsetHorizontal({ clientX }, { left, width }) {
|
|
141
124
|
return (clientX - left) / width;
|
|
142
125
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsV0FBVztBQUtYLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBQ29CLE1BQWMsRUFDWCxRQUFtQixFQUNYLFFBQTBCLEVBQzVCLGVBQW1DLEVBQ2xCLE9BQWdDLEVBR3pELFNBQXlDLEVBQ3ZCLFdBQXFCLEVBQ3ZCLFNBQWlCLEVBQ2IsVUFBbUMsRUFDN0IsZ0JBQWtDO1FBUG5DLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBR3pELGNBQVMsR0FB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Q0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFhO0lBQ3pFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5ULCBWaWV3cG9ydFNjcm9sbGVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgUE9MTElOR19USU1FLFxuICAgIHByZXZlbnREZWZhdWx0LFxuICAgIHN0b3BQcm9wYWdhdGlvbixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlab25lZnJlZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9FTEVNRU5UX1JFRiwgVFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYmFyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvblQgPSAndmVydGljYWwnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0VMRU1FTlRfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChWaWV3cG9ydFNjcm9sbGVyKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcbiAgICAgICAgY29uc3QgbW91c2Vtb3ZlJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZW1vdmUnKTtcbiAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBtb3VzZWRvd25XcmFwcGVyJCA9IHR5cGVkRnJvbUV2ZW50KHdyYXBwZXIubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgbW91c2Vkb3duV3JhcHBlciQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCAwLjUsIDAuNSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlZG93biQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbigpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldE9mZnNldFZlcnRpY2FsKGV2ZW50LCByZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbCA9IGdldE9mZnNldEhvcml6b250YWwoZXZlbnQsIHJlY3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb3VzZW1vdmUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5nZXRTY3JvbGxlZChldmVudCwgdmVydGljYWwsIGhvcml6b250YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwJCksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3Njcm9sbFRvcCwgc2Nyb2xsTGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbeCwgeV0gPSB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuZ2V0U2Nyb2xsUG9zaXRpb24oKTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcgPyB4IDogc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnID8gc2Nyb2xsVG9wIDogeSxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsVG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsTGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCA6IHRoaXMud2luZG93UmVmLFxuICAgICAgICAgICAgICAgICdzY3JvbGwnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBzY3JvbGxUb3AgLyAoc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KVxuICAgICAgICAgICAgOiBzY3JvbGxMZWZ0IC8gKHNjcm9sbFdpZHRoIC0gY2xpZW50V2lkdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXBlbnNhdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZENvbnRhaW5lcjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkQ29udGFpbmVyKCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXJcbiAgICAgICAgICAgID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiAodGhpcy5kb2N1bWVudFJlZi5zY3JvbGxpbmdFbGVtZW50IGFzIHVua25vd24gYXMgRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTY3JvbGxlZChcbiAgICAgICAge2NsaWVudFksIGNsaWVudFh9OiBNb3VzZUV2ZW50LFxuICAgICAgICBvZmZzZXRWZXJ0aWNhbDogbnVtYmVyLFxuICAgICAgICBvZmZzZXRIb3Jpem9udGFsOiBudW1iZXIsXG4gICAgKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IHtvZmZzZXRIZWlnaHQsIG9mZnNldFdpZHRofSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9XG4gICAgICAgICAgICB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBjb25zdCBtYXhUb3AgPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyLnNjcm9sbEhlaWdodCAtIGhlaWdodDtcbiAgICAgICAgY29uc3QgbWF4TGVmdCA9IHRoaXMuY29tcHV0ZWRDb250YWluZXIuc2Nyb2xsV2lkdGggLSB3aWR0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsZWRUb3AgPVxuICAgICAgICAgICAgKGNsaWVudFkgLSB0b3AgLSBvZmZzZXRIZWlnaHQgKiBvZmZzZXRWZXJ0aWNhbCkgLyAoaGVpZ2h0IC0gb2Zmc2V0SGVpZ2h0KTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsZWRMZWZ0ID1cbiAgICAgICAgICAgIChjbGllbnRYIC0gbGVmdCAtIG9mZnNldFdpZHRoICogb2Zmc2V0SG9yaXpvbnRhbCkgLyAod2lkdGggLSBvZmZzZXRXaWR0aCk7XG5cbiAgICAgICAgcmV0dXJuIFttYXhUb3AgKiBzY3JvbGxlZFRvcCwgbWF4TGVmdCAqIHNjcm9sbGVkTGVmdF07XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRWZXJ0aWNhbCh7Y2xpZW50WX06IE1vdXNlRXZlbnQsIHt0b3AsIGhlaWdodH06IENsaWVudFJlY3QpOiBudW1iZXIge1xuICAgIHJldHVybiAoY2xpZW50WSAtIHRvcCkgLyBoZWlnaHQ7XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldEhvcml6b250YWwoe2NsaWVudFh9OiBNb3VzZUV2ZW50LCB7bGVmdCwgd2lkdGh9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFggLSBsZWZ0KSAvIHdpZHRoO1xufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBRXJCLFdBQVc7QUFLWCxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUk5QixZQUNvQixNQUFjLEVBQ1gsUUFBbUIsRUFDSCxRQUEwQixFQUNwQyxlQUFtQyxFQUNsQixPQUFnQyxFQUNqQyxTQUFrQyxFQUN4QyxHQUFhLEVBQ1gsRUFBMkI7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDeEMsUUFBRyxHQUFILEdBQUcsQ0FBVTtR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QUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQVpkLHFCQUFxQixDQXdJakM7U0F4SVkscUJBQXFCO0FBMElsQyxTQUFTLGlCQUFpQixDQUFDLEVBQUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFhO0lBQ3ZFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFhO0lBQ3pFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgUE9MTElOR19USU1FLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVByZXZlbnREZWZhdWx0LFxuICAgIHR1aVNjcm9sbEZyb20sXG4gICAgdHVpU3RvcFByb3BhZ2F0aW9uLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxuICAgIHR1aVpvbmVmcmVlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VMRU1FTlRfUkVGLCBUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpT3JpZW50YXRpb25UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYmFyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvblQgPSAndmVydGljYWwnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChUVUlfRUxFTUVOVF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NDUk9MTF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsO1xuICAgICAgICBjb25zdCBtb3VzZWRvd24kID0gdHVpVHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xuICAgICAgICBjb25zdCBtb3VzZW1vdmUkID0gdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZW1vdmUnKTtcbiAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNldXAnKTtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duV3JhcHBlciQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgICk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZWRvd25XcmFwcGVyJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHRoaXMuZ2V0U2Nyb2xsZWQoZXZlbnQsIDAuNSwgMC41KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2Vkb3duJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgdHVpU3RvcFByb3BhZ2F0aW9uKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsID0gZ2V0T2Zmc2V0VmVydGljYWwoZXZlbnQsIHJlY3QpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBob3Jpem9udGFsID0gZ2V0T2Zmc2V0SG9yaXpvbnRhbChldmVudCwgcmVjdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNldXAkKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnQsICdzY3JvbGxUb3AnLCBzY3JvbGxUb3ApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3Njcm9sbExlZnQnLCBzY3JvbGxMZWZ0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgICAgIHR1aVNjcm9sbEZyb20odGhpcy5lbGVtZW50KSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnXG4gICAgICAgICAgICA/IHNjcm9sbFRvcCAvIChzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQpXG4gICAgICAgICAgICA6IHNjcm9sbExlZnQgLyAoc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcGVuc2F0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTWF0aC5jZWlsKChjbGllbnRIZWlnaHQgLyBzY3JvbGxIZWlnaHQpICogMTAwKSAvIDEwMFxuICAgICAgICAgICAgOiBNYXRoLmNlaWwoKGNsaWVudFdpZHRoIC8gc2Nyb2xsV2lkdGgpICogMTAwKSAvIDEwMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50KCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjcm9sbGVkKFxuICAgICAgICB7Y2xpZW50WSwgY2xpZW50WH06IE1vdXNlRXZlbnQsXG4gICAgICAgIG9mZnNldFZlcnRpY2FsOiBudW1iZXIsXG4gICAgICAgIG9mZnNldEhvcml6b250YWw6IG51bWJlcixcbiAgICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9XG4gICAgICAgICAgICB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBjb25zdCBtYXhUb3AgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gaGVpZ2h0O1xuICAgICAgICBjb25zdCBtYXhMZWZ0ID0gdGhpcy5lbGVtZW50LnNjcm9sbFdpZHRoIC0gd2lkdGg7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkVG9wID1cbiAgICAgICAgICAgIChjbGllbnRZIC0gdG9wIC0gb2Zmc2V0SGVpZ2h0ICogb2Zmc2V0VmVydGljYWwpIC8gKGhlaWdodCAtIG9mZnNldEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkTGVmdCA9XG4gICAgICAgICAgICAoY2xpZW50WCAtIGxlZnQgLSBvZmZzZXRXaWR0aCAqIG9mZnNldEhvcml6b250YWwpIC8gKHdpZHRoIC0gb2Zmc2V0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBbbWF4VG9wICogc2Nyb2xsZWRUb3AsIG1heExlZnQgKiBzY3JvbGxlZExlZnRdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0VmVydGljYWwoe2NsaWVudFl9OiBNb3VzZUV2ZW50LCB7dG9wLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFkgLSB0b3ApIC8gaGVpZ2h0O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRIb3Jpem9udGFsKHtjbGllbnRYfTogTW91c2VFdmVudCwge2xlZnQsIHdpZHRofTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRYIC0gbGVmdCkgLyB3aWR0aDtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ElementRef, inject, InjectionToken } from '@angular/core';
|
|
3
|
+
/**
|
|
4
|
+
* Scrollable container
|
|
5
|
+
*/
|
|
6
|
+
export const TUI_SCROLL_REF = new InjectionToken(`[TUI_SCROLL_REF]`, {
|
|
7
|
+
factory: () => new ElementRef(inject(DOCUMENT).documentElement),
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3Rva2Vucy8iLCJzb3VyY2VzIjpbInNjcm9sbC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDNUMsa0JBQWtCLEVBQ2xCO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLENBQUM7Q0FDbEUsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU2Nyb2xsYWJsZSBjb250YWluZXJcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TQ1JPTExfUkVGID0gbmV3IEluamVjdGlvblRva2VuPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihcbiAgICBgW1RVSV9TQ1JPTExfUkVGXWAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBuZXcgRWxlbWVudFJlZihpbmplY3QoRE9DVU1FTlQpLmRvY3VtZW50RWxlbWVudCksXG4gICAgfSxcbik7XG4iXX0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { __assign, __decorate, __param } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ElementRef, Inject, NgZone, Optional, } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Inject, NgZone, } from '@angular/core';
|
|
4
3
|
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
5
4
|
import { tuiZoneOptimized } from '@taiga-ui/cdk';
|
|
6
5
|
import { tuiFadeIn } from '@taiga-ui/core/animations';
|
|
@@ -10,11 +9,10 @@ import { Observable } from 'rxjs';
|
|
|
10
9
|
import { distinctUntilChanged, map, startWith, throttleTime } from 'rxjs/operators';
|
|
11
10
|
// @dynamic
|
|
12
11
|
var TuiScrollControlsComponent = /** @class */ (function () {
|
|
13
|
-
function TuiScrollControlsComponent(options, ngZone,
|
|
12
|
+
function TuiScrollControlsComponent(options, ngZone, scrollRef, animationFrame$, mode$) {
|
|
14
13
|
var _this = this;
|
|
15
14
|
this.options = options;
|
|
16
15
|
this.ngZone = ngZone;
|
|
17
|
-
this.documentRef = documentRef;
|
|
18
16
|
this.scrollRef = scrollRef;
|
|
19
17
|
this.animationFrame$ = animationFrame$;
|
|
20
18
|
this.mode$ = mode$;
|
|
@@ -23,9 +21,7 @@ var TuiScrollControlsComponent = /** @class */ (function () {
|
|
|
23
21
|
}
|
|
24
22
|
Object.defineProperty(TuiScrollControlsComponent.prototype, "scrollbars", {
|
|
25
23
|
get: function () {
|
|
26
|
-
var _a = this.scrollRef
|
|
27
|
-
? this.scrollRef.nativeElement
|
|
28
|
-
: this.documentRef.documentElement, clientHeight = _a.clientHeight, scrollHeight = _a.scrollHeight, clientWidth = _a.clientWidth, scrollWidth = _a.scrollWidth;
|
|
24
|
+
var _a = this.scrollRef.nativeElement, clientHeight = _a.clientHeight, scrollHeight = _a.scrollHeight, clientWidth = _a.clientWidth, scrollWidth = _a.scrollWidth;
|
|
29
25
|
return [
|
|
30
26
|
Math.ceil((clientHeight / scrollHeight) * 100) < 100,
|
|
31
27
|
Math.ceil((clientWidth / scrollWidth) * 100) < 100,
|
|
@@ -37,8 +33,7 @@ var TuiScrollControlsComponent = /** @class */ (function () {
|
|
|
37
33
|
TuiScrollControlsComponent.ctorParameters = function () { return [
|
|
38
34
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_ANIMATION_OPTIONS,] }] },
|
|
39
35
|
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
40
|
-
{ type:
|
|
41
|
-
{ type: ElementRef, decorators: [{ type: Optional }, { type: Inject, args: [TUI_SCROLL_REF,] }] },
|
|
36
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [TUI_SCROLL_REF,] }] },
|
|
42
37
|
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
|
|
43
38
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] }
|
|
44
39
|
]; };
|
|
@@ -56,13 +51,11 @@ var TuiScrollControlsComponent = /** @class */ (function () {
|
|
|
56
51
|
}),
|
|
57
52
|
__param(0, Inject(TUI_ANIMATION_OPTIONS)),
|
|
58
53
|
__param(1, Inject(NgZone)),
|
|
59
|
-
__param(2, Inject(
|
|
60
|
-
__param(3,
|
|
61
|
-
__param(
|
|
62
|
-
__param(4, Inject(ANIMATION_FRAME)),
|
|
63
|
-
__param(5, Inject(TUI_MODE))
|
|
54
|
+
__param(2, Inject(TUI_SCROLL_REF)),
|
|
55
|
+
__param(3, Inject(ANIMATION_FRAME)),
|
|
56
|
+
__param(4, Inject(TUI_MODE))
|
|
64
57
|
], TuiScrollControlsComponent);
|
|
65
58
|
return TuiScrollControlsComponent;
|
|
66
59
|
}());
|
|
67
60
|
export { TuiScrollControlsComponent };
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixXQUFXO0FBWVg7SUFjSSxvQ0FDb0QsT0FBeUIsRUFDeEMsTUFBYyxFQUNOLFNBQWtDLEVBQ2pDLGVBQW1DLEVBQ2xELEtBQXVDO1FBTHRFLGlCQU1JO1FBTGdELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFsQjdELGFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDekMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixHQUFHLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxVQUFVLEVBQWYsQ0FBZSxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQTlCLENBQThCLENBQUMsRUFDOUQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNoQyxDQUFDO1FBRU8sY0FBUyxHQUFHLFdBQ2pCLEtBQUssRUFBRSxFQUFFLElBQ04sSUFBSSxDQUFDLE9BQU8sQ0FDVCxDQUFDO0lBUVIsQ0FBQztJQUVKLHNCQUFZLGtEQUFVO2FBQXRCO1lBQ1UsSUFBQSxpQ0FDMEIsRUFEekIsOEJBQVksRUFBRSw4QkFBWSxFQUFFLDRCQUFXLEVBQUUsNEJBQ2hCLENBQUM7WUFFakMsT0FBTztnQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7Z0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRzthQUNyRCxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7O2dEQWZJLE1BQU0sU0FBQyxxQkFBcUI7Z0JBQ1ksTUFBTSx1QkFBOUMsTUFBTSxTQUFDLE1BQU07Z0JBQ3NDLFVBQVUsdUJBQTdELE1BQU0sU0FBQyxjQUFjO2dCQUNxQyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTtnQkFDVyxVQUFVLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTs7SUFuQlgsMEJBQTBCO1FBWHRDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0Isb3NCQUE4QztZQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDdkIsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQzFCLElBQUksRUFBRTtnQkFDRixvQkFBb0IsRUFBRSxPQUFPO2FBQ2hDOztTQUNKLENBQUM7UUFnQk8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUM3QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO09BbkJaLDBCQUEwQixDQStCdEM7SUFBRCxpQ0FBQztDQUFBLEFBL0JELElBK0JDO1NBL0JZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRmFkZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TLCBUVUlfTU9ERSwgVFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zY3JvbGwtY29udHJvbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGwtY29udHJvbHMudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2Nyb2xsLWNvbnRyb2xzLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBwcm92aWRlcnM6IFtNT0RFX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNjcm9sbENvbnRyb2xzQ29tcG9uZW50IHtcbiAgICByZWFkb25seSByZWZyZXNoJCA9IHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgzMDApLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5zY3JvbGxiYXJzKSxcbiAgICAgICAgc3RhcnRXaXRoKFtmYWxzZSwgZmFsc2VdKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGFbMF0gPT09IGJbMF0gJiYgYVsxXSA9PT0gYlsxXSksXG4gICAgICAgIHR1aVpvbmVPcHRpbWl6ZWQodGhpcy5uZ1pvbmUpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBhbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1NDUk9MTF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldCBzY3JvbGxiYXJzKCk6IFtib29sZWFuLCBib29sZWFuXSB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIDwgMTAwLFxuICAgICAgICAgICAgTWF0aC5jZWlsKChjbGllbnRXaWR0aCAvIHNjcm9sbFdpZHRoKSAqIDEwMCkgPCAxMDAsXG4gICAgICAgIF07XG4gICAgfVxufVxuIl19
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
import { __decorate, __param, __read } from "tslib";
|
|
2
|
-
import { DOCUMENT
|
|
3
|
-
import { Directive, ElementRef, Inject, Input, NgZone,
|
|
4
|
-
import { ANIMATION_FRAME
|
|
5
|
-
import { POLLING_TIME,
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Directive, ElementRef, Inject, Input, NgZone, Renderer2, Self, } from '@angular/core';
|
|
4
|
+
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
5
|
+
import { POLLING_TIME, TuiDestroyService, tuiPreventDefault, tuiScrollFrom, tuiStopPropagation, tuiTypedFromEvent, tuiZonefree, } from '@taiga-ui/cdk';
|
|
6
6
|
import { TUI_ELEMENT_REF, TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
|
|
7
|
-
import {
|
|
7
|
+
import { merge, Observable } from 'rxjs';
|
|
8
8
|
import { map, switchMap, takeUntil, throttleTime } from 'rxjs/operators';
|
|
9
9
|
var MIN_WIDTH = 24;
|
|
10
10
|
// @dynamic
|
|
11
11
|
var TuiScrollbarDirective = /** @class */ (function () {
|
|
12
|
-
function TuiScrollbarDirective(ngZone, renderer, destroy$, animationFrame$, wrapper, container,
|
|
12
|
+
function TuiScrollbarDirective(ngZone, renderer, destroy$, animationFrame$, wrapper, container, doc, el) {
|
|
13
13
|
var _this = this;
|
|
14
14
|
this.wrapper = wrapper;
|
|
15
15
|
this.container = container;
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.elementRef = elementRef;
|
|
19
|
-
this.viewportScroller = viewportScroller;
|
|
16
|
+
this.doc = doc;
|
|
17
|
+
this.el = el;
|
|
20
18
|
this.tuiScrollbar = 'vertical';
|
|
21
|
-
var nativeElement = this.
|
|
22
|
-
var mousedown$ =
|
|
23
|
-
var mousemove$ =
|
|
24
|
-
var mouseup$ =
|
|
25
|
-
var mousedownWrapper$ =
|
|
26
|
-
merge(mousedownWrapper$.pipe(
|
|
19
|
+
var nativeElement = this.el.nativeElement;
|
|
20
|
+
var mousedown$ = tuiTypedFromEvent(nativeElement, 'mousedown');
|
|
21
|
+
var mousemove$ = tuiTypedFromEvent(this.doc, 'mousemove');
|
|
22
|
+
var mouseup$ = tuiTypedFromEvent(this.doc, 'mouseup');
|
|
23
|
+
var mousedownWrapper$ = tuiTypedFromEvent(this.wrapper.nativeElement, 'mousedown');
|
|
24
|
+
merge(mousedownWrapper$.pipe(tuiPreventDefault(), map(function (event) { return _this.getScrolled(event, 0.5, 0.5); })), mousedown$.pipe(tuiPreventDefault(), tuiStopPropagation(), switchMap(function (event) {
|
|
27
25
|
var rect = nativeElement.getBoundingClientRect();
|
|
28
26
|
var vertical = getOffsetVertical(event, rect);
|
|
29
27
|
var horizontal = getOffsetHorizontal(event, rect);
|
|
@@ -32,22 +30,14 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
32
30
|
.pipe(tuiZonefree(ngZone), takeUntil(destroy$))
|
|
33
31
|
.subscribe(function (_a) {
|
|
34
32
|
var _b = __read(_a, 2), scrollTop = _b[0], scrollLeft = _b[1];
|
|
35
|
-
var _c = __read(_this.viewportScroller.getScrollPosition(), 2), x = _c[0], y = _c[1];
|
|
36
|
-
if (!_this.container) {
|
|
37
|
-
_this.viewportScroller.scrollToPosition([
|
|
38
|
-
_this.tuiScrollbar === 'vertical' ? x : scrollLeft,
|
|
39
|
-
_this.tuiScrollbar === 'vertical' ? scrollTop : y,
|
|
40
|
-
]);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
33
|
if (_this.tuiScrollbar === 'vertical') {
|
|
44
|
-
renderer.setProperty(_this.
|
|
34
|
+
renderer.setProperty(_this.element, 'scrollTop', scrollTop);
|
|
45
35
|
}
|
|
46
36
|
else {
|
|
47
|
-
renderer.setProperty(_this.
|
|
37
|
+
renderer.setProperty(_this.element, 'scrollLeft', scrollLeft);
|
|
48
38
|
}
|
|
49
39
|
});
|
|
50
|
-
merge(
|
|
40
|
+
merge(animationFrame$.pipe(throttleTime(POLLING_TIME)), tuiScrollFrom(this.element))
|
|
51
41
|
.pipe(tuiZonefree(ngZone), takeUntil(destroy$))
|
|
52
42
|
.subscribe(function () {
|
|
53
43
|
if (_this.tuiScrollbar === 'vertical') {
|
|
@@ -62,7 +52,7 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
62
52
|
}
|
|
63
53
|
Object.defineProperty(TuiScrollbarDirective.prototype, "scrolled", {
|
|
64
54
|
get: function () {
|
|
65
|
-
var _a = this.
|
|
55
|
+
var _a = this.element, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight, scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;
|
|
66
56
|
return this.tuiScrollbar === 'vertical'
|
|
67
57
|
? scrollTop / (scrollHeight - clientHeight)
|
|
68
58
|
: scrollLeft / (scrollWidth - clientWidth);
|
|
@@ -72,7 +62,7 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
72
62
|
});
|
|
73
63
|
Object.defineProperty(TuiScrollbarDirective.prototype, "compensation", {
|
|
74
64
|
get: function () {
|
|
75
|
-
var _a = this.
|
|
65
|
+
var _a = this.element, clientHeight = _a.clientHeight, scrollHeight = _a.scrollHeight, clientWidth = _a.clientWidth, scrollWidth = _a.scrollWidth;
|
|
76
66
|
if (((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&
|
|
77
67
|
this.tuiScrollbar === 'vertical') ||
|
|
78
68
|
((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&
|
|
@@ -96,7 +86,7 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
96
86
|
});
|
|
97
87
|
Object.defineProperty(TuiScrollbarDirective.prototype, "view", {
|
|
98
88
|
get: function () {
|
|
99
|
-
var _a = this.
|
|
89
|
+
var _a = this.element, clientHeight = _a.clientHeight, scrollHeight = _a.scrollHeight, clientWidth = _a.clientWidth, scrollWidth = _a.scrollWidth;
|
|
100
90
|
return this.tuiScrollbar === 'vertical'
|
|
101
91
|
? Math.ceil((clientHeight / scrollHeight) * 100) / 100
|
|
102
92
|
: Math.ceil((clientWidth / scrollWidth) * 100) / 100;
|
|
@@ -104,21 +94,19 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
104
94
|
enumerable: true,
|
|
105
95
|
configurable: true
|
|
106
96
|
});
|
|
107
|
-
Object.defineProperty(TuiScrollbarDirective.prototype, "
|
|
97
|
+
Object.defineProperty(TuiScrollbarDirective.prototype, "element", {
|
|
108
98
|
get: function () {
|
|
109
|
-
return this.container
|
|
110
|
-
? this.container.nativeElement
|
|
111
|
-
: this.documentRef.scrollingElement;
|
|
99
|
+
return this.container.nativeElement;
|
|
112
100
|
},
|
|
113
101
|
enumerable: true,
|
|
114
102
|
configurable: true
|
|
115
103
|
});
|
|
116
104
|
TuiScrollbarDirective.prototype.getScrolled = function (_a, offsetVertical, offsetHorizontal) {
|
|
117
105
|
var clientY = _a.clientY, clientX = _a.clientX;
|
|
118
|
-
var _b = this.
|
|
106
|
+
var _b = this.el.nativeElement, offsetHeight = _b.offsetHeight, offsetWidth = _b.offsetWidth;
|
|
119
107
|
var _c = this.wrapper.nativeElement.getBoundingClientRect(), top = _c.top, left = _c.left, width = _c.width, height = _c.height;
|
|
120
|
-
var maxTop = this.
|
|
121
|
-
var maxLeft = this.
|
|
108
|
+
var maxTop = this.element.scrollHeight - height;
|
|
109
|
+
var maxLeft = this.element.scrollWidth - width;
|
|
122
110
|
var scrolledTop = (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);
|
|
123
111
|
var scrolledLeft = (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);
|
|
124
112
|
return [maxTop * scrolledTop, maxLeft * scrolledLeft];
|
|
@@ -126,14 +114,12 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
126
114
|
TuiScrollbarDirective.ctorParameters = function () { return [
|
|
127
115
|
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
128
116
|
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
|
|
129
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
117
|
+
{ type: Observable, decorators: [{ type: Self }, { type: Inject, args: [TuiDestroyService,] }] },
|
|
130
118
|
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
|
|
131
119
|
{ type: ElementRef, decorators: [{ type: Inject, args: [TUI_ELEMENT_REF,] }] },
|
|
132
|
-
{ type: ElementRef, decorators: [{ type:
|
|
120
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [TUI_SCROLL_REF,] }] },
|
|
133
121
|
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
134
|
-
{ type:
|
|
135
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
136
|
-
{ type: ViewportScroller, decorators: [{ type: Inject, args: [ViewportScroller,] }] }
|
|
122
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
|
|
137
123
|
]; };
|
|
138
124
|
__decorate([
|
|
139
125
|
Input()
|
|
@@ -145,15 +131,12 @@ var TuiScrollbarDirective = /** @class */ (function () {
|
|
|
145
131
|
}),
|
|
146
132
|
__param(0, Inject(NgZone)),
|
|
147
133
|
__param(1, Inject(Renderer2)),
|
|
148
|
-
__param(2, Inject(TuiDestroyService)),
|
|
134
|
+
__param(2, Self()), __param(2, Inject(TuiDestroyService)),
|
|
149
135
|
__param(3, Inject(ANIMATION_FRAME)),
|
|
150
136
|
__param(4, Inject(TUI_ELEMENT_REF)),
|
|
151
|
-
__param(5, Optional()),
|
|
152
137
|
__param(5, Inject(TUI_SCROLL_REF)),
|
|
153
138
|
__param(6, Inject(DOCUMENT)),
|
|
154
|
-
__param(7, Inject(
|
|
155
|
-
__param(8, Inject(ElementRef)),
|
|
156
|
-
__param(9, Inject(ViewportScroller))
|
|
139
|
+
__param(7, Inject(ElementRef))
|
|
157
140
|
], TuiScrollbarDirective);
|
|
158
141
|
return TuiScrollbarDirective;
|
|
159
142
|
}());
|
|
@@ -168,4 +151,4 @@ function getOffsetHorizontal(_a, _b) {
|
|
|
168
151
|
var left = _b.left, width = _b.width;
|
|
169
152
|
return (clientX - left) / width;
|
|
170
153
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsV0FBVztBQUtYO0lBSUksK0JBQ29CLE1BQWMsRUFDWCxRQUFtQixFQUNYLFFBQTBCLEVBQzVCLGVBQW1DLEVBQ2xCLE9BQWdDLEVBR3pELFNBQXlDLEVBQ3ZCLFdBQXFCLEVBQ3ZCLFNBQWlCLEVBQ2IsVUFBbUMsRUFDN0IsZ0JBQWtDO1FBWmpGLGlCQXFGQztRQWhGNkMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFHekQsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFD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QW1CLENBQUMsRUFBcUIsRUFBRSxFQUF5QjtRQUEvQyxvQkFBTztRQUFnQixjQUFJLEVBQUUsZ0JBQUs7SUFDNUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIFZpZXdwb3J0U2Nyb2xsZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBQT0xMSU5HX1RJTUUsXG4gICAgcHJldmVudERlZmF1bHQsXG4gICAgc3RvcFByb3BhZ2F0aW9uLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVpvbmVmcmVlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VMRU1FTlRfUkVGLCBUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpT3JpZW50YXRpb25UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgTUlOX1dJRFRIID0gMjQ7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlTY3JvbGxiYXJdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNjcm9sbGJhckRpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICB0dWlTY3JvbGxiYXI6IFR1aU9yaWVudGF0aW9uVCA9ICd2ZXJ0aWNhbCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChUVUlfRUxFTUVOVF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX1NDUk9MTF9SRUYpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpIHByaXZhdGUgcmVhZG9ubHkgdmlld3BvcnRTY3JvbGxlcjogVmlld3BvcnRTY3JvbGxlcixcbiAgICApIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuICAgICAgICBjb25zdCBtb3VzZWRvd24kID0gdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xuICAgICAgICBjb25zdCBtb3VzZW1vdmUkID0gdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNlbW92ZScpO1xuICAgICAgICBjb25zdCBtb3VzZXVwJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZXVwJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlZG93bldyYXBwZXIkID0gdHlwZWRGcm9tRXZlbnQod3JhcHBlci5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZWRvd25XcmFwcGVyJC5waXBlKFxuICAgICAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHRoaXMuZ2V0U2Nyb2xsZWQoZXZlbnQsIDAuNSwgMC41KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2Vkb3duJC5waXBlKFxuICAgICAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsID0gZ2V0T2Zmc2V0VmVydGljYWwoZXZlbnQsIHJlY3QpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBob3Jpem9udGFsID0gZ2V0T2Zmc2V0SG9yaXpvbnRhbChldmVudCwgcmVjdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNldXAkKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IHRoaXMudmlld3BvcnRTY3JvbGxlci5nZXRTY3JvbGxQb3NpdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9Qb3NpdGlvbihbXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJyA/IHggOiBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcgPyBzY3JvbGxUb3AgOiB5LFxuICAgICAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzY3JvbGxUb3AnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzY3JvbGxMZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbExlZnQsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPyB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50IDogdGhpcy53aW5kb3dSZWYsXG4gICAgICAgICAgICAgICAgJ3Njcm9sbCcsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgYW5pbWF0aW9uRnJhbWUkLnBpcGUodGhyb3R0bGVUaW1lKFBPTExJTkdfVElNRSkpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0aGlzLnRodW1iICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLnRodW1iICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy52aWV3ICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBzY3JvbGxlZCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBzY3JvbGxUb3AsXG4gICAgICAgICAgICBzY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICBjbGllbnRIZWlnaHQsXG4gICAgICAgICAgICBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICBjbGllbnRXaWR0aCxcbiAgICAgICAgfSA9IHRoaXMuY29tcHV0ZWRDb250YWluZXI7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnXG4gICAgICAgICAgICA/IHNjcm9sbFRvcCAvIChzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQpXG4gICAgICAgICAgICA6IHNjcm9sbExlZnQgLyAoc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcGVuc2F0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICgoY2xpZW50SGVpZ2h0ICogY2xpZW50SGVpZ2h0KSAvIHNjcm9sbEhlaWdodCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB8fFxuICAgICAgICAgICAgKChjbGllbnRXaWR0aCAqIGNsaWVudFdpZHRoKSAvIHNjcm9sbFdpZHRoID4gTUlOX1dJRFRIICYmXG4gICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICdob3Jpem9udGFsJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNSU5fV0lEVEggLyBjbGllbnRIZWlnaHRcbiAgICAgICAgICAgIDogTUlOX1dJRFRIIC8gY2xpZW50V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdGh1bWIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY29tcGVuc2F0aW9uID0gdGhpcy5jb21wZW5zYXRpb24gfHwgdGhpcy52aWV3O1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNjcm9sbGVkICogKDEgLSBjb21wZW5zYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHZpZXcoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRXaWR0aCwgc2Nyb2xsV2lkdGh9ID1cbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRDb250YWluZXI7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnXG4gICAgICAgICAgICA/IE1hdGguY2VpbCgoY2xpZW50SGVpZ2h0IC8gc2Nyb2xsSGVpZ2h0KSAqIDEwMCkgLyAxMDBcbiAgICAgICAgICAgIDogTWF0aC5jZWlsKChjbGllbnRXaWR0aCAvIHNjcm9sbFdpZHRoKSAqIDEwMCkgLyAxMDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcHV0ZWRDb250YWluZXIoKTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lclxuICAgICAgICAgICAgPyB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6ICh0aGlzLmRvY3VtZW50UmVmLnNjcm9sbGluZ0VsZW1lbnQgYXMgdW5rbm93biBhcyBFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjcm9sbGVkKFxuICAgICAgICB7Y2xpZW50WSwgY2xpZW50WH06IE1vdXNlRXZlbnQsXG4gICAgICAgIG9mZnNldFZlcnRpY2FsOiBudW1iZXIsXG4gICAgICAgIG9mZnNldEhvcml6b250YWw6IG51bWJlcixcbiAgICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHt0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHR9ID1cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IG1heFRvcCA9IHRoaXMuY29tcHV0ZWRDb250YWluZXIuc2Nyb2xsSGVpZ2h0IC0gaGVpZ2h0O1xuICAgICAgICBjb25zdCBtYXhMZWZ0ID0gdGhpcy5jb21wdXRlZENvbnRhaW5lci5zY3JvbGxXaWR0aCAtIHdpZHRoO1xuICAgICAgICBjb25zdCBzY3JvbGxlZFRvcCA9XG4gICAgICAgICAgICAoY2xpZW50WSAtIHRvcCAtIG9mZnNldEhlaWdodCAqIG9mZnNldFZlcnRpY2FsKSAvIChoZWlnaHQgLSBvZmZzZXRIZWlnaHQpO1xuICAgICAgICBjb25zdCBzY3JvbGxlZExlZnQgPVxuICAgICAgICAgICAgKGNsaWVudFggLSBsZWZ0IC0gb2Zmc2V0V2lkdGggKiBvZmZzZXRIb3Jpem9udGFsKSAvICh3aWR0aCAtIG9mZnNldFdpZHRoKTtcblxuICAgICAgICByZXR1cm4gW21heFRvcCAqIHNjcm9sbGVkVG9wLCBtYXhMZWZ0ICogc2Nyb2xsZWRMZWZ0XTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldFZlcnRpY2FsKHtjbGllbnRZfTogTW91c2VFdmVudCwge3RvcCwgaGVpZ2h0fTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRZIC0gdG9wKSAvIGhlaWdodDtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0SG9yaXpvbnRhbCh7Y2xpZW50WH06IE1vdXNlRXZlbnQsIHtsZWZ0LCB3aWR0aH06IENsaWVudFJlY3QpOiBudW1iZXIge1xuICAgIHJldHVybiAoY2xpZW50WCAtIGxlZnQpIC8gd2lkdGg7XG59XG4iXX0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsSUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBRXJCLFdBQVc7QUFLWDtJQUlJLCtCQUNvQixNQUFjLEVBQ1gsUUFBbUIsRUFDSCxRQUEwQixFQUNwQyxlQUFtQyxFQUNsQixPQUFnQyxFQUNqQyxTQUFrQyxFQUN4QyxHQUFhLEVBQ1gsRUFBMkI7UUFScEUsaUJBOERDO1FBekQ2QyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFWcEUsaUJBQVksR0FBb0IsVUFBVSxDQUFDO1FBWWhDLElBQUEscUNBQWEsQ0FBWTtRQUNoQyxJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDakUsSUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM1RCxJQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUMxQixXQUFXLENBQ2QsQ0FBQztRQUVGLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxJQUFJLENBQ2xCLGlCQUFpQixFQUFFLEVBQ25CLEdBQUcsQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBakMsQ0FBaUMsQ0FBQyxDQUNsRCxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQ1gsaUJBQWlCLEVBQUUsRUFDbkIsa0JBQWtCLEVBQUUsRUFDcEIsU0FBUyxDQUFDLFVBQUEsS0FBSztZQUNYLElBQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ25ELElBQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFcEQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNsQixHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQTdDLENBQTZDLENBQUMsRUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FDSjthQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlDLFNBQVMsQ0FBQyxVQUFDLEVBQXVCO2dCQUF2QixrQkFBdUIsRUFBdEIsaUJBQVMsRUFBRSxrQkFBVTtZQUM5QixJQUFJLEtBQUksQ0FBQyxZQUFZLEtBQUssVUFBVSxFQUFFO2dCQUNsQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQzlEO2lCQUFNO2dCQUNILFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDaEU7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLEtBQUssQ0FDRCxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUNoRCxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUM5QjthQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlDLFNBQVMsQ0FBQztZQUNQLElBQUksS0FBSSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7Z0JBQ2xDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBSyxLQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsTUFBRyxDQUFDLENBQUM7Z0JBQ2hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBSyxLQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsTUFBRyxDQUFDLENBQUM7YUFDckU7aUJBQU07Z0JBQ0gsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFLLEtBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxNQUFHLENBQUMsQ0FBQztnQkFDakUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFLLEtBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxNQUFHLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELHNCQUFZLDJDQUFRO2FBQXBCO1lBQ1UsSUFBQSxpQkFPVSxFQU5aLHdCQUFTLEVBQ1QsOEJBQVksRUFDWiw4QkFBWSxFQUNaLDBCQUFVLEVBQ1YsNEJBQVcsRUFDWCw0QkFDWSxDQUFDO1lBRWpCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVO2dCQUNuQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNuRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFZLCtDQUFZO2FBQXhCO1lBQ1UsSUFBQSxpQkFBcUUsRUFBcEUsOEJBQVksRUFBRSw4QkFBWSxFQUFFLDRCQUFXLEVBQUUsNEJBQTJCLENBQUM7WUFFNUUsSUFDSSxDQUFDLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLFlBQVksR0FBRyxTQUFTO2dCQUNyRCxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVUsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsR0FBRyxXQUFXLEdBQUcsU0FBUztvQkFDbEQsSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsRUFDekM7Z0JBQ0UsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVO2dCQUNuQyxDQUFDLENBQUMsU0FBUyxHQUFHLFlBQVk7Z0JBQzFCLENBQUMsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLENBQUM7OztPQUFBO0lBRUQsc0JBQVksd0NBQUs7YUFBakI7WUFDSSxJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7WUFFcEQsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzlDLENBQUM7OztPQUFBO0lBRUQsc0JBQVksdUNBQUk7YUFBaEI7WUFDVSxJQUFBLGlCQUFxRSxFQUFwRSw4QkFBWSxFQUFFLDhCQUFZLEVBQUUsNEJBQVcsRUFBRSw0QkFBMkIsQ0FBQztZQUU1RSxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssVUFBVTtnQkFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztnQkFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzdELENBQUM7OztPQUFBO0lBRUQsc0JBQVksMENBQU87YUFBbkI7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQ3hDLENBQUM7OztPQUFBO0lBRU8sMkNBQVcsR0FBbkIsVUFDSSxFQUE4QixFQUM5QixjQUFzQixFQUN0QixnQkFBd0I7WUFGdkIsb0JBQU8sRUFBRSxvQkFBTztRQUlYLElBQUEsMEJBQW1ELEVBQWxELDhCQUFZLEVBQUUsNEJBQW9DLENBQUM7UUFDcEQsSUFBQSx1REFDZ0QsRUFEL0MsWUFBRyxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLGtCQUM2QixDQUFDO1FBRXZELElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUNsRCxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDakQsSUFBTSxXQUFXLEdBQ2IsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsQ0FBQztRQUM5RSxJQUFNLFlBQVksR0FDZCxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFFOUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUUsT0FBTyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQzFELENBQUM7O2dCQWxJMkIsTUFBTSx1QkFBN0IsTUFBTSxTQUFDLE1BQU07Z0JBQ2UsU0FBUyx1QkFBckMsTUFBTSxTQUFDLFNBQVM7Z0JBQzRCLFVBQVUsdUJBQXRELElBQUksWUFBSSxNQUFNLFNBQUMsaUJBQWlCO2dCQUNTLFVBQVUsdUJBQW5ELE1BQU0sU0FBQyxlQUFlO2dCQUM0QixVQUFVLHVCQUE1RCxNQUFNLFNBQUMsZUFBZTtnQkFDNkIsVUFBVSx1QkFBN0QsTUFBTSxTQUFDLGNBQWM7Z0JBQ2tCLFFBQVEsdUJBQS9DLE1BQU0sU0FBQyxRQUFRO2dCQUN5QixVQUFVLHVCQUFsRCxNQUFNLFNBQUMsVUFBVTs7SUFWdEI7UUFEQyxLQUFLLEVBQUU7K0RBQ21DO0lBRmxDLHFCQUFxQjtRQUpqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pDLENBQUM7UUFNTyxXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pCLFdBQUEsSUFBSSxFQUFFLENBQUEsRUFBRSxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ2pDLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO09BWmQscUJBQXFCLENBd0lqQztJQUFELDRCQUFDO0NBQUEsQUF4SUQsSUF3SUM7U0F4SVkscUJBQXFCO0FBMElsQyxTQUFTLGlCQUFpQixDQUFDLEVBQXFCLEVBQUUsRUFBeUI7UUFBL0Msb0JBQU87UUFBZ0IsWUFBRyxFQUFFLGtCQUFNO0lBQzFELE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQXFCLEVBQUUsRUFBeUI7UUFBL0Msb0JBQU87UUFBZ0IsY0FBSSxFQUFFLGdCQUFLO0lBQzVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgUE9MTElOR19USU1FLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVByZXZlbnREZWZhdWx0LFxuICAgIHR1aVNjcm9sbEZyb20sXG4gICAgdHVpU3RvcFByb3BhZ2F0aW9uLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxuICAgIHR1aVpvbmVmcmVlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VMRU1FTlRfUkVGLCBUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpT3JpZW50YXRpb25UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYmFyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvblQgPSAndmVydGljYWwnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChUVUlfRUxFTUVOVF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NDUk9MTF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsO1xuICAgICAgICBjb25zdCBtb3VzZWRvd24kID0gdHVpVHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xuICAgICAgICBjb25zdCBtb3VzZW1vdmUkID0gdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZW1vdmUnKTtcbiAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNldXAnKTtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duV3JhcHBlciQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgICk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZWRvd25XcmFwcGVyJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHRoaXMuZ2V0U2Nyb2xsZWQoZXZlbnQsIDAuNSwgMC41KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2Vkb3duJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgdHVpU3RvcFByb3BhZ2F0aW9uKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsID0gZ2V0T2Zmc2V0VmVydGljYWwoZXZlbnQsIHJlY3QpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBob3Jpem9udGFsID0gZ2V0T2Zmc2V0SG9yaXpvbnRhbChldmVudCwgcmVjdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNldXAkKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnQsICdzY3JvbGxUb3AnLCBzY3JvbGxUb3ApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3Njcm9sbExlZnQnLCBzY3JvbGxMZWZ0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgICAgIHR1aVNjcm9sbEZyb20odGhpcy5lbGVtZW50KSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnXG4gICAgICAgICAgICA/IHNjcm9sbFRvcCAvIChzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQpXG4gICAgICAgICAgICA6IHNjcm9sbExlZnQgLyAoc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcGVuc2F0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTWF0aC5jZWlsKChjbGllbnRIZWlnaHQgLyBzY3JvbGxIZWlnaHQpICogMTAwKSAvIDEwMFxuICAgICAgICAgICAgOiBNYXRoLmNlaWwoKGNsaWVudFdpZHRoIC8gc2Nyb2xsV2lkdGgpICogMTAwKSAvIDEwMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50KCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjcm9sbGVkKFxuICAgICAgICB7Y2xpZW50WSwgY2xpZW50WH06IE1vdXNlRXZlbnQsXG4gICAgICAgIG9mZnNldFZlcnRpY2FsOiBudW1iZXIsXG4gICAgICAgIG9mZnNldEhvcml6b250YWw6IG51bWJlcixcbiAgICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9XG4gICAgICAgICAgICB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBjb25zdCBtYXhUb3AgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gaGVpZ2h0O1xuICAgICAgICBjb25zdCBtYXhMZWZ0ID0gdGhpcy5lbGVtZW50LnNjcm9sbFdpZHRoIC0gd2lkdGg7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkVG9wID1cbiAgICAgICAgICAgIChjbGllbnRZIC0gdG9wIC0gb2Zmc2V0SGVpZ2h0ICogb2Zmc2V0VmVydGljYWwpIC8gKGhlaWdodCAtIG9mZnNldEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkTGVmdCA9XG4gICAgICAgICAgICAoY2xpZW50WCAtIGxlZnQgLSBvZmZzZXRXaWR0aCAqIG9mZnNldEhvcml6b250YWwpIC8gKHdpZHRoIC0gb2Zmc2V0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBbbWF4VG9wICogc2Nyb2xsZWRUb3AsIG1heExlZnQgKiBzY3JvbGxlZExlZnRdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0VmVydGljYWwoe2NsaWVudFl9OiBNb3VzZUV2ZW50LCB7dG9wLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFkgLSB0b3ApIC8gaGVpZ2h0O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRIb3Jpem9udGFsKHtjbGllbnRYfTogTW91c2VFdmVudCwge2xlZnQsIHdpZHRofTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRYIC0gbGVmdCkgLyB3aWR0aDtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ElementRef, inject, InjectionToken } from '@angular/core';
|
|
3
|
+
/**
|
|
4
|
+
* Scrollable container
|
|
5
|
+
*/
|
|
6
|
+
export var TUI_SCROLL_REF = new InjectionToken("[TUI_SCROLL_REF]", {
|
|
7
|
+
factory: function () { return new ElementRef(inject(DOCUMENT).documentElement); },
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3Rva2Vucy8iLCJzb3VyY2VzIjpbInNjcm9sbC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDNUMsa0JBQWtCLEVBQ2xCO0lBQ0ksT0FBTyxFQUFFLGNBQU0sT0FBQSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQWhELENBQWdEO0NBQ2xFLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0VsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNjcm9sbGFibGUgY29udGFpbmVyXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfU0NST0xMX1JFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oXG4gICAgYFtUVUlfU0NST0xMX1JFRl1gLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gbmV3IEVsZW1lbnRSZWYoaW5qZWN0KERPQ1VNRU5UKS5kb2N1bWVudEVsZW1lbnQpLFxuICAgIH0sXG4pO1xuIl19
|