@mintplayer/ng-swiper 15.2.4 → 16.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/directives/swipe/swipe.directive.mjs +97 -0
- package/esm2022/lib/directives/swipe-container/swipe-container.directive.mjs +226 -0
- package/esm2022/lib/swiper.module.mjs +20 -0
- package/{fesm2020 → fesm2022}/mintplayer-ng-swiper.mjs +44 -28
- package/fesm2022/mintplayer-ng-swiper.mjs.map +1 -0
- package/lib/directives/swipe/swipe.directive.d.ts +1 -1
- package/lib/directives/swipe-container/swipe-container.directive.d.ts +1 -1
- package/package.json +9 -15
- package/esm2020/lib/directives/swipe/swipe.directive.mjs +0 -93
- package/esm2020/lib/directives/swipe-container/swipe-container.directive.mjs +0 -212
- package/esm2020/lib/swiper.module.mjs +0 -19
- package/fesm2015/mintplayer-ng-swiper.mjs +0 -329
- package/fesm2015/mintplayer-ng-swiper.mjs.map +0 -1
- package/fesm2020/mintplayer-ng-swiper.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/last-touch.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/point.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/start-touch.mjs +0 -0
- /package/{esm2020 → esm2022}/mintplayer-ng-swiper.mjs +0 -0
package/package.json
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mintplayer/ng-swiper",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@angular/animations": "^
|
|
8
|
-
"@angular/platform-browser": "^
|
|
5
|
+
"@angular/common": "^16.0.0",
|
|
6
|
+
"@angular/core": "^16.0.0",
|
|
7
|
+
"@angular/animations": "^16.0.0",
|
|
8
|
+
"@angular/platform-browser": "^16.0.0",
|
|
9
9
|
"rxjs": "^7.5.0"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"tslib": "^2.3.0"
|
|
13
13
|
},
|
|
14
|
-
"module": "
|
|
15
|
-
"es2020": "fesm2020/mintplayer-ng-swiper.mjs",
|
|
16
|
-
"esm2020": "esm2020/mintplayer-ng-swiper.mjs",
|
|
17
|
-
"fesm2020": "fesm2020/mintplayer-ng-swiper.mjs",
|
|
18
|
-
"fesm2015": "fesm2015/mintplayer-ng-swiper.mjs",
|
|
14
|
+
"module": "fesm2022/mintplayer-ng-swiper.mjs",
|
|
19
15
|
"typings": "index.d.ts",
|
|
20
16
|
"exports": {
|
|
21
17
|
"./package.json": {
|
|
@@ -23,11 +19,9 @@
|
|
|
23
19
|
},
|
|
24
20
|
".": {
|
|
25
21
|
"types": "./index.d.ts",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"node": "./fesm2015/mintplayer-ng-swiper.mjs",
|
|
30
|
-
"default": "./fesm2020/mintplayer-ng-swiper.mjs"
|
|
22
|
+
"esm2022": "./esm2022/mintplayer-ng-swiper.mjs",
|
|
23
|
+
"esm": "./esm2022/mintplayer-ng-swiper.mjs",
|
|
24
|
+
"default": "./fesm2022/mintplayer-ng-swiper.mjs"
|
|
31
25
|
}
|
|
32
26
|
},
|
|
33
27
|
"sideEffects": false
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostBinding, HostListener, Input } from "@angular/core";
|
|
2
|
-
import { BehaviorSubject, combineLatest, filter, take } from "rxjs";
|
|
3
|
-
import { BsSwipeContainerDirective } from "../swipe-container/swipe-container.directive";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../swipe-container/swipe-container.directive";
|
|
6
|
-
export class BsSwipeDirective {
|
|
7
|
-
constructor(container, element) {
|
|
8
|
-
this.container = container;
|
|
9
|
-
this.slideHeight$ = new BehaviorSubject(0);
|
|
10
|
-
//#region Offside
|
|
11
|
-
this.offside = false;
|
|
12
|
-
//#endregion
|
|
13
|
-
this.alignTopClass = true;
|
|
14
|
-
this.element = element;
|
|
15
|
-
}
|
|
16
|
-
onTouchStart(ev) {
|
|
17
|
-
if (ev.touches.length === 1) {
|
|
18
|
-
ev.preventDefault();
|
|
19
|
-
this.container.pendingAnimation?.finish();
|
|
20
|
-
setTimeout(() => {
|
|
21
|
-
this.container.startTouch$.next({
|
|
22
|
-
position: {
|
|
23
|
-
x: ev.touches[0].clientX,
|
|
24
|
-
y: ev.touches[0].clientY,
|
|
25
|
-
},
|
|
26
|
-
timestamp: Date.now(),
|
|
27
|
-
});
|
|
28
|
-
this.container.lastTouch$.next({
|
|
29
|
-
position: {
|
|
30
|
-
x: ev.touches[0].clientX,
|
|
31
|
-
y: ev.touches[0].clientY,
|
|
32
|
-
},
|
|
33
|
-
isTouching: true,
|
|
34
|
-
});
|
|
35
|
-
}, 20);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
onTouchMove(ev) {
|
|
39
|
-
this.container.lastTouch$.next({
|
|
40
|
-
position: {
|
|
41
|
-
x: ev.touches[0].clientX,
|
|
42
|
-
y: ev.touches[0].clientY,
|
|
43
|
-
},
|
|
44
|
-
isTouching: true,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
onTouchEnd(ev) {
|
|
48
|
-
combineLatest([this.container.startTouch$, this.container.lastTouch$])
|
|
49
|
-
.pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))
|
|
50
|
-
.pipe(take(1))
|
|
51
|
-
.subscribe(([startTouch, lastTouch]) => {
|
|
52
|
-
if (!!startTouch && !!lastTouch) {
|
|
53
|
-
const dx = lastTouch.position.x - startTouch.position.x;
|
|
54
|
-
this.container.onSwipe(dx);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
ngAfterViewInit() {
|
|
59
|
-
this.observer = new ResizeObserver((entries) => {
|
|
60
|
-
this.slideHeight$.next(entries[0].contentRect.height);
|
|
61
|
-
});
|
|
62
|
-
this.observer.observe(this.element.nativeElement);
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
if (this.observer) {
|
|
66
|
-
this.observer.unobserve(this.element.nativeElement);
|
|
67
|
-
this.observer.disconnect();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
BsSwipeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
72
|
-
BsSwipeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", 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 });
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
74
|
-
type: Directive,
|
|
75
|
-
args: [{
|
|
76
|
-
selector: '[bsSwipe]'
|
|
77
|
-
}]
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.BsSwipeContainerDirective }, { type: i0.ElementRef }]; }, propDecorators: { offside: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], alignTopClass: [{
|
|
81
|
-
type: HostBinding,
|
|
82
|
-
args: ['class.align-top']
|
|
83
|
-
}], onTouchStart: [{
|
|
84
|
-
type: HostListener,
|
|
85
|
-
args: ['touchstart', ['$event']]
|
|
86
|
-
}], onTouchMove: [{
|
|
87
|
-
type: HostListener,
|
|
88
|
-
args: ['touchmove', ['$event']]
|
|
89
|
-
}], onTouchEnd: [{
|
|
90
|
-
type: HostListener,
|
|
91
|
-
args: ['touchend', ['$event']]
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zcmMvbGliL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFLekYsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixTQUFvQyxFQUFFLE9BQWdDO1FBQXRFLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBTWpELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFckQsaUJBQWlCO1FBQ0QsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQyxZQUFZO1FBRW9CLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBWG5ELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFZRCxZQUFZLENBQUMsRUFBYztRQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzQixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUUxQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDOUIsUUFBUSxFQUFFO3dCQUNSLENBQUMsRUFBRSxFQUFFLENB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O3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEwQnRDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIHRha2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJzU3dpcGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGFpbmVyOiBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlLCBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gIH1cblxuICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgb2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcbiAgcHVibGljIHNsaWRlSGVpZ2h0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAvLyNyZWdpb24gT2Zmc2lkZVxuICBASW5wdXQoKSBwdWJsaWMgb2Zmc2lkZSA9IGZhbHNlO1xuICAvLyNlbmRyZWdpb25cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFsaWduLXRvcCcpIGFsaWduVG9wQ2xhc3MgPSB0cnVlO1xuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWyckZXZlbnQnXSlcbiAgb25Ub3VjaFN0YXJ0KGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKGV2LnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jb250YWluZXIucGVuZGluZ0FuaW1hdGlvbj8uZmluaXNoKCk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5zdGFydFRvdWNoJC5uZXh0KHtcbiAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgeDogZXYudG91Y2hlc1swXS5jbGllbnRYLFxuICAgICAgICAgICAgeTogZXYudG91Y2hlc1swXS5jbGllbnRZLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250YWluZXIubGFzdFRvdWNoJC5uZXh0KHtcbiAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgeDogZXYudG91Y2hlc1swXS5jbGllbnRYLFxuICAgICAgICAgICAgeTogZXYudG91Y2hlc1swXS5jbGllbnRZLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaXNUb3VjaGluZzogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9LCAyMCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2htb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Ub3VjaE1vdmUoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkLm5leHQoe1xuICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgeDogZXYudG91Y2hlc1swXS5jbGllbnRYLFxuICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICB9LFxuICAgICAgaXNUb3VjaGluZzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJywgWyckZXZlbnQnXSlcbiAgb25Ub3VjaEVuZChldjogVG91Y2hFdmVudCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY29udGFpbmVyLnN0YXJ0VG91Y2gkLCB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3N0YXJ0VG91Y2gsIGxhc3RUb3VjaF0pID0+ICEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3N0YXJ0VG91Y2gsIGxhc3RUb3VjaF0pID0+IHtcbiAgICAgICAgaWYgKCEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkge1xuICAgICAgICAgIGNvbnN0IGR4ID0gbGFzdFRvdWNoLnBvc2l0aW9uLnggLSBzdGFydFRvdWNoLnBvc2l0aW9uLng7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIub25Td2lwZShkeCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgIHRoaXMuc2xpZGVIZWlnaHQkLm5leHQoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIH0pO1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { animate, AnimationBuilder, style } from '@angular/animations';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';
|
|
4
|
-
import { BehaviorSubject, combineLatest, filter, map, mergeMap, Subject, take, takeUntil } from 'rxjs';
|
|
5
|
-
import { BsSwipeDirective } from '../swipe/swipe.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/animations";
|
|
8
|
-
export class BsSwipeContainerDirective {
|
|
9
|
-
constructor(element, animationBuilder, document) {
|
|
10
|
-
this.animationBuilder = animationBuilder;
|
|
11
|
-
this.offsetLeft = null;
|
|
12
|
-
this.offsetRight = null;
|
|
13
|
-
this.offsetTop = null;
|
|
14
|
-
this.offsetBottom = null;
|
|
15
|
-
this.minimumOffset = 50;
|
|
16
|
-
this.imageIndexChange = new EventEmitter();
|
|
17
|
-
this.isViewInited$ = new BehaviorSubject(false);
|
|
18
|
-
this.destroyed$ = new Subject();
|
|
19
|
-
this.startTouch$ = new BehaviorSubject(null);
|
|
20
|
-
this.lastTouch$ = new BehaviorSubject(null);
|
|
21
|
-
this.swipes$ = new BehaviorSubject(null);
|
|
22
|
-
this.imageIndex$ = new BehaviorSubject(0);
|
|
23
|
-
this.containerElement = element;
|
|
24
|
-
this.document = document;
|
|
25
|
-
this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])
|
|
26
|
-
.pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {
|
|
27
|
-
if (!isViewInited) {
|
|
28
|
-
return (-imageIndex * 100);
|
|
29
|
-
}
|
|
30
|
-
else if (!!startTouch && !!lastTouch) {
|
|
31
|
-
return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
return (-imageIndex * 100);
|
|
35
|
-
}
|
|
36
|
-
}));
|
|
37
|
-
this.padLeft$ = this.swipes$.pipe(map(swipes => {
|
|
38
|
-
if (!swipes) {
|
|
39
|
-
return 0;
|
|
40
|
-
}
|
|
41
|
-
let count = 0;
|
|
42
|
-
for (const s of swipes) {
|
|
43
|
-
if (!s.offside) {
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
count++;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return count;
|
|
51
|
-
}));
|
|
52
|
-
this.padRight$ = this.swipes$.pipe(map(swipes => {
|
|
53
|
-
if (!swipes) {
|
|
54
|
-
return 0;
|
|
55
|
-
}
|
|
56
|
-
let count = 0;
|
|
57
|
-
for (const s of swipes.toArray().reverse()) {
|
|
58
|
-
if (!s.offside) {
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
count++;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return count;
|
|
66
|
-
}));
|
|
67
|
-
this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
|
|
68
|
-
.pipe(map(([offset, padLeft]) => {
|
|
69
|
-
return offset - padLeft * 100;
|
|
70
|
-
}));
|
|
71
|
-
this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
|
|
72
|
-
.pipe(map(([offset, padLeft, padRight]) => {
|
|
73
|
-
return -(offset - padLeft * 100) - (padRight - 1) * 100;
|
|
74
|
-
}));
|
|
75
|
-
this.offsetLeft$
|
|
76
|
-
.pipe(takeUntil(this.destroyed$))
|
|
77
|
-
.subscribe((offsetLeft) => this.offsetLeft = offsetLeft);
|
|
78
|
-
this.offsetRight$
|
|
79
|
-
.pipe(takeUntil(this.destroyed$))
|
|
80
|
-
.subscribe((offsetRight) => this.offsetRight = offsetRight);
|
|
81
|
-
this.imageIndex$
|
|
82
|
-
.pipe(takeUntil(this.destroyed$))
|
|
83
|
-
.subscribe((imageIndex) => this.imageIndexChange.emit(imageIndex));
|
|
84
|
-
this.actualSwipes$ = this.swipes$
|
|
85
|
-
.pipe(map(swipes => {
|
|
86
|
-
if (swipes) {
|
|
87
|
-
return swipes.filter(swipe => !swipe.offside);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
|
-
this.slideHeights$ = this.actualSwipes$
|
|
94
|
-
.pipe(filter(swipes => !!swipes))
|
|
95
|
-
// .pipe(map(swipes => <QueryList<BsSwipeDirective>>swipes))
|
|
96
|
-
.pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.slideHeight$))));
|
|
97
|
-
this.currentSlideHeight$ = combineLatest([this.slideHeights$, this.imageIndex$])
|
|
98
|
-
.pipe(map(([slideHeights, imageIndex]) => {
|
|
99
|
-
const maxHeight = Math.max(...slideHeights);
|
|
100
|
-
const currHeight = slideHeights[imageIndex] ?? maxHeight;
|
|
101
|
-
return maxHeight - (maxHeight - currHeight) /* / 2*/;
|
|
102
|
-
}));
|
|
103
|
-
}
|
|
104
|
-
set swipes(value) {
|
|
105
|
-
setTimeout(() => this.swipes$.next(value));
|
|
106
|
-
}
|
|
107
|
-
//#region ImageIndex
|
|
108
|
-
get imageIndex() {
|
|
109
|
-
return this.imageIndex$.value;
|
|
110
|
-
}
|
|
111
|
-
set imageIndex(value) {
|
|
112
|
-
this.imageIndex$.next(value);
|
|
113
|
-
}
|
|
114
|
-
ngAfterViewInit() {
|
|
115
|
-
this.isViewInited$.next(true);
|
|
116
|
-
}
|
|
117
|
-
ngOnDestroy() {
|
|
118
|
-
this.destroyed$.next(true);
|
|
119
|
-
}
|
|
120
|
-
animateToIndexByDx(dx) {
|
|
121
|
-
combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
|
|
122
|
-
.subscribe(([imageIndex, actualSwipes]) => {
|
|
123
|
-
const direction = dx > 0 ? 'left' : 'right';
|
|
124
|
-
let newIndex;
|
|
125
|
-
if (Math.abs(dx) < this.minimumOffset) {
|
|
126
|
-
newIndex = imageIndex;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
newIndex = imageIndex + (direction === 'right' ? 1 : -1);
|
|
130
|
-
}
|
|
131
|
-
this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
animateToIndex(oldIndex, newIndex, dx, totalSlides) {
|
|
135
|
-
this.pendingAnimation = this.animationBuilder.build([
|
|
136
|
-
style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),
|
|
137
|
-
animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),
|
|
138
|
-
]).create(this.containerElement.nativeElement);
|
|
139
|
-
this.pendingAnimation.onDone(() => {
|
|
140
|
-
// Correct the image index
|
|
141
|
-
if (newIndex === -1) {
|
|
142
|
-
this.imageIndex$.next(totalSlides - 1);
|
|
143
|
-
}
|
|
144
|
-
else if (newIndex === totalSlides) {
|
|
145
|
-
this.imageIndex$.next(0);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
this.imageIndex$.next(newIndex);
|
|
149
|
-
}
|
|
150
|
-
this.startTouch$.next(null);
|
|
151
|
-
this.lastTouch$.next(null);
|
|
152
|
-
this.pendingAnimation?.destroy();
|
|
153
|
-
this.pendingAnimation = undefined;
|
|
154
|
-
});
|
|
155
|
-
this.pendingAnimation.play();
|
|
156
|
-
}
|
|
157
|
-
onSwipe(dx) {
|
|
158
|
-
this.animateToIndexByDx(dx);
|
|
159
|
-
}
|
|
160
|
-
previous() {
|
|
161
|
-
this.pendingAnimation?.finish();
|
|
162
|
-
combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
|
|
163
|
-
setTimeout(() => this.animateToIndex(imageIndex, imageIndex - 1, 0, actualSwipes?.length ?? 1), 20);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
next() {
|
|
167
|
-
this.pendingAnimation?.finish();
|
|
168
|
-
combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
|
|
169
|
-
setTimeout(() => this.animateToIndex(imageIndex, imageIndex + 1, 0, actualSwipes?.length ?? 1), 20);
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
goto(index) {
|
|
173
|
-
combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
|
|
174
|
-
this.pendingAnimation?.finish();
|
|
175
|
-
setTimeout(() => this.animateToIndex(imageIndex, index, 0, actualSwipes?.length ?? 1), 20);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
BsSwipeContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
180
|
-
BsSwipeContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", 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 });
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
182
|
-
type: Directive,
|
|
183
|
-
args: [{
|
|
184
|
-
selector: '[bsSwipeContainer]',
|
|
185
|
-
exportAs: 'bsSwipeContainer'
|
|
186
|
-
}]
|
|
187
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{
|
|
188
|
-
type: Inject,
|
|
189
|
-
args: [DOCUMENT]
|
|
190
|
-
}] }]; }, propDecorators: { offsetLeft: [{
|
|
191
|
-
type: HostBinding,
|
|
192
|
-
args: ['style.margin-left.%']
|
|
193
|
-
}], offsetRight: [{
|
|
194
|
-
type: HostBinding,
|
|
195
|
-
args: ['style.margin-right.%']
|
|
196
|
-
}], offsetTop: [{
|
|
197
|
-
type: HostBinding,
|
|
198
|
-
args: ['style.margin-top.%']
|
|
199
|
-
}], offsetBottom: [{
|
|
200
|
-
type: HostBinding,
|
|
201
|
-
args: ['style.margin-bottom.%']
|
|
202
|
-
}], swipes: [{
|
|
203
|
-
type: ContentChildren,
|
|
204
|
-
args: [forwardRef(() => BsSwipeDirective)]
|
|
205
|
-
}], minimumOffset: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], imageIndex: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], imageIndexChange: [{
|
|
210
|
-
type: Output
|
|
211
|
-
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUc5SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTTVELE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBWSxPQUFtQixFQUFVLGdCQUFrQyxFQUFvQixRQUFhO1FBQW5FLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFzRnZDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNwQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUM3QixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFJaEUsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFTbEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUl4RCxrQkFBYSxHQUFH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VUFBVTtzQkFBN0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0csV0FBVztzQkFBL0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsU0FBUztzQkFBM0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ssWUFBWTtzQkFBakQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ3FCLE1BQU07c0JBQTlELGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUcxQyxhQUFhO3NCQUFyQixLQUFLO2dCQU1jLFVBQVU7c0JBQTdCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uUGxheWVyLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFzdFRvdWNoIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9sYXN0LXRvdWNoJztcbmltcG9ydCB7IFN0YXJ0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0YXJ0LXRvdWNoJztcbmltcG9ydCB7IEJzU3dpcGVEaXJlY3RpdmUgfSBmcm9tICcuLi9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZUNvbnRhaW5lcl0nLFxuICBleHBvcnRBczogJ2JzU3dpcGVDb250YWluZXInXG59KVxuZXhwb3J0IGNsYXNzIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLm9mZnNldCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXJ0VG91Y2gkLCB0aGlzLmxhc3RUb3VjaCQsIHRoaXMuaW1hZ2VJbmRleCQsIHRoaXMuaXNWaWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShtYXAoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIGltYWdlSW5kZXgsIGlzVmlld0luaXRlZF0pID0+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==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { BsSwipeDirective } from './directives/swipe/swipe.directive';
|
|
4
|
-
import { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BsSwiperModule {
|
|
7
|
-
}
|
|
8
|
-
BsSwiperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
BsSwiperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
|
|
10
|
-
BsSwiperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsSwiperModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [CommonModule],
|
|
15
|
-
declarations: [BsSwipeDirective, BsSwipeContainerDirective],
|
|
16
|
-
exports: [BsSwipeDirective, BsSwipeContainerDirective],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3JjL2xpYi9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUhWLGdCQUFnQixFQUFFLHlCQUF5QixhQURoRCxZQUFZLGFBRVosZ0JBQWdCLEVBQUUseUJBQXlCOzRHQUUxQyxjQUFjLFlBSmYsWUFBWTsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19
|