@ethlete/core 1.10.0 → 2.0.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/esm2022/lib/components/structured-data/structured-data.component.mjs +38 -0
- package/esm2022/lib/directives/animatable/animatable.directive.mjs +114 -0
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +113 -0
- package/esm2022/lib/directives/animated-lifecycle/index.mjs +2 -0
- package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +181 -0
- package/esm2022/lib/directives/animated-overlay/public-api.mjs +2 -0
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +38 -0
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +147 -0
- package/esm2022/lib/directives/delayable/delayable.directive.mjs +56 -0
- package/esm2022/lib/directives/let/let.directive.mjs +41 -0
- package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +69 -0
- package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +69 -0
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +175 -0
- package/esm2022/lib/directives/public-api.mjs +16 -0
- package/esm2022/lib/directives/repeat/repeat.directive.mjs +37 -0
- package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +32 -0
- package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +19 -0
- package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +35 -0
- package/esm2022/lib/directives/seo/seo.directive.mjs +167 -0
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +16 -0
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +16 -0
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +16 -0
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +16 -0
- package/esm2022/lib/services/click-observer.service.mjs +75 -0
- package/esm2022/lib/services/content-observer.service.mjs +81 -0
- package/esm2022/lib/services/focus-visible.service.mjs +35 -0
- package/esm2022/lib/services/public-api.mjs +8 -0
- package/esm2022/lib/services/resize-observer.service.mjs +77 -0
- package/esm2022/lib/services/router-state.service.mjs +116 -0
- package/esm2022/lib/services/viewport.service.mjs +169 -0
- package/esm2022/lib/types/angular.types.mjs +15 -0
- package/esm2022/lib/utils/destroy.utils.mjs +13 -0
- package/esm2022/lib/utils/public-api.mjs +13 -0
- package/esm2022/lib/utils/reactive-binding.util.mjs +112 -0
- package/esm2022/lib/utils/scrollable.utils.mjs +85 -0
- package/{fesm2020 → fesm2022}/ethlete-core.mjs +745 -605
- package/fesm2022/ethlete-core.mjs.map +1 -0
- package/lib/components/structured-data/structured-data.component.d.ts +1 -1
- package/lib/directives/animatable/animatable.directive.d.ts +1 -1
- package/lib/directives/animated-lifecycle/index.d.ts +1 -0
- package/lib/directives/animated-overlay/animated-overlay.directive.d.ts +62 -0
- package/lib/directives/animated-overlay/public-api.d.ts +1 -0
- package/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/directives/observe-content/observe-content.directive.d.ts +1 -1
- package/lib/directives/observe-resize/observe-resize.directive.d.ts +1 -1
- package/lib/directives/observe-scroll-state/observe-scroll-state.directive.d.ts +1 -1
- package/lib/directives/public-api.d.ts +1 -0
- package/lib/directives/repeat/repeat.directive.d.ts +1 -1
- package/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.d.ts +1 -1
- package/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.d.ts +1 -1
- package/lib/services/public-api.d.ts +0 -1
- package/lib/types/angular.types.d.ts +0 -7
- package/lib/utils/destroy.utils.d.ts +1 -0
- package/lib/utils/public-api.d.ts +1 -0
- package/package.json +14 -19
- package/esm2020/lib/components/structured-data/structured-data.component.mjs +0 -37
- package/esm2020/lib/directives/animatable/animatable.directive.mjs +0 -115
- package/esm2020/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +0 -115
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +0 -37
- package/esm2020/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +0 -147
- package/esm2020/lib/directives/delayable/delayable.directive.mjs +0 -55
- package/esm2020/lib/directives/let/let.directive.mjs +0 -40
- package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +0 -68
- package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +0 -68
- package/esm2020/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +0 -176
- package/esm2020/lib/directives/public-api.mjs +0 -15
- package/esm2020/lib/directives/repeat/repeat.directive.mjs +0 -36
- package/esm2020/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +0 -31
- package/esm2020/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +0 -18
- package/esm2020/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +0 -34
- package/esm2020/lib/directives/seo/seo.directive.mjs +0 -166
- package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +0 -15
- package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +0 -15
- package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +0 -15
- package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +0 -15
- package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +0 -15
- package/esm2020/lib/pipes/to-array/to-array.pipe.mjs +0 -15
- package/esm2020/lib/services/click-observer.service.mjs +0 -73
- package/esm2020/lib/services/content-observer.service.mjs +0 -79
- package/esm2020/lib/services/destroy.service.mjs +0 -23
- package/esm2020/lib/services/focus-visible.service.mjs +0 -34
- package/esm2020/lib/services/public-api.mjs +0 -9
- package/esm2020/lib/services/resize-observer.service.mjs +0 -75
- package/esm2020/lib/services/router-state.service.mjs +0 -115
- package/esm2020/lib/services/viewport.service.mjs +0 -168
- package/esm2020/lib/types/angular.types.mjs +0 -36
- package/esm2020/lib/utils/public-api.mjs +0 -12
- package/esm2020/lib/utils/reactive-binding.util.mjs +0 -111
- package/esm2020/lib/utils/scrollable.utils.mjs +0 -85
- package/fesm2015/ethlete-core.mjs +0 -2787
- package/fesm2015/ethlete-core.mjs.map +0 -1
- package/fesm2020/ethlete-core.mjs.map +0 -1
- package/lib/services/destroy.service.d.ts +0 -12
- /package/{esm2020 → esm2022}/ethlete-core.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/structured-data/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/viewport.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/memo/memo.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/memo/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/animatable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/animatable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/animated-lifecycle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/click-outside/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/cursor-drag-scroll/cursor-drag-scroll.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/cursor-drag-scroll/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/delayable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/let/let.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/let/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/observe-content/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/observe-resize/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/observe-scroll-state.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/observe-scroll-state.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/repeat/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-first-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-first-element/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-ignore-target/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-ignore-target/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-last-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/scroll-observer-last-element/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/seo/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/normalize-match-participants.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/normalize-match-participants.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/normalize-match-score.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/normalize-match-score.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/normalize-match-state.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/normalize-match-state.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-type/normalize-match-type.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/normalize-match-type/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/to-array/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/to-array/to-array.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/viewport.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/i18n.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/viewport.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/animation.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/clamp.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/clone.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/cookie.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/equal.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/media-query-observable.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/rxjs.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/smart-block-scroll-strategy.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/viewport.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/is-array-not-empty.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/is-email.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/must-match.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/public-api.mjs +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { Directive, ElementRef, Input, inject } from '@angular/core';
|
|
3
|
+
import { Subject, combineLatest, debounceTime, fromEvent, startWith, take, takeUntil, tap } from 'rxjs';
|
|
4
|
+
import { ContentObserverService, ResizeObserverService } from '../../services';
|
|
5
|
+
import { createDestroy, elementCanScroll } from '../../utils';
|
|
6
|
+
import { CURSOR_DRAG_SCROLLING_CLASS, CURSOR_DRAG_SCROLLING_PREPARED_CLASS } from './cursor-drag-scroll.constants';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
class CursorDragScrollDirective {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._subscriptions = [];
|
|
11
|
+
this._destroy$ = createDestroy();
|
|
12
|
+
this._elementRef = inject(ElementRef);
|
|
13
|
+
this._contentObserverService = inject(ContentObserverService);
|
|
14
|
+
this._resizeObserverService = inject(ResizeObserverService);
|
|
15
|
+
this._bufferUntilScroll = 5;
|
|
16
|
+
this._mouseUp$ = new Subject();
|
|
17
|
+
this._isScrolling = false;
|
|
18
|
+
this._canScroll = false;
|
|
19
|
+
this._currentScrollState = {
|
|
20
|
+
top: 0,
|
|
21
|
+
left: 0,
|
|
22
|
+
x: 0,
|
|
23
|
+
y: 0,
|
|
24
|
+
};
|
|
25
|
+
this._enabled = false;
|
|
26
|
+
}
|
|
27
|
+
get enabled() {
|
|
28
|
+
return this._enabled;
|
|
29
|
+
}
|
|
30
|
+
set enabled(value) {
|
|
31
|
+
this._enabled = coerceBooleanProperty(value);
|
|
32
|
+
if (this._enabled) {
|
|
33
|
+
this._enableCursorDragScroll();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this._disableCursorDragScroll();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ngAfterViewInit() {
|
|
40
|
+
if (this.enabled) {
|
|
41
|
+
this._enableCursorDragScroll();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this._disableCursorDragScroll();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_enableCursorDragScroll() {
|
|
48
|
+
const contentResizeSub = combineLatest([
|
|
49
|
+
this._contentObserverService.observe(this._elementRef.nativeElement).pipe(startWith(null)),
|
|
50
|
+
this._resizeObserverService.observe(this._elementRef.nativeElement).pipe(startWith(null)),
|
|
51
|
+
])
|
|
52
|
+
.pipe(debounceTime(25), tap(() => this._updateCanScrollState()), takeUntil(this._destroy$))
|
|
53
|
+
.subscribe();
|
|
54
|
+
const mousedownSub = fromEvent(this._elementRef.nativeElement, 'mousedown')
|
|
55
|
+
.pipe(tap((e) => this._onMouseDown(e)), takeUntil(this._destroy$))
|
|
56
|
+
.subscribe();
|
|
57
|
+
this._subscriptions.push(contentResizeSub, mousedownSub);
|
|
58
|
+
this._updateCanScrollState();
|
|
59
|
+
}
|
|
60
|
+
_disableCursorDragScroll() {
|
|
61
|
+
this._subscriptions.forEach((sub) => sub.unsubscribe());
|
|
62
|
+
this._subscriptions.length = 0;
|
|
63
|
+
this._elementRef.nativeElement.style.cursor = 'default';
|
|
64
|
+
}
|
|
65
|
+
_onMouseDown(e) {
|
|
66
|
+
if (!this._elementRef?.nativeElement || !this._canScroll) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const element = this._elementRef.nativeElement;
|
|
70
|
+
element.classList.add(CURSOR_DRAG_SCROLLING_PREPARED_CLASS);
|
|
71
|
+
this._elementRef.nativeElement.style.scrollSnapType = 'none';
|
|
72
|
+
this._elementRef.nativeElement.style.scrollBehavior = 'unset';
|
|
73
|
+
this._currentScrollState = {
|
|
74
|
+
left: this._elementRef.nativeElement.scrollLeft,
|
|
75
|
+
top: this._elementRef.nativeElement.scrollTop,
|
|
76
|
+
x: e.clientX,
|
|
77
|
+
y: e.clientY,
|
|
78
|
+
};
|
|
79
|
+
fromEvent(document, 'mousemove')
|
|
80
|
+
.pipe(tap((e) => this._mouseMoveHandler(e)), takeUntil(this._mouseUp$), takeUntil(this._destroy$))
|
|
81
|
+
.subscribe();
|
|
82
|
+
fromEvent(document, 'mouseup')
|
|
83
|
+
.pipe(tap(() => this._mouseUpHandler()), take(1), takeUntil(this._destroy$))
|
|
84
|
+
.subscribe();
|
|
85
|
+
}
|
|
86
|
+
_mouseMoveHandler(e) {
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
if (!this._elementRef?.nativeElement) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const dx = e.clientX - this._currentScrollState.x;
|
|
92
|
+
const dy = e.clientY - this._currentScrollState.y;
|
|
93
|
+
if (Math.abs(dx) > this._bufferUntilScroll || Math.abs(dy) > this._bufferUntilScroll) {
|
|
94
|
+
const element = this._elementRef.nativeElement;
|
|
95
|
+
if (!this._isScrolling) {
|
|
96
|
+
this._isScrolling = true;
|
|
97
|
+
element.style.cursor = 'grabbing';
|
|
98
|
+
element.classList.add(CURSOR_DRAG_SCROLLING_CLASS);
|
|
99
|
+
element.scroll({
|
|
100
|
+
top: this._currentScrollState.top - dy,
|
|
101
|
+
left: this._currentScrollState.left - dx,
|
|
102
|
+
behavior: 'smooth',
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
element.scrollTop = this._currentScrollState.top - dy;
|
|
107
|
+
element.scrollLeft = this._currentScrollState.left - dx;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
_mouseUpHandler() {
|
|
112
|
+
this._mouseUp$.next(true);
|
|
113
|
+
this._isScrolling = false;
|
|
114
|
+
if (!this._elementRef?.nativeElement) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
this._elementRef.nativeElement.style.scrollSnapType = '';
|
|
118
|
+
this._elementRef.nativeElement.style.scrollBehavior = '';
|
|
119
|
+
this._elementRef.nativeElement.style.cursor = 'grab';
|
|
120
|
+
this._elementRef.nativeElement.classList.remove(CURSOR_DRAG_SCROLLING_CLASS);
|
|
121
|
+
this._elementRef.nativeElement.classList.remove(CURSOR_DRAG_SCROLLING_PREPARED_CLASS);
|
|
122
|
+
}
|
|
123
|
+
_updateCanScrollState() {
|
|
124
|
+
this._canScroll = elementCanScroll(this._elementRef.nativeElement);
|
|
125
|
+
if (this._canScroll) {
|
|
126
|
+
this._elementRef.nativeElement.style.cursor = 'grab';
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this._elementRef.nativeElement.style.cursor = 'default';
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CursorDragScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CursorDragScrollDirective, isStandalone: true, selector: "[etCursorDragScroll]", inputs: { enabled: ["etCursorDragScroll", "enabled"] }, exportAs: ["etCursorDragScroll"], ngImport: i0 }); }
|
|
134
|
+
}
|
|
135
|
+
export { CursorDragScrollDirective };
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CursorDragScrollDirective, decorators: [{
|
|
137
|
+
type: Directive,
|
|
138
|
+
args: [{
|
|
139
|
+
selector: '[etCursorDragScroll]',
|
|
140
|
+
exportAs: 'etCursorDragScroll',
|
|
141
|
+
standalone: true,
|
|
142
|
+
}]
|
|
143
|
+
}], propDecorators: { enabled: [{
|
|
144
|
+
type: Input,
|
|
145
|
+
args: ['etCursorDragScroll']
|
|
146
|
+
}] } });
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLWRyYWctc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvY3Vyc29yLWRyYWctc2Nyb2xsL2N1cnNvci1kcmFnLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVuSCxNQUthLHlCQUF5QjtJQUx0QztRQU1tQixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFDcEMsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCw0QkFBdUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV2RCx1QkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFNUMsaUJBQVksR0FB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fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50T2JzZXJ2ZXJTZXJ2aWNlLCBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVEZXN0cm95LCBlbGVtZW50Q2FuU2Nyb2xsIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ1VSU09SX0RSQUdfU0NST0xMSU5HX0NMQVNTLCBDVVJTT1JfRFJBR19TQ1JPTExJTkdfUFJFUEFSRURfQ0xBU1MgfSBmcm9tICcuL2N1cnNvci1kcmFnLXNjcm9sbC5jb25zdGFudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZXRDdXJzb3JEcmFnU2Nyb2xsXScsXG4gIGV4cG9ydEFzOiAnZXRDdXJzb3JEcmFnU2Nyb2xsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3Vyc29yRHJhZ1Njcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRPYnNlcnZlclNlcnZpY2UgPSBpbmplY3QoQ29udGVudE9ic2VydmVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6ZU9ic2VydmVyU2VydmljZSA9IGluamVjdChSZXNpemVPYnNlcnZlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1ZmZlclVudGlsU2Nyb2xsID0gNTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW91c2VVcCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgX2lzU2Nyb2xsaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX2NhblNjcm9sbCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTY3JvbGxTdGF0ZSA9IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gIH07XG5cbiAgQElucHV0KCdldEN1cnNvckRyYWdTY3JvbGwnKVxuICBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuICBzZXQgZW5hYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xuICAgICAgdGhpcy5fZW5hYmxlQ3Vyc29yRHJhZ1Njcm9sbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kaXNhYmxlQ3Vyc29yRHJhZ1Njcm9sbCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9lbmFibGVkID0gZmFsc2U7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX2VuYWJsZUN1cnNvckRyYWdTY3JvbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGlzYWJsZUN1cnNvckRyYWdTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVDdXJzb3JEcmFnU2Nyb2xsKCkge1xuICAgIGNvbnN0IGNvbnRlbnRSZXNpemVTdWIgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2NvbnRlbnRPYnNlcnZlclNlcnZpY2Uub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoc3RhcnRXaXRoKG51bGwpKSxcbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDI1KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3VwZGF0ZUNhblNjcm9sbFN0YXRlKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29uc3QgbW91c2Vkb3duU3ViID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChlKSA9PiB0aGlzLl9vbk1vdXNlRG93bihlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goY29udGVudFJlc2l6ZVN1YiwgbW91c2Vkb3duU3ViKTtcblxuICAgIHRoaXMuX3VwZGF0ZUNhblNjcm9sbFN0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlQ3Vyc29yRHJhZ1Njcm9sbCgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMubGVuZ3RoID0gMDtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Nb3VzZURvd24oZTogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCB8fCAhdGhpcy5fY2FuU2Nyb2xsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChDVVJTT1JfRFJBR19TQ1JPTExJTkdfUFJFUEFSRURfQ0xBU1MpO1xuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNjcm9sbFNuYXBUeXBlID0gJ25vbmUnO1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICd1bnNldCc7XG5cbiAgICB0aGlzLl9jdXJyZW50U2Nyb2xsU3RhdGUgPSB7XG4gICAgICBsZWZ0OiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgIHRvcDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCxcbiAgICAgIHg6IGUuY2xpZW50WCxcbiAgICAgIHk6IGUuY2xpZW50WSxcbiAgICB9O1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGUpID0+IHRoaXMuX21vdXNlTW92ZUhhbmRsZXIoZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fbW91c2VVcCQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX21vdXNlVXBIYW5kbGVyKCkpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbW91c2VNb3ZlSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHggPSBlLmNsaWVudFggLSB0aGlzLl9jdXJyZW50U2Nyb2xsU3RhdGUueDtcbiAgICBjb25zdCBkeSA9IGUuY2xpZW50WSAtIHRoaXMuX2N1cnJlbnRTY3JvbGxTdGF0ZS55O1xuXG4gICAgaWYgKE1hdGguYWJzKGR4KSA+IHRoaXMuX2J1ZmZlclVudGlsU2Nyb2xsIHx8IE1hdGguYWJzKGR5KSA+IHRoaXMuX2J1ZmZlclVudGlsU2Nyb2xsKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsaW5nKSB7XG4gICAgICAgIHRoaXMuX2lzU2Nyb2xsaW5nID0gdHJ1ZTtcblxuICAgICAgICBlbGVtZW50LnN0eWxlLmN1cnNvciA9ICdncmFiYmluZyc7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChDVVJTT1JfRFJBR19TQ1JPTExJTkdfQ0xBU1MpO1xuICAgICAgICBlbGVtZW50LnNjcm9sbCh7XG4gICAgICAgICAgdG9wOiB0aGlzLl9jdXJyZW50U2Nyb2xsU3RhdGUudG9wIC0gZHksXG4gICAgICAgICAgbGVmdDogdGhpcy5fY3VycmVudFNjcm9sbFN0YXRlLmxlZnQgLSBkeCxcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9jdXJyZW50U2Nyb2xsU3RhdGUudG9wIC0gZHk7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuX2N1cnJlbnRTY3JvbGxTdGF0ZS5sZWZ0IC0gZHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbW91c2VVcEhhbmRsZXIoKSB7XG4gICAgdGhpcy5fbW91c2VVcCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLl9pc1Njcm9sbGluZyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNjcm9sbFNuYXBUeXBlID0gJyc7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gJyc7XG5cbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2dyYWInO1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENVUlNPUl9EUkFHX1NDUk9MTElOR19DTEFTUyk7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ1VSU09SX0RSQUdfU0NST0xMSU5HX1BSRVBBUkVEX0NMQVNTKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNhblNjcm9sbFN0YXRlKCkge1xuICAgIHRoaXMuX2NhblNjcm9sbCA9IGVsZW1lbnRDYW5TY3JvbGwodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIGlmICh0aGlzLl9jYW5TY3JvbGwpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnZ3JhYic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const DELAYABLE_TOKEN = new InjectionToken('DELAYABLE_DIRECTIVE_TOKEN');
|
|
5
|
+
class DelayableDirective {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._isDelayed$ = new BehaviorSubject(false);
|
|
8
|
+
}
|
|
9
|
+
get isDelayed$() {
|
|
10
|
+
return this._isDelayed$.asObservable();
|
|
11
|
+
}
|
|
12
|
+
get isDelayed() {
|
|
13
|
+
return this._isDelayed$.value;
|
|
14
|
+
}
|
|
15
|
+
enableDelayed() {
|
|
16
|
+
if (this._isDelayed$.value) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this._isDelayed$.next(true);
|
|
20
|
+
}
|
|
21
|
+
disableDelayed() {
|
|
22
|
+
if (!this._isDelayed$.value) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this._isDelayed$.next(false);
|
|
26
|
+
}
|
|
27
|
+
setDelayed(val) {
|
|
28
|
+
if (this._isDelayed$.value === val) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this._isDelayed$.next(val);
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DelayableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: DelayableDirective, isStandalone: true, selector: "[etDelayable]", providers: [
|
|
35
|
+
{
|
|
36
|
+
provide: DELAYABLE_TOKEN,
|
|
37
|
+
useExisting: DelayableDirective,
|
|
38
|
+
},
|
|
39
|
+
], exportAs: ["etDelayable"], ngImport: i0 }); }
|
|
40
|
+
}
|
|
41
|
+
export { DelayableDirective };
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DelayableDirective, decorators: [{
|
|
43
|
+
type: Directive,
|
|
44
|
+
args: [{
|
|
45
|
+
selector: '[etDelayable]',
|
|
46
|
+
exportAs: 'etDelayable',
|
|
47
|
+
standalone: true,
|
|
48
|
+
providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: DELAYABLE_TOKEN,
|
|
51
|
+
useExisting: DelayableDirective,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
}]
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZGVsYXlhYmxlL2RlbGF5YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFxQiwyQkFBMkIsQ0FBQyxDQUFDO0FBRW5HLE1BV2Esa0JBQWtCO0lBWC9CO1FBWW1CLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7S0FpQzNEO0lBL0JDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFZO1FBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBakNVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDREQVBsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1NBQ0Y7O1NBRVUsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBWDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixXQUFXLG9CQUFvQjt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IERFTEFZQUJMRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEZWxheWFibGVEaXJlY3RpdmU+KCdERUxBWUFCTEVfRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldERlbGF5YWJsZV0nLFxuICBleHBvcnRBczogJ2V0RGVsYXlhYmxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogREVMQVlBQkxFX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IERlbGF5YWJsZURpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWxheWFibGVEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0RlbGF5ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgZ2V0IGlzRGVsYXllZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzRGVsYXllZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNEZWxheWVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0RlbGF5ZWQkLnZhbHVlO1xuICB9XG5cbiAgZW5hYmxlRGVsYXllZCgpIHtcbiAgICBpZiAodGhpcy5faXNEZWxheWVkJC52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzRGVsYXllZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGRpc2FibGVEZWxheWVkKCkge1xuICAgIGlmICghdGhpcy5faXNEZWxheWVkJC52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzRGVsYXllZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBzZXREZWxheWVkKHZhbDogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9pc0RlbGF5ZWQkLnZhbHVlID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc0RlbGF5ZWQkLm5leHQodmFsKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { LetContext } from './let.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
class LetDirective {
|
|
5
|
+
set etLet(value) {
|
|
6
|
+
this._context.$implicit = this._context.etLet = value;
|
|
7
|
+
this._updateView();
|
|
8
|
+
}
|
|
9
|
+
constructor(_viewContainer, templateRef) {
|
|
10
|
+
this._viewContainer = _viewContainer;
|
|
11
|
+
this._context = new LetContext();
|
|
12
|
+
this._templateRef = null;
|
|
13
|
+
this._viewRef = null;
|
|
14
|
+
this._templateRef = templateRef;
|
|
15
|
+
}
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
_updateView() {
|
|
21
|
+
if (!this._viewRef) {
|
|
22
|
+
this._viewContainer.clear();
|
|
23
|
+
if (this._templateRef) {
|
|
24
|
+
this._viewRef = this._viewContainer.createEmbeddedView(this._templateRef, this._context);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: LetDirective, isStandalone: true, selector: "[etLet]", inputs: { etLet: "etLet" }, ngImport: i0 }); }
|
|
30
|
+
}
|
|
31
|
+
export { LetDirective };
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LetDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[etLet]',
|
|
36
|
+
standalone: true,
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { etLet: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvbGV0L2xldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV6QyxNQUlhLFlBQVk7SUFDdkIsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFRRCxZQUFvQixjQUFnQyxFQUFFLFdBQXVDO1FBQXpFLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUo1QyxhQUFRLEdBQWtCLElBQUksVUFBVSxFQUFLLENBQUM7UUFDOUMsaUJBQVksR0FBc0MsSUFBSSxDQUFDO1FBQ3ZELGFBQVEsR0FBMEMsSUFBSSxDQUFDO1FBRzdELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQW9CLEVBQUUsR0FBUTtRQUM3RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUY7U0FDRjtJQUNILENBQUM7OEdBN0JVLFlBQVk7a0dBQVosWUFBWTs7U0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtpSUFHSyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMZXRDb250ZXh0IH0gZnJvbSAnLi9sZXQudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZXRMZXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGV0RGlyZWN0aXZlPFQgPSB1bmtub3duPiB7XG4gIEBJbnB1dCgpXG4gIHNldCBldExldCh2YWx1ZTogVCkge1xuICAgIHRoaXMuX2NvbnRleHQuJGltcGxpY2l0ID0gdGhpcy5fY29udGV4dC5ldExldCA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZVZpZXcoKTtcbiAgfVxuXG4gIHN0YXRpYyBuZ1RlbXBsYXRlR3VhcmRfbmdMZXQ6ICdiaW5kaW5nJztcblxuICBwcml2YXRlIF9jb250ZXh0OiBMZXRDb250ZXh0PFQ+ID0gbmV3IExldENvbnRleHQ8VD4oKTtcbiAgcHJpdmF0ZSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPExldENvbnRleHQ8VD4+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3ZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxMZXRDb250ZXh0PFQ+PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxMZXRDb250ZXh0PFQ+Pikge1xuICAgIHRoaXMuX3RlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IExldERpcmVjdGl2ZTxUPiwgY3R4OiBhbnkpOiBjdHggaXMgTGV0Q29udGV4dDxUPiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWaWV3KCkge1xuICAgIGlmICghdGhpcy5fdmlld1JlZikge1xuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgaWYgKHRoaXMuX3RlbXBsYXRlUmVmKSB7XG4gICAgICAgIHRoaXMuX3ZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZiwgdGhpcy5fY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import { ContentObserverService } from '../../services';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class ObserveContentDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._contentObserver = inject(ContentObserverService);
|
|
9
|
+
this._elementRef = inject(ElementRef);
|
|
10
|
+
this._ngZone = inject(NgZone);
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
this._disabled = false;
|
|
13
|
+
this._debounce = null;
|
|
14
|
+
this._currentSubscription = null;
|
|
15
|
+
}
|
|
16
|
+
get disabled() {
|
|
17
|
+
return this._disabled;
|
|
18
|
+
}
|
|
19
|
+
set disabled(value) {
|
|
20
|
+
this._disabled = coerceBooleanProperty(value);
|
|
21
|
+
this._disabled ? this._unsubscribe() : this._subscribe();
|
|
22
|
+
}
|
|
23
|
+
get debounce() {
|
|
24
|
+
return this._debounce;
|
|
25
|
+
}
|
|
26
|
+
set debounce(value) {
|
|
27
|
+
this._debounce = coerceNumberProperty(value);
|
|
28
|
+
this._subscribe();
|
|
29
|
+
}
|
|
30
|
+
ngAfterContentInit() {
|
|
31
|
+
if (!this._currentSubscription && !this.disabled) {
|
|
32
|
+
this._subscribe();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this._unsubscribe();
|
|
37
|
+
}
|
|
38
|
+
_subscribe() {
|
|
39
|
+
this._unsubscribe();
|
|
40
|
+
const stream = this._contentObserver.observe(this._elementRef);
|
|
41
|
+
this._ngZone.runOutsideAngular(() => {
|
|
42
|
+
this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.valueChange);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
_unsubscribe() {
|
|
46
|
+
this._currentSubscription?.unsubscribe();
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { valueChange: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 }); }
|
|
50
|
+
}
|
|
51
|
+
export { ObserveContentDirective };
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ObserveContentDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: '[etObserveContent]',
|
|
56
|
+
exportAs: 'etObserveContent',
|
|
57
|
+
standalone: true,
|
|
58
|
+
}]
|
|
59
|
+
}], propDecorators: { valueChange: [{
|
|
60
|
+
type: Output,
|
|
61
|
+
args: ['etObserveContent']
|
|
62
|
+
}], disabled: [{
|
|
63
|
+
type: Input,
|
|
64
|
+
args: ['etObserveContentDisabled']
|
|
65
|
+
}], debounce: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['etObserveContentDebounce']
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1jb250ZW50L29ic2VydmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV4RCxNQUthLHVCQUF1QjtJQUxwQztRQU1VLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xELGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBR3hCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFVcEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVVsQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUVoQyx5QkFBb0IsR0FBd0IsSUFBSSxDQUFDO0tBMEIxRDtJQTlDQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FDdkcsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBckRVLHVCQUF1QjtrR0FBdkIsdUJBQXVCOztTQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBT1UsV0FBVztzQkFEbkIsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBSXRCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQywwQkFBMEI7Z0JBVzdCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGVudE9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0T2JzZXJ2ZUNvbnRlbnRdJyxcbiAgZXhwb3J0QXM6ICdldE9ic2VydmVDb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgT2JzZXJ2ZUNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9jb250ZW50T2JzZXJ2ZXIgPSBpbmplY3QoQ29udGVudE9ic2VydmVyU2VydmljZSk7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBAT3V0cHV0KCdldE9ic2VydmVDb250ZW50JylcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE11dGF0aW9uUmVjb3JkW10+KCk7XG5cbiAgQElucHV0KCdldE9ic2VydmVDb250ZW50RGlzYWJsZWQnKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuX2Rpc2FibGVkID8gdGhpcy5fdW5zdWJzY3JpYmUoKSA6IHRoaXMuX3N1YnNjcmliZSgpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCdldE9ic2VydmVDb250ZW50RGVib3VuY2UnKVxuICBnZXQgZGVib3VuY2UoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2RlYm91bmNlO1xuICB9XG4gIHNldCBkZWJvdW5jZSh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9kZWJvdW5jZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLl9zdWJzY3JpYmUoKTtcbiAgfVxuICBwcml2YXRlIF9kZWJvdW5jZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfY3VycmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5fY3VycmVudFN1YnNjcmlwdGlvbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZSgpIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuX2NvbnRlbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gPSAodGhpcy5kZWJvdW5jZSA/IHN0cmVhbS5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSkgOiBzdHJlYW0pLnN1YnNjcmliZShcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';
|
|
3
|
+
import { debounceTime } from 'rxjs';
|
|
4
|
+
import { ResizeObserverService } from '../../services';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class ObserveResizeDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._resizeObserver = inject(ResizeObserverService);
|
|
9
|
+
this._elementRef = inject(ElementRef);
|
|
10
|
+
this._ngZone = inject(NgZone);
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
this._disabled = false;
|
|
13
|
+
this._debounce = null;
|
|
14
|
+
this._currentSubscription = null;
|
|
15
|
+
}
|
|
16
|
+
get disabled() {
|
|
17
|
+
return this._disabled;
|
|
18
|
+
}
|
|
19
|
+
set disabled(value) {
|
|
20
|
+
this._disabled = coerceBooleanProperty(value);
|
|
21
|
+
this._disabled ? this._unsubscribe() : this._subscribe();
|
|
22
|
+
}
|
|
23
|
+
get debounce() {
|
|
24
|
+
return this._debounce;
|
|
25
|
+
}
|
|
26
|
+
set debounce(value) {
|
|
27
|
+
this._debounce = coerceNumberProperty(value);
|
|
28
|
+
this._subscribe();
|
|
29
|
+
}
|
|
30
|
+
ngAfterContentInit() {
|
|
31
|
+
if (!this._currentSubscription && !this.disabled) {
|
|
32
|
+
this._subscribe();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this._unsubscribe();
|
|
37
|
+
}
|
|
38
|
+
_subscribe() {
|
|
39
|
+
this._unsubscribe();
|
|
40
|
+
const stream = this._resizeObserver.observe(this._elementRef);
|
|
41
|
+
this._ngZone.runOutsideAngular(() => {
|
|
42
|
+
this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.valueChange);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
_unsubscribe() {
|
|
46
|
+
this._currentSubscription?.unsubscribe();
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { valueChange: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 }); }
|
|
50
|
+
}
|
|
51
|
+
export { ObserveResizeDirective };
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ObserveResizeDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: '[etObserveResize]',
|
|
56
|
+
exportAs: 'etObserveResize',
|
|
57
|
+
standalone: true,
|
|
58
|
+
}]
|
|
59
|
+
}], propDecorators: { valueChange: [{
|
|
60
|
+
type: Output,
|
|
61
|
+
args: ['etObserveResize']
|
|
62
|
+
}], disabled: [{
|
|
63
|
+
type: Input,
|
|
64
|
+
args: ['etObserveResizeDisabled']
|
|
65
|
+
}], debounce: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['etObserveResizeDebounce']
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1yZXNpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9vYnNlcnZlLXJlc2l6ZS9vYnNlcnZlLXJlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXZELE1BS2Esc0JBQXNCO0lBTG5DO1FBTVUsb0JBQWUsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUl4QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBVXpELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMseUJBQW9CLEdBQXdCLElBQUksQ0FBQztLQTBCMUQ7SUE5Q0MsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFHRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFLRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUN2RyxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0F0RFUsc0JBQXNCO2tHQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFRVSxXQUFXO3NCQUZuQixNQUFNO3VCQUFDLGlCQUFpQjtnQkFLckIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLHlCQUF5QjtnQkFXNUIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0T2JzZXJ2ZVJlc2l6ZV0nLFxuICBleHBvcnRBczogJ2V0T2JzZXJ2ZVJlc2l6ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE9ic2VydmVSZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciA9IGluamVjdChSZXNpemVPYnNlcnZlclNlcnZpY2UpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgQE91dHB1dCgnZXRPYnNlcnZlUmVzaXplJylcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNpemVPYnNlcnZlckVudHJ5W10+KCk7XG5cbiAgQElucHV0KCdldE9ic2VydmVSZXNpemVEaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLl91bnN1YnNjcmliZSgpIDogdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2V0T2JzZXJ2ZVJlc2l6ZURlYm91bmNlJylcbiAgZ2V0IGRlYm91bmNlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kZWJvdW5jZTtcbiAgfVxuICBzZXQgZGVib3VuY2UodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICBjb25zdCBzdHJlYW0gPSB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gPSAodGhpcy5kZWJvdW5jZSA/IHN0cmVhbS5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSkgOiBzdHJlYW0pLnN1YnNjcmliZShcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|