@mintplayer/ng-swiper 16.0.0 → 16.0.2
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/directives/swipe/swipe.directive.mjs +3 -3
- package/esm2022/lib/directives/swipe-container/swipe-container.directive.mjs +14 -24
- package/esm2022/lib/swiper.module.mjs +4 -4
- package/fesm2022/mintplayer-ng-swiper.mjs +20 -30
- package/fesm2022/mintplayer-ng-swiper.mjs.map +1 -1
- package/lib/directives/swipe-container/swipe-container.directive.d.ts +3 -5
- package/package.json +1 -1
|
@@ -70,11 +70,11 @@ class BsSwipeDirective {
|
|
|
70
70
|
this.observer.disconnect();
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
74
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BsSwipeDirective, selector: "[bsSwipe]", inputs: { offside: "offside" }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.align-top": "this.alignTopClass" } }, ngImport: i0 });
|
|
75
75
|
}
|
|
76
76
|
export { BsSwipeDirective };
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
78
78
|
type: Directive,
|
|
79
79
|
args: [{
|
|
80
80
|
selector: '[bsSwipe]'
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { animate, AnimationBuilder, style } from '@angular/animations';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import { ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { BehaviorSubject, combineLatest, filter, map, mergeMap, take } from 'rxjs';
|
|
5
6
|
import { BsSwipeDirective } from '../swipe/swipe.directive';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/animations";
|
|
@@ -54,22 +55,15 @@ class BsSwipeContainerDirective {
|
|
|
54
55
|
return count;
|
|
55
56
|
}));
|
|
56
57
|
this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
|
|
57
|
-
.pipe(map(([offset, padLeft]) =>
|
|
58
|
-
return offset - padLeft * 100;
|
|
59
|
-
}));
|
|
58
|
+
.pipe(map(([offset, padLeft]) => offset - padLeft * 100));
|
|
60
59
|
this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
|
|
61
|
-
.pipe(map(([offset, padLeft, padRight]) =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.pipe(takeUntil(this.destroyed$))
|
|
69
|
-
.subscribe((offsetRight) => this.offsetRight = offsetRight);
|
|
70
|
-
this.imageIndex$
|
|
71
|
-
.pipe(takeUntil(this.destroyed$))
|
|
72
|
-
.subscribe((imageIndex) => this.imageIndexChange.emit(imageIndex));
|
|
60
|
+
.pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));
|
|
61
|
+
this.offsetLeft$.pipe(takeUntilDestroyed())
|
|
62
|
+
.subscribe(offsetLeft => this.offsetLeft = offsetLeft);
|
|
63
|
+
this.offsetRight$.pipe(takeUntilDestroyed())
|
|
64
|
+
.subscribe(offsetRight => this.offsetRight = offsetRight);
|
|
65
|
+
this.imageIndex$.pipe(takeUntilDestroyed())
|
|
66
|
+
.subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));
|
|
73
67
|
this.actualSwipes$ = this.swipes$
|
|
74
68
|
.pipe(map(swipes => {
|
|
75
69
|
if (swipes) {
|
|
@@ -109,7 +103,6 @@ class BsSwipeContainerDirective {
|
|
|
109
103
|
//#endregion
|
|
110
104
|
actualSwipes$;
|
|
111
105
|
isViewInited$ = new BehaviorSubject(false);
|
|
112
|
-
destroyed$ = new Subject();
|
|
113
106
|
startTouch$ = new BehaviorSubject(null);
|
|
114
107
|
lastTouch$ = new BehaviorSubject(null);
|
|
115
108
|
swipes$ = new BehaviorSubject(null);
|
|
@@ -127,9 +120,6 @@ class BsSwipeContainerDirective {
|
|
|
127
120
|
ngAfterViewInit() {
|
|
128
121
|
this.isViewInited$.next(true);
|
|
129
122
|
}
|
|
130
|
-
ngOnDestroy() {
|
|
131
|
-
this.destroyed$.next(true);
|
|
132
|
-
}
|
|
133
123
|
animateToIndexByDx(dx) {
|
|
134
124
|
combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
|
|
135
125
|
.subscribe(([imageIndex, actualSwipes]) => {
|
|
@@ -188,11 +178,11 @@ class BsSwipeContainerDirective {
|
|
|
188
178
|
setTimeout(() => this.animateToIndex(imageIndex, index, 0, actualSwipes?.length ?? 1), 20);
|
|
189
179
|
});
|
|
190
180
|
}
|
|
191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
192
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
181
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
182
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: { minimumOffset: "minimumOffset", imageIndex: "imageIndex" }, outputs: { imageIndexChange: "imageIndexChange" }, host: { properties: { "style.margin-left.%": "this.offsetLeft", "style.margin-right.%": "this.offsetRight", "style.margin-top.%": "this.offsetTop", "style.margin-bottom.%": "this.offsetBottom" } }, queries: [{ propertyName: "swipes", predicate: i0.forwardRef(function () { return BsSwipeDirective; }) }], exportAs: ["bsSwipeContainer"], ngImport: i0 });
|
|
193
183
|
}
|
|
194
184
|
export { BsSwipeContainerDirective };
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
196
186
|
type: Directive,
|
|
197
187
|
args: [{
|
|
198
188
|
selector: '[bsSwipeContainer]',
|
|
@@ -223,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
223
213
|
}], imageIndexChange: [{
|
|
224
214
|
type: Output
|
|
225
215
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUc5SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTVELE1BSWEseUJBQXlCO0lBRUs7SUFBekMsWUFBWSxPQUFtQixFQUFVLGdCQUFrQyxFQUFvQixRQUFhO1FBQW5FLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDekUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFhLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENB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Q0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FuTVUseUJBQXlCLDRFQUVpRCxRQUFROzJGQUZsRix5QkFBeUIsbWJBNEZGLGdCQUFnQjs7U0E1RnZDLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzswQkFHK0UsTUFBTTsyQkFBQyxRQUFROzRDQXNGekQsVUFBVTtzQkFBN0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0csV0FBVztzQkFBL0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsU0FBUztzQkFBM0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ssWUFBWTtzQkFBakQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ3FCLE1BQU07c0JBQTlELGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUcxQyxhQUFhO3NCQUFyQixLQUFLO2dCQU1jLFVBQVU7c0JBQTdCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uUGxheWVyLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFzdFRvdWNoIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9sYXN0LXRvdWNoJztcbmltcG9ydCB7IFN0YXJ0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0YXJ0LXRvdWNoJztcbmltcG9ydCB7IEJzU3dpcGVEaXJlY3RpdmUgfSBmcm9tICcuLi9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZUNvbnRhaW5lcl0nLFxuICBleHBvcnRBczogJ2JzU3dpcGVDb250YWluZXInXG59KVxuZXhwb3J0IGNsYXNzIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLm9mZnNldCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXJ0VG91Y2gkLCB0aGlzLmxhc3RUb3VjaCQsIHRoaXMuaW1hZ2VJbmRleCQsIHRoaXMuaXNWaWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShtYXAoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIGltYWdlSW5kZXgsIGlzVmlld0luaXRlZF0pID0+IHtcbiAgICAgICAgaWYgKCFpc1ZpZXdJbml0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfSBlbHNlIGlmICghIXN0YXJ0VG91Y2ggJiYgISFsYXN0VG91Y2gpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwICsgKGxhc3RUb3VjaC5wb3NpdGlvbi54IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi54KSAvIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMTAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgICB0aGlzLnBhZExlZnQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzKSB7XG4gICAgICAgICAgaWYgKCFzLm9mZnNpZGUpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMucGFkUmlnaHQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzLnRvQXJyYXkoKS5yZXZlcnNlKCkpIHtcbiAgICAgICAgICBpZiAoIXMub2Zmc2lkZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0pKTtcblxuICAgIHRoaXMub2Zmc2V0TGVmdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldCQsIHRoaXMucGFkTGVmdCRdKVxuICAgICAgLnBpcGUobWFwKChbb2Zmc2V0LCBwYWRMZWZ0XSkgPT4ge1xuICAgICAgICByZXR1cm4gb2Zmc2V0IC0gcGFkTGVmdCAqIDEwMDtcbiAgICAgIH0pKTtcbiAgICB0aGlzLm9mZnNldFJpZ2h0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0JCwgdGhpcy5wYWRMZWZ0JCwgdGhpcy5wYWRSaWdodCRdKVxuICAgICAgLnBpcGUobWFwKChbb2Zmc2V0LCBwYWRMZWZ0LCBwYWRSaWdodF0pID0+IHtcbiAgICAgICAgcmV0dXJuIC0ob2Zmc2V0IC0gcGFkTGVmdCAqIDEwMCkgLSAocGFkUmlnaHQgLSAxKSAqIDEwMDtcbiAgICAgIH0pKTtcbiAgICB0aGlzLm9mZnNldExlZnQkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKG9mZnNldExlZnQpID0+IHRoaXMub2Zmc2V0TGVmdCA9IG9mZnNldExlZnQpO1xuICAgIHRoaXMub2Zmc2V0UmlnaHQkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKG9mZnNldFJpZ2h0KSA9PiB0aGlzLm9mZnNldFJpZ2h0ID0gb2Zmc2V0UmlnaHQpO1xuICAgIHRoaXMuaW1hZ2VJbmRleCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoaW1hZ2VJbmRleCkgPT4gdGhpcy5pbWFnZUluZGV4Q2hhbmdlLmVtaXQoaW1hZ2VJbmRleCkpO1xuXG4gICAgdGhpcy5hY3R1YWxTd2lwZXMkID0gdGhpcy5zd2lwZXMkXG4gICAgICAucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgICAgaWYgKHN3aXBlcykge1xuICAgICAgICAgIHJldHVybiBzd2lwZXMuZmlsdGVyKHN3aXBlID0+ICFzd2lwZS5vZmZzaWRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIHRoaXMuc2xpZGVIZWlnaHRzJCA9IHRoaXMuYWN0dWFsU3dpcGVzJFxuICAgICAgLnBpcGUoZmlsdGVyKHN3aXBlcyA9PiAhIXN3aXBlcykpXG4gICAgICAvLyAucGlwZShtYXAoc3dpcGVzID0+IDxRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4+c3dpcGVzKSlcbiAgICAgIC5waXBlKG1lcmdlTWFwKHN3aXBlcyA9PiBjb21iaW5lTGF0ZXN0KHN3aXBlcy5tYXAoc3dpcGUgPT4gc3dpcGUuc2xpZGVIZWlnaHQkKSkpKTtcblxuICAgIHRoaXMuY3VycmVudFNsaWRlSGVpZ2h0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2xpZGVIZWlnaHRzJCwgdGhpcy5pbWFnZUluZGV4JF0pXG4gICAgICAucGlwZShtYXAoKFtzbGlkZUhlaWdodHMsIGltYWdlSW5kZXhdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IE1hdGgubWF4KC4uLnNsaWRlSGVpZ2h0cyk7XG4gICAgICAgIGNvbnN0IGN1cnJIZWlnaHQ6IG51bWJlciA9IHNsaWRlSGVpZ2h0c1tpbWFnZUluZGV4XSA/PyBtYXhIZWlnaHQ7XG4gICAgICAgIHJldHVybiBtYXhIZWlnaHQgLSAobWF4SGVpZ2h0IC0gY3VyckhlaWdodCkvKiAvIDIqLztcbiAgICAgIH0pKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWxlZnQuJScpIG9mZnNldExlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1yaWdodC4lJykgb2Zmc2V0UmlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi10b3AuJScpIG9mZnNldFRvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWJvdHRvbS4lJykgb2Zmc2V0Qm90dG9tOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEJzU3dpcGVEaXJlY3RpdmUpKSBzZXQgc3dpcGVzKHZhbHVlOiBRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc3dpcGVzJC5uZXh0KHZhbHVlKSk7XG4gIH1cbiAgQElucHV0KCkgbWluaW11bU9mZnNldCA9IDUwO1xuXG4gIC8vI3JlZ2lvbiBJbWFnZUluZGV4XG4gIHB1YmxpYyBnZXQgaW1hZ2VJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZUluZGV4JC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGltYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIGltYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgLy8jZW5kcmVnaW9uXG4gIFxuICBhY3R1YWxTd2lwZXMkOiBPYnNlcnZhYmxlPEJzU3dpcGVEaXJlY3RpdmVbXT47XG4gIGlzVmlld0luaXRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHN0YXJ0VG91Y2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGFydFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIGxhc3RUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExhc3RUb3VjaCB8IG51bGw+KG51bGwpO1xuICBzd2lwZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4gfCBudWxsPihudWxsKTtcbiAgaW1hZ2VJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIHNsaWRlSGVpZ2h0cyQ6IE9ic2VydmFibGU8bnVtYmVyW10+O1xuICBjdXJyZW50U2xpZGVIZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBlbmRpbmdBbmltYXRpb24/OiBBbmltYXRpb25QbGF5ZXI7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgb2Zmc2V0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRMZWZ0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRSaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkTGVmdCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkUmlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNWaWV3SW5pdGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBhbmltYXRlVG9JbmRleEJ5RHgoZHg6IG51bWJlcikge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuaW1hZ2VJbmRleCQsIHRoaXMuYWN0dWFsU3dpcGVzJF0pLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtpbWFnZUluZGV4LCBhY3R1YWxTd2lwZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGR4ID4gMCA/ICdsZWZ0JyA6ICdyaWdodCc7XG4gICAgICBcbiAgICAgICAgbGV0IG5ld0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmIChNYXRoLmFicyhkeCkgPCB0aGlzLm1pbmltdW1PZmZzZXQpIHtcbiAgICAgICAgICBuZXdJbmRleCA9IGltYWdlSW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbWFnZUluZGV4ICsgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/IDEgOiAtMSk7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIHRoaXMuYW5pbWF0ZVRvSW5kZXgoaW1hZ2VJbmRleCwgbmV3SW5kZXgsIGR4LCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0ZVRvSW5kZXgob2xkSW5kZXg6IG51bWJlciwgbmV3SW5kZXg6IG51bWJlciwgZHg6IG51bWJlciwgdG90YWxTbGlkZXM6IG51bWJlcikge1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQnVpbGRlci5idWlsZChbXG4gICAgICBzdHlsZSh7ICdtYXJnaW4tbGVmdCc6ICgtKG9sZEluZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCArIGR4KSArICdweCcsICdtYXJnaW4tcmlnaHQnOiAoKG9sZEluZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtIGR4KSArICdweCcgfSksXG4gICAgICBhbmltYXRlKCc1MDBtcyBlYXNlJywgc3R5bGUoeyAnbWFyZ2luLWxlZnQnOiAoLShuZXdJbmRleCArIDEpICogdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpICsgJ3B4JywgJ21hcmdpbi1yaWdodCc6ICgobmV3SW5kZXggKyAxKSAqIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSArICdweCcgfSkpLFxuICAgIF0pLmNyZWF0ZSh0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uLm9uRG9uZSgoKSA9PiB7XG4gICAgICAvLyBDb3JyZWN0IHRoZSBpbWFnZSBpbmRleFxuICAgICAgaWYgKG5ld0luZGV4ID09PSAtMSkge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodG90YWxTbGlkZXMgLSAxKTtcbiAgICAgIH0gZWxzZSBpZiAobmV3SW5kZXggPT09IHRvdGFsU2xpZGVzKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCgwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dChuZXdJbmRleCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXJ0VG91Y2gkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmxhc3RUb3VjaCQubmV4dChudWxsKTtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbj8uZGVzdHJveSgpO1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbi5wbGF5KCk7XG4gIH1cblxuICBvblN3aXBlKGR4OiBudW1iZXIpIHtcbiAgICB0aGlzLmFuaW1hdGVUb0luZGV4QnlEeChkeCk7XG4gIH1cblxuICBwcmV2aW91cygpIHtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0dWFsU3dpcGVzJCwgdGhpcy5pbWFnZUluZGV4JF0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChbYWN0dWFsU3dpcGVzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIGltYWdlSW5kZXggLSAxLCAwLCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKSwgMjApO1xuICAgIH0pO1xuICB9XG5cbiAgbmV4dCgpIHtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0dWFsU3dpcGVzJCwgdGhpcy5pbWFnZUluZGV4JF0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChbYWN0dWFsU3dpcGVzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIGltYWdlSW5kZXggKyAxLCAwLCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKSwgMjApO1xuICAgIH0pO1xuICB9XG5cbiAgZ290byhpbmRleDogbnVtYmVyKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5hY3R1YWxTd2lwZXMkLCB0aGlzLmltYWdlSW5kZXgkXSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKFthY3R1YWxTd2lwZXMsIGltYWdlSW5kZXhdKSA9PiB7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIGluZGV4LCAwLCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKSwgMjApO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUU1RCxNQUlhLHlCQUF5QjtJQUVLO0lBQXpDLFlBQVksT0FBbUIsRUFBVSxnQkFBa0MsRUFBb0IsUUFBYTtRQUFuRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBYSxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdB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LFFBQVE7NENBK0V6RCxVQUFVO3NCQUE3QyxXQUFXO3VCQUFDLHFCQUFxQjtnQkFDRyxXQUFXO3NCQUEvQyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDQSxTQUFTO3NCQUEzQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSyxZQUFZO3NCQUFqRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDcUIsTUFBTTtzQkFBOUQsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBRzFDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTWMsVUFBVTtzQkFBN0IsS0FBSztnQkFHSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25CdWlsZGVyLCBBbmltYXRpb25QbGF5ZXIsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYXN0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xhc3QtdG91Y2gnO1xuaW1wb3J0IHsgU3RhcnRUb3VjaCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RhcnQtdG91Y2gnO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4uL3N3aXBlL3N3aXBlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1N3aXBlQ29udGFpbmVyXScsXG4gIGV4cG9ydEFzOiAnYnNTd2lwZUNvbnRhaW5lcidcbn0pXG5leHBvcnQgY2xhc3MgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLm9mZnNldCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXJ0VG91Y2gkLCB0aGlzLmxhc3RUb3VjaCQsIHRoaXMuaW1hZ2VJbmRleCQsIHRoaXMuaXNWaWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShtYXAoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIGltYWdlSW5kZXgsIGlzVmlld0luaXRlZF0pID0+IHtcbiAgICAgICAgaWYgKCFpc1ZpZXdJbml0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfSBlbHNlIGlmICghIXN0YXJ0VG91Y2ggJiYgISFsYXN0VG91Y2gpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwICsgKGxhc3RUb3VjaC5wb3NpdGlvbi54IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi54KSAvIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMTAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgICB0aGlzLnBhZExlZnQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzKSB7XG4gICAgICAgICAgaWYgKCFzLm9mZnNpZGUpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMucGFkUmlnaHQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzLnRvQXJyYXkoKS5yZXZlcnNlKCkpIHtcbiAgICAgICAgICBpZiAoIXMub2Zmc2lkZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0pKTtcblxuICAgIHRoaXMub2Zmc2V0TGVmdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldCQsIHRoaXMucGFkTGVmdCRdKVxuICAgICAgLnBpcGUobWFwKChbb2Zmc2V0LCBwYWRMZWZ0XSkgPT4gb2Zmc2V0IC0gcGFkTGVmdCAqIDEwMCkpO1xuICAgIHRoaXMub2Zmc2V0UmlnaHQkID0gY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXQkLCB0aGlzLnBhZExlZnQkLCB0aGlzLnBhZFJpZ2h0JF0pXG4gICAgICAucGlwZShtYXAoKFtvZmZzZXQsIHBhZExlZnQsIHBhZFJpZ2h0XSkgPT4gLShvZmZzZXQgLSBwYWRMZWZ0ICogMTAwKSAtIChwYWRSaWdodCAtIDEpICogMTAwKSk7XG4gICAgdGhpcy5vZmZzZXRMZWZ0JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShvZmZzZXRMZWZ0ID0+IHRoaXMub2Zmc2V0TGVmdCA9IG9mZnNldExlZnQpO1xuICAgIHRoaXMub2Zmc2V0UmlnaHQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKG9mZnNldFJpZ2h0ID0+IHRoaXMub2Zmc2V0UmlnaHQgPSBvZmZzZXRSaWdodCk7XG4gICAgdGhpcy5pbWFnZUluZGV4JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShpbWFnZUluZGV4ID0+IHRoaXMuaW1hZ2VJbmRleENoYW5nZS5lbWl0KGltYWdlSW5kZXgpKTtcblxuICAgIHRoaXMuYWN0dWFsU3dpcGVzJCA9IHRoaXMuc3dpcGVzJFxuICAgICAgLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmIChzd2lwZXMpIHtcbiAgICAgICAgICByZXR1cm4gc3dpcGVzLmZpbHRlcihzd2lwZSA9PiAhc3dpcGUub2Zmc2lkZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLnNsaWRlSGVpZ2h0cyQgPSB0aGlzLmFjdHVhbFN3aXBlcyRcbiAgICAgIC5waXBlKGZpbHRlcihzd2lwZXMgPT4gISFzd2lwZXMpKVxuICAgICAgLy8gLnBpcGUobWFwKHN3aXBlcyA9PiA8UXVlcnlMaXN0PEJzU3dpcGVEaXJlY3RpdmU+PnN3aXBlcykpXG4gICAgICAucGlwZShtZXJnZU1hcChzd2lwZXMgPT4gY29tYmluZUxhdGVzdChzd2lwZXMubWFwKHN3aXBlID0+IHN3aXBlLnNsaWRlSGVpZ2h0JCkpKSk7XG5cbiAgICB0aGlzLmN1cnJlbnRTbGlkZUhlaWdodCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNsaWRlSGVpZ2h0cyQsIHRoaXMuaW1hZ2VJbmRleCRdKVxuICAgICAgLnBpcGUobWFwKChbc2xpZGVIZWlnaHRzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1heCguLi5zbGlkZUhlaWdodHMpO1xuICAgICAgICBjb25zdCBjdXJySGVpZ2h0OiBudW1iZXIgPSBzbGlkZUhlaWdodHNbaW1hZ2VJbmRleF0gPz8gbWF4SGVpZ2h0O1xuICAgICAgICByZXR1cm4gbWF4SGVpZ2h0IC0gKG1heEhlaWdodCAtIGN1cnJIZWlnaHQpLyogLyAyKi87XG4gICAgICB9KSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1sZWZ0LiUnKSBvZmZzZXRMZWZ0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tcmlnaHQuJScpIG9mZnNldFJpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tdG9wLiUnKSBvZmZzZXRUb3A6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1ib3R0b20uJScpIG9mZnNldEJvdHRvbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc1N3aXBlRGlyZWN0aXZlKSkgc2V0IHN3aXBlcyh2YWx1ZTogUXVlcnlMaXN0PEJzU3dpcGVEaXJlY3RpdmU+KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnN3aXBlcyQubmV4dCh2YWx1ZSkpO1xuICB9XG4gIEBJbnB1dCgpIG1pbmltdW1PZmZzZXQgPSA1MDtcblxuICAvLyNyZWdpb24gSW1hZ2VJbmRleFxuICBwdWJsaWMgZ2V0IGltYWdlSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VJbmRleCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpbWFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodmFsdWUpO1xuICB9XG4gIEBPdXRwdXQoKSBpbWFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIC8vI2VuZHJlZ2lvblxuICBcbiAgYWN0dWFsU3dpcGVzJDogT2JzZXJ2YWJsZTxCc1N3aXBlRGlyZWN0aXZlW10+O1xuICBpc1ZpZXdJbml0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHN0YXJ0VG91Y2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGFydFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIGxhc3RUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExhc3RUb3VjaCB8IG51bGw+KG51bGwpO1xuICBzd2lwZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4gfCBudWxsPihudWxsKTtcbiAgaW1hZ2VJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIHNsaWRlSGVpZ2h0cyQ6IE9ic2VydmFibGU8bnVtYmVyW10+O1xuICBjdXJyZW50U2xpZGVIZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBlbmRpbmdBbmltYXRpb24/OiBBbmltYXRpb25QbGF5ZXI7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgb2Zmc2V0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRMZWZ0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRSaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkTGVmdCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkUmlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNWaWV3SW5pdGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgYW5pbWF0ZVRvSW5kZXhCeUR4KGR4OiBudW1iZXIpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmltYWdlSW5kZXgkLCB0aGlzLmFjdHVhbFN3aXBlcyRdKS5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbaW1hZ2VJbmRleCwgYWN0dWFsU3dpcGVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBkeCA+IDAgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgXG4gICAgICAgIGxldCBuZXdJbmRleDogbnVtYmVyO1xuICAgICAgICBpZiAoTWF0aC5hYnMoZHgpIDwgdGhpcy5taW5pbXVtT2Zmc2V0KSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbWFnZUluZGV4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0luZGV4ID0gaW1hZ2VJbmRleCArIChkaXJlY3Rpb24gPT09ICdyaWdodCcgPyAxIDogLTEpO1xuICAgICAgICB9XG4gIFxuICAgICAgICB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIG5ld0luZGV4LCBkeCwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFuaW1hdGVUb0luZGV4KG9sZEluZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIsIGR4OiBudW1iZXIsIHRvdGFsU2xpZGVzOiBudW1iZXIpIHtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIuYnVpbGQoW1xuICAgICAgc3R5bGUoeyAnbWFyZ2luLWxlZnQnOiAoLShvbGRJbmRleCArIDEpICogdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKyBkeCkgKyAncHgnLCAnbWFyZ2luLXJpZ2h0JzogKChvbGRJbmRleCArIDEpICogdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSBkeCkgKyAncHgnIH0pLFxuICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZScsIHN0eWxlKHsgJ21hcmdpbi1sZWZ0JzogKC0obmV3SW5kZXggKyAxKSAqIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSArICdweCcsICdtYXJnaW4tcmlnaHQnOiAoKG5ld0luZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCkgKyAncHgnIH0pKSxcbiAgICBdKS5jcmVhdGUodGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbi5vbkRvbmUoKCkgPT4ge1xuICAgICAgLy8gQ29ycmVjdCB0aGUgaW1hZ2UgaW5kZXhcbiAgICAgIGlmIChuZXdJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhpcy5pbWFnZUluZGV4JC5uZXh0KHRvdGFsU2xpZGVzIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKG5ld0luZGV4ID09PSB0b3RhbFNsaWRlcykge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQoMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQobmV3SW5kZXgpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdGFydFRvdWNoJC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5sYXN0VG91Y2gkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmRlc3Ryb3koKTtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24ucGxheSgpO1xuICB9XG5cbiAgb25Td2lwZShkeDogbnVtYmVyKSB7XG4gICAgdGhpcy5hbmltYXRlVG9JbmRleEJ5RHgoZHgpO1xuICB9XG5cbiAgcHJldmlvdXMoKSB7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmFjdHVhbFN3aXBlcyQsIHRoaXMuaW1hZ2VJbmRleCRdKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoW2FjdHVhbFN3aXBlcywgaW1hZ2VJbmRleF0pID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBpbWFnZUluZGV4IC0gMSwgMCwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSksIDIwKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmFjdHVhbFN3aXBlcyQsIHRoaXMuaW1hZ2VJbmRleCRdKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoW2FjdHVhbFN3aXBlcywgaW1hZ2VJbmRleF0pID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBpbWFnZUluZGV4ICsgMSwgMCwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSksIDIwKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdvdG8oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0dWFsU3dpcGVzJCwgdGhpcy5pbWFnZUluZGV4JF0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChbYWN0dWFsU3dpcGVzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBpbmRleCwgMCwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSksIDIwKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -4,12 +4,12 @@ import { BsSwipeDirective } from './directives/swipe/swipe.directive';
|
|
|
4
4
|
import { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
class BsSwiperModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
|
|
10
10
|
}
|
|
11
11
|
export { BsSwiperModule };
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [CommonModule],
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Directive, Inject, HostBinding, ContentChildren, forwardRef, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
|
-
import { combineLatest, map,
|
|
4
|
+
import { combineLatest, map, filter, mergeMap, BehaviorSubject, take } from 'rxjs';
|
|
5
5
|
import * as i1 from '@angular/animations';
|
|
6
6
|
import { style, animate } from '@angular/animations';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
8
|
|
|
8
9
|
class BsSwipeContainerDirective {
|
|
9
10
|
animationBuilder;
|
|
@@ -54,22 +55,15 @@ class BsSwipeContainerDirective {
|
|
|
54
55
|
return count;
|
|
55
56
|
}));
|
|
56
57
|
this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
|
|
57
|
-
.pipe(map(([offset, padLeft]) =>
|
|
58
|
-
return offset - padLeft * 100;
|
|
59
|
-
}));
|
|
58
|
+
.pipe(map(([offset, padLeft]) => offset - padLeft * 100));
|
|
60
59
|
this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
|
|
61
|
-
.pipe(map(([offset, padLeft, padRight]) =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.pipe(takeUntil(this.destroyed$))
|
|
69
|
-
.subscribe((offsetRight) => this.offsetRight = offsetRight);
|
|
70
|
-
this.imageIndex$
|
|
71
|
-
.pipe(takeUntil(this.destroyed$))
|
|
72
|
-
.subscribe((imageIndex) => this.imageIndexChange.emit(imageIndex));
|
|
60
|
+
.pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));
|
|
61
|
+
this.offsetLeft$.pipe(takeUntilDestroyed())
|
|
62
|
+
.subscribe(offsetLeft => this.offsetLeft = offsetLeft);
|
|
63
|
+
this.offsetRight$.pipe(takeUntilDestroyed())
|
|
64
|
+
.subscribe(offsetRight => this.offsetRight = offsetRight);
|
|
65
|
+
this.imageIndex$.pipe(takeUntilDestroyed())
|
|
66
|
+
.subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));
|
|
73
67
|
this.actualSwipes$ = this.swipes$
|
|
74
68
|
.pipe(map(swipes => {
|
|
75
69
|
if (swipes) {
|
|
@@ -109,7 +103,6 @@ class BsSwipeContainerDirective {
|
|
|
109
103
|
//#endregion
|
|
110
104
|
actualSwipes$;
|
|
111
105
|
isViewInited$ = new BehaviorSubject(false);
|
|
112
|
-
destroyed$ = new Subject();
|
|
113
106
|
startTouch$ = new BehaviorSubject(null);
|
|
114
107
|
lastTouch$ = new BehaviorSubject(null);
|
|
115
108
|
swipes$ = new BehaviorSubject(null);
|
|
@@ -127,9 +120,6 @@ class BsSwipeContainerDirective {
|
|
|
127
120
|
ngAfterViewInit() {
|
|
128
121
|
this.isViewInited$.next(true);
|
|
129
122
|
}
|
|
130
|
-
ngOnDestroy() {
|
|
131
|
-
this.destroyed$.next(true);
|
|
132
|
-
}
|
|
133
123
|
animateToIndexByDx(dx) {
|
|
134
124
|
combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
|
|
135
125
|
.subscribe(([imageIndex, actualSwipes]) => {
|
|
@@ -188,10 +178,10 @@ class BsSwipeContainerDirective {
|
|
|
188
178
|
setTimeout(() => this.animateToIndex(imageIndex, index, 0, actualSwipes?.length ?? 1), 20);
|
|
189
179
|
});
|
|
190
180
|
}
|
|
191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
192
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
181
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
182
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: { minimumOffset: "minimumOffset", imageIndex: "imageIndex" }, outputs: { imageIndexChange: "imageIndexChange" }, host: { properties: { "style.margin-left.%": "this.offsetLeft", "style.margin-right.%": "this.offsetRight", "style.margin-top.%": "this.offsetTop", "style.margin-bottom.%": "this.offsetBottom" } }, queries: [{ propertyName: "swipes", predicate: i0.forwardRef(function () { return BsSwipeDirective; }) }], exportAs: ["bsSwipeContainer"], ngImport: i0 });
|
|
193
183
|
}
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
195
185
|
type: Directive,
|
|
196
186
|
args: [{
|
|
197
187
|
selector: '[bsSwipeContainer]',
|
|
@@ -290,10 +280,10 @@ class BsSwipeDirective {
|
|
|
290
280
|
this.observer.disconnect();
|
|
291
281
|
}
|
|
292
282
|
}
|
|
293
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
294
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
283
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeDirective, deps: [{ token: BsSwipeContainerDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
284
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BsSwipeDirective, selector: "[bsSwipe]", inputs: { offside: "offside" }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.align-top": "this.alignTopClass" } }, ngImport: i0 });
|
|
295
285
|
}
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
297
287
|
type: Directive,
|
|
298
288
|
args: [{
|
|
299
289
|
selector: '[bsSwipe]'
|
|
@@ -315,11 +305,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
315
305
|
}] } });
|
|
316
306
|
|
|
317
307
|
class BsSwiperModule {
|
|
318
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
319
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.
|
|
320
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.
|
|
308
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
309
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
|
|
310
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
|
|
321
311
|
}
|
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BsSwiperModule, decorators: [{
|
|
323
313
|
type: NgModule,
|
|
324
314
|
args: [{
|
|
325
315
|
imports: [CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-swiper.mjs","sources":["../../../../libs/mintplayer-ng-swiper/src/lib/directives/swipe-container/swipe-container.directive.ts","../../../../libs/mintplayer-ng-swiper/src/lib/directives/swipe/swipe.directive.ts","../../../../libs/mintplayer-ng-swiper/src/lib/swiper.module.ts","../../../../libs/mintplayer-ng-swiper/src/mintplayer-ng-swiper.ts"],"sourcesContent":["import { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, OnDestroy, Output, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, map, mergeMap, Observable, Subject, take, takeUntil, takeWhile } from 'rxjs';\nimport { LastTouch } from '../../interfaces/last-touch';\nimport { StartTouch } from '../../interfaces/start-touch';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\n\n@Directive({\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer'\n})\nexport class BsSwipeContainerDirective implements AfterViewInit, OnDestroy {\n\n constructor(element: ElementRef, private animationBuilder: AnimationBuilder, @Inject(DOCUMENT) document: any) {\n this.containerElement = element;\n this.document = <Document>document;\n this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n } else if (!!startTouch && !!lastTouch) {\n return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);\n } else {\n return (-imageIndex * 100);\n }\n }));\n\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => {\n return offset - padLeft * 100;\n }));\n this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => {\n return -(offset - padLeft * 100) - (padRight - 1) * 100;\n }));\n this.offsetLeft$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((offsetLeft) => this.offsetLeft = offsetLeft);\n this.offsetRight$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((offsetRight) => this.offsetRight = offsetRight);\n this.imageIndex$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((imageIndex) => this.imageIndexChange.emit(imageIndex));\n\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside);\n } else {\n return [];\n }\n }));\n\n this.slideHeights$ = this.actualSwipes$\n .pipe(filter(swipes => !!swipes))\n // .pipe(map(swipes => <QueryList<BsSwipeDirective>>swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.slideHeight$))));\n\n this.currentSlideHeight$ = combineLatest([this.slideHeights$, this.imageIndex$])\n .pipe(map(([slideHeights, imageIndex]) => {\n const maxHeight = Math.max(...slideHeights);\n const currHeight: number = slideHeights[imageIndex] ?? maxHeight;\n return maxHeight - (maxHeight - currHeight)/* / 2*/;\n }));\n }\n\n @HostBinding('style.margin-left.%') offsetLeft: number | null = null;\n @HostBinding('style.margin-right.%') offsetRight: number | null = null;\n @HostBinding('style.margin-top.%') offsetTop: number | null = null;\n @HostBinding('style.margin-bottom.%') offsetBottom: number | null = null;\n @ContentChildren(forwardRef(() => BsSwipeDirective)) set swipes(value: QueryList<BsSwipeDirective>) {\n setTimeout(() => this.swipes$.next(value));\n }\n @Input() minimumOffset = 50;\n\n //#region ImageIndex\n public get imageIndex() {\n return this.imageIndex$.value;\n }\n @Input() public set imageIndex(value: number) {\n this.imageIndex$.next(value);\n }\n @Output() imageIndexChange = new EventEmitter<number>();\n //#endregion\n \n actualSwipes$: Observable<BsSwipeDirective[]>;\n isViewInited$ = new BehaviorSubject<boolean>(false);\n destroyed$ = new Subject();\n startTouch$ = new BehaviorSubject<StartTouch | null>(null);\n lastTouch$ = new BehaviorSubject<LastTouch | null>(null);\n swipes$ = new BehaviorSubject<QueryList<BsSwipeDirective> | null>(null);\n imageIndex$ = new BehaviorSubject<number>(0);\n slideHeights$: Observable<number[]>;\n currentSlideHeight$: Observable<number>;\n pendingAnimation?: AnimationPlayer;\n containerElement: ElementRef<HTMLDivElement>;\n document: Document;\n\n offset$: Observable<number>;\n offsetLeft$: Observable<number>;\n offsetRight$: Observable<number>;\n padLeft$: Observable<number>;\n padRight$: Observable<number>;\n\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n animateToIndexByDx(dx: number) {\n combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))\n .subscribe(([imageIndex, actualSwipes]) => {\n const direction = dx > 0 ? 'left' : 'right';\n \n let newIndex: number;\n if (Math.abs(dx) < this.minimumOffset) {\n newIndex = imageIndex;\n } else {\n newIndex = imageIndex + (direction === 'right' ? 1 : -1);\n }\n \n this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);\n });\n }\n\n animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number) {\n this.pendingAnimation = this.animationBuilder.build([\n style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),\n animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),\n ]).create(this.containerElement.nativeElement);\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n } else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n\n onSwipe(dx: number) {\n this.animateToIndexByDx(dx);\n }\n\n previous() {\n this.pendingAnimation?.finish();\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n setTimeout(() => this.animateToIndex(imageIndex, imageIndex - 1, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n next() {\n this.pendingAnimation?.finish();\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n setTimeout(() => this.animateToIndex(imageIndex, imageIndex + 1, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n goto(index: number) {\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n this.pendingAnimation?.finish();\n setTimeout(() => this.animateToIndex(imageIndex, index, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, OnDestroy } from \"@angular/core\";\nimport { BehaviorSubject, combineLatest, filter, take } from \"rxjs\";\nimport { BsSwipeContainerDirective } from \"../swipe-container/swipe-container.directive\";\n\n@Directive({\n selector: '[bsSwipe]'\n})\nexport class BsSwipeDirective implements AfterViewInit, OnDestroy {\n\n constructor(private container: BsSwipeContainerDirective, element: ElementRef<HTMLElement>) {\n this.element = element;\n }\n\n element: ElementRef<HTMLElement>;\n observer?: ResizeObserver;\n public slideHeight$ = new BehaviorSubject<number>(0);\n\n //#region Offside\n @Input() public offside = false;\n //#endregion\n\n @HostBinding('class.align-top') alignTopClass = true;\n @HostListener('touchstart', ['$event'])\n onTouchStart(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchMove(ev: TouchEvent) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n\n @HostListener('touchend', ['$event'])\n onTouchEnd(ev: TouchEvent) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1))\n .subscribe(([startTouch, lastTouch]) => {\n if (!!startTouch && !!lastTouch) {\n const dx = lastTouch.position.x - startTouch.position.x;\n this.container.onSwipe(dx);\n }\n });\n }\n\n ngAfterViewInit() {\n this.observer = new ResizeObserver((entries) => {\n this.slideHeight$.next(entries[0].contentRect.height);\n });\n this.observer.observe(this.element.nativeElement);\n }\n\n ngOnDestroy() {\n if (this.observer) {\n this.observer.unobserve(this.element.nativeElement);\n this.observer.disconnect();\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n})\nexport class BsSwiperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-swiper.mjs","sources":["../../../../libs/mintplayer-ng-swiper/src/lib/directives/swipe-container/swipe-container.directive.ts","../../../../libs/mintplayer-ng-swiper/src/lib/directives/swipe/swipe.directive.ts","../../../../libs/mintplayer-ng-swiper/src/lib/swiper.module.ts","../../../../libs/mintplayer-ng-swiper/src/mintplayer-ng-swiper.ts"],"sourcesContent":["import { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest, filter, map, mergeMap, Observable, take } from 'rxjs';\nimport { LastTouch } from '../../interfaces/last-touch';\nimport { StartTouch } from '../../interfaces/start-touch';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\n\n@Directive({\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer'\n})\nexport class BsSwipeContainerDirective implements AfterViewInit {\n\n constructor(element: ElementRef, private animationBuilder: AnimationBuilder, @Inject(DOCUMENT) document: any) {\n this.containerElement = element;\n this.document = <Document>document;\n this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n } else if (!!startTouch && !!lastTouch) {\n return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);\n } else {\n return (-imageIndex * 100);\n }\n }));\n\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n this.offsetLeft$.pipe(takeUntilDestroyed())\n .subscribe(offsetLeft => this.offsetLeft = offsetLeft);\n this.offsetRight$.pipe(takeUntilDestroyed())\n .subscribe(offsetRight => this.offsetRight = offsetRight);\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside);\n } else {\n return [];\n }\n }));\n\n this.slideHeights$ = this.actualSwipes$\n .pipe(filter(swipes => !!swipes))\n // .pipe(map(swipes => <QueryList<BsSwipeDirective>>swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.slideHeight$))));\n\n this.currentSlideHeight$ = combineLatest([this.slideHeights$, this.imageIndex$])\n .pipe(map(([slideHeights, imageIndex]) => {\n const maxHeight = Math.max(...slideHeights);\n const currHeight: number = slideHeights[imageIndex] ?? maxHeight;\n return maxHeight - (maxHeight - currHeight)/* / 2*/;\n }));\n }\n\n @HostBinding('style.margin-left.%') offsetLeft: number | null = null;\n @HostBinding('style.margin-right.%') offsetRight: number | null = null;\n @HostBinding('style.margin-top.%') offsetTop: number | null = null;\n @HostBinding('style.margin-bottom.%') offsetBottom: number | null = null;\n @ContentChildren(forwardRef(() => BsSwipeDirective)) set swipes(value: QueryList<BsSwipeDirective>) {\n setTimeout(() => this.swipes$.next(value));\n }\n @Input() minimumOffset = 50;\n\n //#region ImageIndex\n public get imageIndex() {\n return this.imageIndex$.value;\n }\n @Input() public set imageIndex(value: number) {\n this.imageIndex$.next(value);\n }\n @Output() imageIndexChange = new EventEmitter<number>();\n //#endregion\n \n actualSwipes$: Observable<BsSwipeDirective[]>;\n isViewInited$ = new BehaviorSubject<boolean>(false);\n startTouch$ = new BehaviorSubject<StartTouch | null>(null);\n lastTouch$ = new BehaviorSubject<LastTouch | null>(null);\n swipes$ = new BehaviorSubject<QueryList<BsSwipeDirective> | null>(null);\n imageIndex$ = new BehaviorSubject<number>(0);\n slideHeights$: Observable<number[]>;\n currentSlideHeight$: Observable<number>;\n pendingAnimation?: AnimationPlayer;\n containerElement: ElementRef<HTMLDivElement>;\n document: Document;\n\n offset$: Observable<number>;\n offsetLeft$: Observable<number>;\n offsetRight$: Observable<number>;\n padLeft$: Observable<number>;\n padRight$: Observable<number>;\n\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n\n animateToIndexByDx(dx: number) {\n combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))\n .subscribe(([imageIndex, actualSwipes]) => {\n const direction = dx > 0 ? 'left' : 'right';\n \n let newIndex: number;\n if (Math.abs(dx) < this.minimumOffset) {\n newIndex = imageIndex;\n } else {\n newIndex = imageIndex + (direction === 'right' ? 1 : -1);\n }\n \n this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);\n });\n }\n\n animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number) {\n this.pendingAnimation = this.animationBuilder.build([\n style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),\n animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),\n ]).create(this.containerElement.nativeElement);\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n } else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n\n onSwipe(dx: number) {\n this.animateToIndexByDx(dx);\n }\n\n previous() {\n this.pendingAnimation?.finish();\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n setTimeout(() => this.animateToIndex(imageIndex, imageIndex - 1, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n next() {\n this.pendingAnimation?.finish();\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n setTimeout(() => this.animateToIndex(imageIndex, imageIndex + 1, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n goto(index: number) {\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n this.pendingAnimation?.finish();\n setTimeout(() => this.animateToIndex(imageIndex, index, 0, actualSwipes?.length ?? 1), 20);\n });\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, OnDestroy } from \"@angular/core\";\nimport { BehaviorSubject, combineLatest, filter, take } from \"rxjs\";\nimport { BsSwipeContainerDirective } from \"../swipe-container/swipe-container.directive\";\n\n@Directive({\n selector: '[bsSwipe]'\n})\nexport class BsSwipeDirective implements AfterViewInit, OnDestroy {\n\n constructor(private container: BsSwipeContainerDirective, element: ElementRef<HTMLElement>) {\n this.element = element;\n }\n\n element: ElementRef<HTMLElement>;\n observer?: ResizeObserver;\n public slideHeight$ = new BehaviorSubject<number>(0);\n\n //#region Offside\n @Input() public offside = false;\n //#endregion\n\n @HostBinding('class.align-top') alignTopClass = true;\n @HostListener('touchstart', ['$event'])\n onTouchStart(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchMove(ev: TouchEvent) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n\n @HostListener('touchend', ['$event'])\n onTouchEnd(ev: TouchEvent) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1))\n .subscribe(([startTouch, lastTouch]) => {\n if (!!startTouch && !!lastTouch) {\n const dx = lastTouch.position.x - startTouch.position.x;\n this.container.onSwipe(dx);\n }\n });\n }\n\n ngAfterViewInit() {\n this.observer = new ResizeObserver((entries) => {\n this.slideHeight$.next(entries[0].contentRect.height);\n });\n this.observer.observe(this.element.nativeElement);\n }\n\n ngOnDestroy() {\n if (this.observer) {\n this.observer.unobserve(this.element.nativeElement);\n this.observer.disconnect();\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n})\nexport class BsSwiperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AnimationBuilder, AnimationPlayer } from '@angular/animations';
|
|
2
|
-
import { AfterViewInit, ElementRef, EventEmitter,
|
|
3
|
-
import { BehaviorSubject, Observable
|
|
2
|
+
import { AfterViewInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import { LastTouch } from '../../interfaces/last-touch';
|
|
5
5
|
import { StartTouch } from '../../interfaces/start-touch';
|
|
6
6
|
import { BsSwipeDirective } from '../swipe/swipe.directive';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class BsSwipeContainerDirective implements AfterViewInit
|
|
8
|
+
export declare class BsSwipeContainerDirective implements AfterViewInit {
|
|
9
9
|
private animationBuilder;
|
|
10
10
|
constructor(element: ElementRef, animationBuilder: AnimationBuilder, document: any);
|
|
11
11
|
offsetLeft: number | null;
|
|
@@ -19,7 +19,6 @@ export declare class BsSwipeContainerDirective implements AfterViewInit, OnDestr
|
|
|
19
19
|
imageIndexChange: EventEmitter<number>;
|
|
20
20
|
actualSwipes$: Observable<BsSwipeDirective[]>;
|
|
21
21
|
isViewInited$: BehaviorSubject<boolean>;
|
|
22
|
-
destroyed$: Subject<unknown>;
|
|
23
22
|
startTouch$: BehaviorSubject<StartTouch | null>;
|
|
24
23
|
lastTouch$: BehaviorSubject<LastTouch | null>;
|
|
25
24
|
swipes$: BehaviorSubject<QueryList<BsSwipeDirective> | null>;
|
|
@@ -35,7 +34,6 @@ export declare class BsSwipeContainerDirective implements AfterViewInit, OnDestr
|
|
|
35
34
|
padLeft$: Observable<number>;
|
|
36
35
|
padRight$: Observable<number>;
|
|
37
36
|
ngAfterViewInit(): void;
|
|
38
|
-
ngOnDestroy(): void;
|
|
39
37
|
animateToIndexByDx(dx: number): void;
|
|
40
38
|
animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number): void;
|
|
41
39
|
onSwipe(dx: number): void;
|