@mintplayer/ng-swiper 18.0.0 → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.mjs +2 -4
- package/esm2022/observe-size/index.mjs +3 -0
- package/esm2022/observe-size/mintplayer-ng-swiper-observe-size.mjs +5 -0
- package/esm2022/observe-size/src/observe-size.directive.mjs +51 -0
- package/esm2022/observe-size/src/size.mjs +2 -0
- package/esm2022/swiper/index.mjs +4 -0
- package/esm2022/swiper/mintplayer-ng-swiper-swiper.mjs +5 -0
- package/esm2022/swiper/src/directives/index.mjs +3 -0
- package/esm2022/swiper/src/directives/swipe/swipe.directive.mjs +106 -0
- package/esm2022/swiper/src/directives/swipe-container/swipe-container.directive.mjs +229 -0
- package/esm2022/swiper/src/interfaces/index.mjs +4 -0
- package/esm2022/swiper/src/interfaces/last-touch.mjs +2 -0
- package/esm2022/swiper/src/interfaces/point.mjs +2 -0
- package/esm2022/swiper/src/interfaces/start-touch.mjs +2 -0
- package/esm2022/{lib → swiper/src}/swiper.module.mjs +1 -1
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs +58 -0
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs +348 -0
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-swiper.mjs +2 -343
- package/fesm2022/mintplayer-ng-swiper.mjs.map +1 -1
- package/index.d.ts +1 -3
- package/observe-size/index.d.ts +2 -0
- package/observe-size/src/observe-size.directive.d.ts +18 -0
- package/observe-size/src/size.d.ts +4 -0
- package/package.json +13 -1
- package/swiper/index.d.ts +3 -0
- package/swiper/src/directives/swipe/swipe.directive.d.ts +17 -0
- package/{lib → swiper/src}/directives/swipe-container/swipe-container.directive.d.ts +6 -3
- package/esm2022/lib/directives/index.mjs +0 -3
- package/esm2022/lib/directives/swipe/swipe.directive.mjs +0 -119
- package/esm2022/lib/directives/swipe-container/swipe-container.directive.mjs +0 -216
- package/esm2022/lib/interfaces/index.mjs +0 -4
- package/esm2022/lib/interfaces/last-touch.mjs +0 -2
- package/esm2022/lib/interfaces/point.mjs +0 -2
- package/esm2022/lib/interfaces/start-touch.mjs +0 -2
- package/lib/directives/swipe/swipe.directive.d.ts +0 -21
- /package/{lib → swiper/src}/directives/index.d.ts +0 -0
- /package/{lib → swiper/src}/interfaces/index.d.ts +0 -0
- /package/{lib → swiper/src}/interfaces/last-touch.d.ts +0 -0
- /package/{lib → swiper/src}/interfaces/point.d.ts +0 -0
- /package/{lib → swiper/src}/interfaces/start-touch.d.ts +0 -0
- /package/{lib → swiper/src}/swiper.module.d.ts +0 -0
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
export * from './lib/interfaces';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXBlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJzsiXX0=
|
|
1
|
+
export const libraryName = '@mintplayer/ng-swiper';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbGlicmFyeU5hbWUgPSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyJzsiXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './src/size';
|
|
2
|
+
export * from './src/observe-size.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL29ic2VydmUtc2l6ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2l6ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL29ic2VydmUtc2l6ZS5kaXJlY3RpdmUnOyJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9vYnNlcnZlLXNpemUvbWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { isPlatformServer } from '@angular/common';
|
|
2
|
+
import { Directive, ElementRef, Inject, NgZone, PLATFORM_ID } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, map } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BsObserveSizeDirective {
|
|
6
|
+
element;
|
|
7
|
+
platformId;
|
|
8
|
+
zone;
|
|
9
|
+
constructor(element, platformId, zone) {
|
|
10
|
+
this.element = element;
|
|
11
|
+
this.platformId = platformId;
|
|
12
|
+
this.zone = zone;
|
|
13
|
+
if (!isPlatformServer(this.platformId)) {
|
|
14
|
+
this.observer = new ResizeObserver((entries) => {
|
|
15
|
+
// console.log('resized', entries[0].contentRect);
|
|
16
|
+
this.zone.run(() => this.size$.next(entries[0].contentRect));
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
this.width$ = this.size$.pipe(map(size => size?.width));
|
|
20
|
+
this.height$ = this.size$.pipe(map(size => size?.height));
|
|
21
|
+
}
|
|
22
|
+
observer;
|
|
23
|
+
size$ = new BehaviorSubject(undefined);
|
|
24
|
+
width$;
|
|
25
|
+
height$;
|
|
26
|
+
ngAfterViewInit() {
|
|
27
|
+
const el = this.element.nativeElement;
|
|
28
|
+
this.observer?.observe(el);
|
|
29
|
+
this.size$.next({ width: el.clientWidth, height: el.clientHeight });
|
|
30
|
+
}
|
|
31
|
+
ngOnDestroy() {
|
|
32
|
+
if (this.observer) {
|
|
33
|
+
this.observer.unobserve(this.element.nativeElement);
|
|
34
|
+
this.observer.disconnect();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsObserveSizeDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsObserveSizeDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: '[bsObserveSize]',
|
|
44
|
+
standalone: true,
|
|
45
|
+
exportAs: 'bsObserveSize'
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [PLATFORM_ID]
|
|
50
|
+
}] }, { type: i0.NgZone }] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1zaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9vYnNlcnZlLXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFhLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUF1QixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUWpFLE1BQU0sT0FBTyxzQkFBc0I7SUFDYjtJQUFrRDtJQUF5QjtJQUEvRixZQUFvQixPQUFtQixFQUErQixVQUFlLEVBQVUsSUFBWTtRQUF2RixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQStCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ3pHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzdDLGtEQUFrRDtnQkFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxRQUFRLENBQWtCO0lBQ2xDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBbUIsU0FBUyxDQUFDLENBQUM7SUFDekQsTUFBTSxDQUFpQztJQUN2QyxPQUFPLENBQWlDO0lBRXhDLGVBQWU7UUFDYixNQUFNLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7dUdBN0JVLHNCQUFzQiw0Q0FDZ0IsV0FBVzsyRkFEakQsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQUUyQyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE5nWm9uZSwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi9zaXplJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2JzT2JzZXJ2ZVNpemVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGV4cG9ydEFzOiAnYnNPYnNlcnZlU2l6ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksIHByaXZhdGUgem9uZTogTmdab25lKSB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3Jlc2l6ZWQnLCBlbnRyaWVzWzBdLmNvbnRlbnRSZWN0KTtcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuc2l6ZSQubmV4dChlbnRyaWVzWzBdLmNvbnRlbnRSZWN0KSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMud2lkdGgkID0gdGhpcy5zaXplJC5waXBlKG1hcChzaXplID0+IHNpemU/LndpZHRoKSk7XHJcbiAgICB0aGlzLmhlaWdodCQgPSB0aGlzLnNpemUkLnBpcGUobWFwKHNpemUgPT4gc2l6ZT8uaGVpZ2h0KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNpemUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgd2lkdGgkOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XHJcbiAgaGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+O1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMub2JzZXJ2ZXI/Lm9ic2VydmUoZWwpO1xyXG4gICAgdGhpcy5zaXplJC5uZXh0KHsgd2lkdGg6IGVsLmNsaWVudFdpZHRoLCBoZWlnaHQ6IGVsLmNsaWVudEhlaWdodCB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5vYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNpemUge1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICAgIGhlaWdodDogbnVtYmVyO1xyXG59Il19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './src/directives';
|
|
2
|
+
export * from './src/interfaces';
|
|
3
|
+
export * from './src/swiper.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2RpcmVjdGl2ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc3dpcGVyLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvbWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './swipe/swipe.directive';
|
|
2
|
+
export * from './swipe-container/swipe-container.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N3aXBlL3N3aXBlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlJzsiXX0=
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Directive, HostBinding, HostListener, Input } from "@angular/core";
|
|
2
|
+
import { BsObserveSizeDirective } from "@mintplayer/ng-swiper/observe-size";
|
|
3
|
+
import { combineLatest, filter, take } from "rxjs";
|
|
4
|
+
import { BsSwipeContainerDirective } from "../swipe-container/swipe-container.directive";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../swipe-container/swipe-container.directive";
|
|
7
|
+
import * as i2 from "@mintplayer/ng-swiper/observe-size";
|
|
8
|
+
export class BsSwipeDirective {
|
|
9
|
+
container;
|
|
10
|
+
constructor(container, observeSize) {
|
|
11
|
+
this.container = container;
|
|
12
|
+
this.observeSize = observeSize;
|
|
13
|
+
// container.orientation$.pipe(takeUntilDestroyed())
|
|
14
|
+
// .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');
|
|
15
|
+
}
|
|
16
|
+
observeSize;
|
|
17
|
+
//#region Offside
|
|
18
|
+
offside = false;
|
|
19
|
+
//#endregion
|
|
20
|
+
classes = true;
|
|
21
|
+
hostClass;
|
|
22
|
+
onTouchStart(ev) {
|
|
23
|
+
if (ev.touches.length === 1) {
|
|
24
|
+
ev.preventDefault();
|
|
25
|
+
this.container.pendingAnimation?.finish();
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
this.container.startTouch$.next({
|
|
28
|
+
position: {
|
|
29
|
+
x: ev.touches[0].clientX,
|
|
30
|
+
y: ev.touches[0].clientY,
|
|
31
|
+
},
|
|
32
|
+
timestamp: Date.now(),
|
|
33
|
+
});
|
|
34
|
+
this.container.lastTouch$.next({
|
|
35
|
+
position: {
|
|
36
|
+
x: ev.touches[0].clientX,
|
|
37
|
+
y: ev.touches[0].clientY,
|
|
38
|
+
},
|
|
39
|
+
isTouching: true,
|
|
40
|
+
});
|
|
41
|
+
}, 20);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
onTouchMove(ev) {
|
|
45
|
+
this.container.lastTouch$.next({
|
|
46
|
+
position: {
|
|
47
|
+
x: ev.touches[0].clientX,
|
|
48
|
+
y: ev.touches[0].clientY,
|
|
49
|
+
},
|
|
50
|
+
isTouching: true,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
onTouchEnd(ev) {
|
|
54
|
+
combineLatest([this.container.startTouch$, this.container.lastTouch$])
|
|
55
|
+
.pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))
|
|
56
|
+
.pipe(take(1))
|
|
57
|
+
.subscribe(([startTouch, lastTouch]) => {
|
|
58
|
+
if (!!startTouch && !!lastTouch) {
|
|
59
|
+
const dx = lastTouch.position.x - startTouch.position.x;
|
|
60
|
+
this.container.onSwipe(dx);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
65
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: BsSwipeDirective, selector: "[bsSwipe]", inputs: { offside: "offside" }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.align-top": "this.classes", "class.d-inline-block": "this.classes", "class.float-none": "this.classes", "class.w-100": "this.classes", "class.pe-auto": "this.classes", "class.me-0": "this.classes", "class": "this.hostClass" } }, hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
68
|
+
type: Directive,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: '[bsSwipe]',
|
|
71
|
+
hostDirectives: [BsObserveSizeDirective]
|
|
72
|
+
}]
|
|
73
|
+
}], ctorParameters: () => [{ type: i1.BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }], propDecorators: { offside: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], classes: [{
|
|
76
|
+
type: HostBinding,
|
|
77
|
+
args: ['class.align-top']
|
|
78
|
+
}, {
|
|
79
|
+
type: HostBinding,
|
|
80
|
+
args: ['class.d-inline-block']
|
|
81
|
+
}, {
|
|
82
|
+
type: HostBinding,
|
|
83
|
+
args: ['class.float-none']
|
|
84
|
+
}, {
|
|
85
|
+
type: HostBinding,
|
|
86
|
+
args: ['class.w-100']
|
|
87
|
+
}, {
|
|
88
|
+
type: HostBinding,
|
|
89
|
+
args: ['class.pe-auto']
|
|
90
|
+
}, {
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['class.me-0']
|
|
93
|
+
}], hostClass: [{
|
|
94
|
+
type: HostBinding,
|
|
95
|
+
args: ['class']
|
|
96
|
+
}], onTouchStart: [{
|
|
97
|
+
type: HostListener,
|
|
98
|
+
args: ['touchstart', ['$event']]
|
|
99
|
+
}], onTouchMove: [{
|
|
100
|
+
type: HostListener,
|
|
101
|
+
args: ['touchmove', ['$event']]
|
|
102
|
+
}], onTouchEnd: [{
|
|
103
|
+
type: HostListener,
|
|
104
|
+
args: ['touchend', ['$event']]
|
|
105
|
+
}] } });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvc3JjL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBTXpGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFUDtJQUFwQixZQUFvQixTQUFvQyxFQUFFLFdBQW1DO1FBQXpFLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLG9EQUFvRDtRQUNwRCw2R0FBNkc7SUFDL0csQ0FBQztJQUVELFdBQVcsQ0FBeUI7SUFFcEMsaUJBQWlCO0lBQ0QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQyxZQUFZO0lBUVosT0FBTyxHQUFHLElBQUksQ0FBQztJQUVPLFNBQVMsQ0FBVTtJQUd6QyxZQUFZLENBQUMsRUFBYztRQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBRTFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMs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aXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUgfSBmcm9tIFwiQG1pbnRwbGF5ZXIvbmctc3dpcGVyL29ic2VydmUtc2l6ZVwiO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi4vc3dpcGUtY29udGFpbmVyL3N3aXBlLWNvbnRhaW5lci5kaXJlY3RpdmVcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzU3dpcGVdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtCc09ic2VydmVTaXplRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lcjogQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSwgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUpIHtcbiAgICB0aGlzLm9ic2VydmVTaXplID0gb2JzZXJ2ZVNpemU7XG4gICAgLy8gY29udGFpbmVyLm9yaWVudGF0aW9uJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgIC8vICAgLnN1YnNjcmliZShvcmllbnRhdGlvbiA9PiB0aGlzLmhvc3RDbGFzcyA9IChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJykgPyAnZC1ibG9jaycgOiAnZC1pbmxpbmUtYmxvY2snKTtcbiAgfVxuXG4gIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlO1xuXG4gIC8vI3JlZ2lvbiBPZmZzaWRlXG4gIEBJbnB1dCgpIHB1YmxpYyBvZmZzaWRlID0gZmFsc2U7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWxpZ24tdG9wJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWlubGluZS1ibG9jaycpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXQtbm9uZScpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBlLWF1dG8nKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lLTAnKVxuICBjbGFzc2VzID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgaG9zdENsYXNzPzogc3RyaW5nO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBvblRvdWNoU3RhcnQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoZXYudG91Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLnN0YXJ0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sIDIwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNoTW92ZShldjogVG91Y2hFdmVudCkge1xuICAgIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQubmV4dCh7XG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgIH0sXG4gICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICBvblRvdWNoRW5kKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb250YWluZXIuc3RhcnRUb3VjaCQsIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4gISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4ge1xuICAgICAgICBpZiAoISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSB7XG4gICAgICAgICAgY29uc3QgZHggPSBsYXN0VG91Y2gucG9zaXRpb24ueCAtIHN0YXJ0VG91Y2gucG9zaXRpb24ueDtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lci5vblN3aXBlKGR4KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { animate, AnimationBuilder, style } from '@angular/animations';
|
|
4
|
+
import { ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';
|
|
5
|
+
import { BehaviorSubject, combineLatest, debounceTime, delay, filter, map, mergeMap, take } from 'rxjs';
|
|
6
|
+
import { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';
|
|
7
|
+
import { BsSwipeDirective } from '../swipe/swipe.directive';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/animations";
|
|
10
|
+
import * as i2 from "@mintplayer/ng-swiper/observe-size";
|
|
11
|
+
export class BsSwipeContainerDirective {
|
|
12
|
+
animationBuilder;
|
|
13
|
+
observeSize;
|
|
14
|
+
constructor(element, animationBuilder, document, observeSize) {
|
|
15
|
+
this.animationBuilder = animationBuilder;
|
|
16
|
+
this.observeSize = observeSize;
|
|
17
|
+
this.containerElement = element;
|
|
18
|
+
this.document = document;
|
|
19
|
+
this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])
|
|
20
|
+
.pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {
|
|
21
|
+
if (!isViewInited) {
|
|
22
|
+
return (-imageIndex * 100);
|
|
23
|
+
}
|
|
24
|
+
else if (!!startTouch && !!lastTouch) {
|
|
25
|
+
return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return (-imageIndex * 100);
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
this.padLeft$ = this.swipes$.pipe(map(swipes => {
|
|
32
|
+
if (!swipes) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
let count = 0;
|
|
36
|
+
for (const s of swipes) {
|
|
37
|
+
if (!s.offside) {
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
count++;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return count;
|
|
45
|
+
}));
|
|
46
|
+
this.padRight$ = this.swipes$.pipe(map(swipes => {
|
|
47
|
+
if (!swipes) {
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
let count = 0;
|
|
51
|
+
for (const s of swipes.toArray().reverse()) {
|
|
52
|
+
if (!s.offside) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
count++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return count;
|
|
60
|
+
}));
|
|
61
|
+
this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
|
|
62
|
+
.pipe(map(([offset, padLeft]) => offset - padLeft * 100));
|
|
63
|
+
this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
|
|
64
|
+
.pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));
|
|
65
|
+
this.offsetLeft$.pipe(takeUntilDestroyed())
|
|
66
|
+
.subscribe(offsetLeft => this.offsetLeft = offsetLeft);
|
|
67
|
+
this.offsetRight$.pipe(takeUntilDestroyed())
|
|
68
|
+
.subscribe(offsetRight => this.offsetRight = offsetRight);
|
|
69
|
+
this.imageIndex$.pipe(takeUntilDestroyed())
|
|
70
|
+
.subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));
|
|
71
|
+
this.actualSwipes$ = this.swipes$
|
|
72
|
+
.pipe(map(swipes => {
|
|
73
|
+
if (swipes) {
|
|
74
|
+
return swipes.filter(swipe => !swipe.offside);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
this.slideSizes$ = this.actualSwipes$
|
|
81
|
+
.pipe(delay(400), filter(swipes => !!swipes))
|
|
82
|
+
.pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));
|
|
83
|
+
this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$])
|
|
84
|
+
.pipe(map(([slideSizes, imageIndex]) => {
|
|
85
|
+
const maxHeight = Math.max(...slideSizes.map(s => s?.height ?? 1));
|
|
86
|
+
console.log('maxHeight', { maxHeight, slideSizes });
|
|
87
|
+
const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;
|
|
88
|
+
// switch (orientation) {
|
|
89
|
+
// case 'horizontal':
|
|
90
|
+
return currHeight;
|
|
91
|
+
// case 'vertical':
|
|
92
|
+
// return maxHeight;
|
|
93
|
+
// }
|
|
94
|
+
}))
|
|
95
|
+
.pipe(debounceTime(10));
|
|
96
|
+
}
|
|
97
|
+
offsetLeft = null;
|
|
98
|
+
offsetRight = null;
|
|
99
|
+
offsetTop = null;
|
|
100
|
+
offsetBottom = null;
|
|
101
|
+
set swipes(value) {
|
|
102
|
+
setTimeout(() => this.swipes$.next(value));
|
|
103
|
+
}
|
|
104
|
+
minimumOffset = 50;
|
|
105
|
+
//#region ImageIndex
|
|
106
|
+
get imageIndex() {
|
|
107
|
+
return this.imageIndex$.value;
|
|
108
|
+
}
|
|
109
|
+
set imageIndex(value) {
|
|
110
|
+
this.imageIndex$.next(value);
|
|
111
|
+
}
|
|
112
|
+
imageIndexChange = new EventEmitter();
|
|
113
|
+
//#endregion
|
|
114
|
+
actualSwipes$;
|
|
115
|
+
isViewInited$ = new BehaviorSubject(false);
|
|
116
|
+
startTouch$ = new BehaviorSubject(null);
|
|
117
|
+
lastTouch$ = new BehaviorSubject(null);
|
|
118
|
+
swipes$ = new BehaviorSubject(null);
|
|
119
|
+
// TODO: slide sizes instead
|
|
120
|
+
slideSizes$;
|
|
121
|
+
imageIndex$ = new BehaviorSubject(0);
|
|
122
|
+
currentSlideHeight$;
|
|
123
|
+
pendingAnimation;
|
|
124
|
+
containerElement;
|
|
125
|
+
document;
|
|
126
|
+
// TODO: Don't just keep px, but both px and % using currentslidesize$
|
|
127
|
+
offset$;
|
|
128
|
+
offsetLeft$;
|
|
129
|
+
offsetRight$;
|
|
130
|
+
padLeft$;
|
|
131
|
+
padRight$;
|
|
132
|
+
ngAfterViewInit() {
|
|
133
|
+
this.isViewInited$.next(true);
|
|
134
|
+
}
|
|
135
|
+
animateToIndexByDx(dx) {
|
|
136
|
+
combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
|
|
137
|
+
.subscribe(([imageIndex, actualSwipes]) => {
|
|
138
|
+
const direction = dx > 0 ? 'left' : 'right';
|
|
139
|
+
let newIndex;
|
|
140
|
+
if (Math.abs(dx) < this.minimumOffset) {
|
|
141
|
+
newIndex = imageIndex;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
newIndex = imageIndex + (direction === 'right' ? 1 : -1);
|
|
145
|
+
}
|
|
146
|
+
this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
animateToIndex(oldIndex, newIndex, dx, totalSlides) {
|
|
150
|
+
this.pendingAnimation = this.animationBuilder.build([
|
|
151
|
+
style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),
|
|
152
|
+
animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),
|
|
153
|
+
]).create(this.containerElement.nativeElement);
|
|
154
|
+
this.pendingAnimation.onDone(() => {
|
|
155
|
+
// Correct the image index
|
|
156
|
+
if (newIndex === -1) {
|
|
157
|
+
this.imageIndex$.next(totalSlides - 1);
|
|
158
|
+
}
|
|
159
|
+
else if (newIndex === totalSlides) {
|
|
160
|
+
this.imageIndex$.next(0);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
this.imageIndex$.next(newIndex);
|
|
164
|
+
}
|
|
165
|
+
this.startTouch$.next(null);
|
|
166
|
+
this.lastTouch$.next(null);
|
|
167
|
+
this.pendingAnimation?.destroy();
|
|
168
|
+
this.pendingAnimation = undefined;
|
|
169
|
+
});
|
|
170
|
+
this.pendingAnimation.play();
|
|
171
|
+
}
|
|
172
|
+
onSwipe(dx) {
|
|
173
|
+
this.animateToIndexByDx(dx);
|
|
174
|
+
}
|
|
175
|
+
previous() {
|
|
176
|
+
this.gotoAnimate(-1, 'relative');
|
|
177
|
+
}
|
|
178
|
+
next() {
|
|
179
|
+
this.gotoAnimate(1, 'relative');
|
|
180
|
+
}
|
|
181
|
+
goto(index) {
|
|
182
|
+
this.gotoAnimate(index, 'absolute');
|
|
183
|
+
}
|
|
184
|
+
gotoAnimate(index, type) {
|
|
185
|
+
this.pendingAnimation?.finish();
|
|
186
|
+
setTimeout(() => {
|
|
187
|
+
combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
|
|
188
|
+
this.pendingAnimation?.finish();
|
|
189
|
+
const idx = (type === 'relative') ? imageIndex + index : index;
|
|
190
|
+
this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);
|
|
191
|
+
});
|
|
192
|
+
}, 20);
|
|
193
|
+
}
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
195
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", 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(() => BsSwipeDirective) }], exportAs: ["bsSwipeContainer"], hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });
|
|
196
|
+
}
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
198
|
+
type: Directive,
|
|
199
|
+
args: [{
|
|
200
|
+
selector: '[bsSwipeContainer]',
|
|
201
|
+
exportAs: 'bsSwipeContainer',
|
|
202
|
+
hostDirectives: [BsObserveSizeDirective]
|
|
203
|
+
}]
|
|
204
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{
|
|
205
|
+
type: Inject,
|
|
206
|
+
args: [DOCUMENT]
|
|
207
|
+
}] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{
|
|
208
|
+
type: HostBinding,
|
|
209
|
+
args: ['style.margin-left.%']
|
|
210
|
+
}], offsetRight: [{
|
|
211
|
+
type: HostBinding,
|
|
212
|
+
args: ['style.margin-right.%']
|
|
213
|
+
}], offsetTop: [{
|
|
214
|
+
type: HostBinding,
|
|
215
|
+
args: ['style.margin-top.%']
|
|
216
|
+
}], offsetBottom: [{
|
|
217
|
+
type: HostBinding,
|
|
218
|
+
args: ['style.margin-bottom.%']
|
|
219
|
+
}], swipes: [{
|
|
220
|
+
type: ContentChildren,
|
|
221
|
+
args: [forwardRef(() => BsSwipeDirective)]
|
|
222
|
+
}], minimumOffset: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], imageIndex: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], imageIndexChange: [{
|
|
227
|
+
type: Output
|
|
228
|
+
}] } });
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwSCxPQUFPLEVBQUUsc0JBQXNCLEVBQVEsTUFBTSxvQ0FBb0MsQ0FBQztBQUdsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQU81RCxNQUFNLE9BQU8seUJBQXlCO0lBRUs7SUFBNkU7SUFBdEgsWUFBWSxPQUFtQixFQUFVLGdCQUFrQyxFQUFvQixRQUFhLEVBQVUsV0FBbUM7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUEyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDdkosSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNoQyxJ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QUMsQ0FBQztJQUNULENBQUM7dUdBak1VLHlCQUF5Qiw0RUFFaUQsUUFBUTsyRkFGbEYseUJBQXlCLG9hQTJGRixnQkFBZ0I7OzJGQTNGdkMseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUN6Qzs7MEJBRytFLE1BQU07MkJBQUMsUUFBUTs4RUFxRnpELFVBQVU7c0JBQTdDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUNHLFdBQVc7c0JBQS9DLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNBLFNBQVM7c0JBQTNDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNLLFlBQVk7c0JBQWpELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNxQixNQUFNO3NCQUE5RCxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFHMUMsYUFBYTtzQkFBckIsS0FBSztnQkFNYyxVQUFVO3NCQUE3QixLQUFLO2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvblBsYXllciwgc3R5bGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUsIFNpemUgfSBmcm9tICdAbWludHBsYXllci9uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplJztcbmltcG9ydCB7IExhc3RUb3VjaCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbGFzdC10b3VjaCc7XG5pbXBvcnQgeyBTdGFydFRvdWNoIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zdGFydC10b3VjaCc7XG5pbXBvcnQgeyBCc1N3aXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vc3dpcGUvc3dpcGUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzU3dpcGVDb250YWluZXJdJyxcbiAgZXhwb3J0QXM6ICdic1N3aXBlQ29udGFpbmVyJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtCc09ic2VydmVTaXplRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBhbmltYXRpb25CdWlsZGVyOiBBbmltYXRpb25CdWlsZGVyLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBwcml2YXRlIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLmRvY3VtZW50ID0gPERvY3VtZW50PmRvY3VtZW50O1xuICAgIHRoaXMub2Zmc2V0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RhcnRUb3VjaCQsIHRoaXMubGFzdFRvdWNoJCwgdGhpcy5pbWFnZUluZGV4JCwgdGhpcy5pc1ZpZXdJbml0ZWQkXSlcbiAgICAgIC5waXBlKG1hcCgoW3N0YXJ0VG91Y2gsIGxhc3RUb3VjaCwgaW1hZ2VJbmRleCwgaXNWaWV3SW5pdGVkXSkgPT4ge1xuICAgICAgICBpZiAoIWlzVmlld0luaXRlZCkge1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDApO1xuICAgICAgICB9IGVsc2UgaWYgKCEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkge1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDAgKyAobGFzdFRvdWNoLnBvc2l0aW9uLnggLSBzdGFydFRvdWNoLnBvc2l0aW9uLngpIC8gdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKiAxMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDApO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMucGFkTGVmdCQgPSB0aGlzLnN3aXBlcyQucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgICAgaWYgKCFzd2lwZXMpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgcyBvZiBzd2lwZXMpIHtcbiAgICAgICAgICBpZiAoIXMub2Zmc2lkZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5wYWRSaWdodCQgPSB0aGlzLnN3aXBlcyQucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgICAgaWYgKCFzd2lwZXMpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgcyBvZiBzd2lwZXMudG9BcnJheSgpLnJldmVyc2UoKSkge1xuICAgICAgICAgIGlmICghcy5vZmZzaWRlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgICAgfSkpO1xuXG4gICAgdGhpcy5vZmZzZXRMZWZ0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0JCwgdGhpcy5wYWRMZWZ0JF0pXG4gICAgICAucGlwZShtYXAoKFtvZmZzZXQsIHBhZExlZnRdKSA9PiBvZmZzZXQgLSBwYWRMZWZ0ICogMTAwKSk7XG4gICAgdGhpcy5vZmZzZXRSaWdodCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldCQsIHRoaXMucGFkTGVmdCQsIHRoaXMucGFkUmlnaHQkXSlcbiAgICAgIC5waXBlKG1hcCgoW29mZnNldCwgcGFkTGVmdCwgcGFkUmlnaHRdKSA9PiAtKG9mZnNldCAtIHBhZExlZnQgKiAxMDApIC0gKHBhZFJpZ2h0IC0gMSkgKiAxMDApKTtcbiAgICB0aGlzLm9mZnNldExlZnQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKG9mZnNldExlZnQgPT4gdGhpcy5vZmZzZXRMZWZ0ID0gb2Zmc2V0TGVmdCk7XG4gICAgdGhpcy5vZmZzZXRSaWdodCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUob2Zmc2V0UmlnaHQgPT4gdGhpcy5vZmZzZXRSaWdodCA9IG9mZnNldFJpZ2h0KTtcbiAgICB0aGlzLmltYWdlSW5kZXgkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGltYWdlSW5kZXggPT4gdGhpcy5pbWFnZUluZGV4Q2hhbmdlLmVtaXQoaW1hZ2VJbmRleCkpO1xuXG4gICAgdGhpcy5hY3R1YWxTd2lwZXMkID0gdGhpcy5zd2lwZXMkXG4gICAgICAucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgICAgaWYgKHN3aXBlcykge1xuICAgICAgICAgIHJldHVybiBzd2lwZXMuZmlsdGVyKHN3aXBlID0+ICFzd2lwZS5vZmZzaWRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIHRoaXMuc2xpZGVTaXplcyQgPSB0aGlzLmFjdHVhbFN3aXBlcyRcbiAgICAgIC5waXBlKGRlbGF5KDQwMCksIGZpbHRlcihzd2lwZXMgPT4gISFzd2lwZXMpKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoc3dpcGVzID0+IGNvbWJpbmVMYXRlc3Qoc3dpcGVzLm1hcChzd2lwZSA9PiBzd2lwZS5vYnNlcnZlU2l6ZS5zaXplJCkpKSk7XG5cbiAgICB0aGlzLmN1cnJlbnRTbGlkZUhlaWdodCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNsaWRlU2l6ZXMkLCB0aGlzLmltYWdlSW5kZXgkXSlcbiAgICAgIC5waXBlKG1hcCgoW3NsaWRlU2l6ZXMsIGltYWdlSW5kZXhdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IE1hdGgubWF4KC4uLnNsaWRlU2l6ZXMubWFwKHMgPT4gcz8uaGVpZ2h0ID8/IDEpKTtcbiAgICAgICAgY29uc29sZS5sb2coJ21heEhlaWdodCcsIHttYXhIZWlnaHQsIHNsaWRlU2l6ZXN9KTtcbiAgICAgICAgY29uc3QgY3VyckhlaWdodDogbnVtYmVyID0gc2xpZGVTaXplc1tpbWFnZUluZGV4XT8uaGVpZ2h0ID8/IG1heEhlaWdodDtcbiAgICAgICAgLy8gc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICAvLyAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgcmV0dXJuIGN1cnJIZWlnaHQ7XG4gICAgICAgIC8vICAgY2FzZSAndmVydGljYWwnOlxuICAgICAgICAvLyAgICAgcmV0dXJuIG1heEhlaWdodDtcbiAgICAgICAgLy8gfVxuICAgICAgfSkpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWxlZnQuJScpIG9mZnNldExlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1yaWdodC4lJykgb2Zmc2V0UmlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi10b3AuJScpIG9mZnNldFRvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWJvdHRvbS4lJykgb2Zmc2V0Qm90dG9tOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEJzU3dpcGVEaXJlY3RpdmUpKSBzZXQgc3dpcGVzKHZhbHVlOiBRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc3dpcGVzJC5uZXh0KHZhbHVlKSk7XG4gIH1cbiAgQElucHV0KCkgbWluaW11bU9mZnNldCA9IDUwO1xuXG4gIC8vI3JlZ2lvbiBJbWFnZUluZGV4XG4gIHB1YmxpYyBnZXQgaW1hZ2VJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZUluZGV4JC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGltYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIGltYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgLy8jZW5kcmVnaW9uXG4gIFxuICBhY3R1YWxTd2lwZXMkOiBPYnNlcnZhYmxlPEJzU3dpcGVEaXJlY3RpdmVbXT47XG4gIGlzVmlld0luaXRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc3RhcnRUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXJ0VG91Y2ggfCBudWxsPihudWxsKTtcbiAgbGFzdFRvdWNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGFzdFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIHN3aXBlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc1N3aXBlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICAvLyBUT0RPOiBzbGlkZSBzaXplcyBpbnN0ZWFkXG4gIHNsaWRlU2l6ZXMkOiBPYnNlcnZhYmxlPChTaXplIHwgdW5kZWZpbmVkKVtdPjtcbiAgaW1hZ2VJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIGN1cnJlbnRTbGlkZUhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGVuZGluZ0FuaW1hdGlvbj86IEFuaW1hdGlvblBsYXllcjtcbiAgY29udGFpbmVyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICAvLyBUT0RPOiBEb24ndCBqdXN0IGtlZXAgcHgsIGJ1dCBib3RoIHB4IGFuZCAlIHVzaW5nIGN1cnJlbnRzbGlkZXNpemUkXG4gIG9mZnNldCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgb2Zmc2V0TGVmdCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgb2Zmc2V0UmlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBhZExlZnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBhZFJpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmlzVmlld0luaXRlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGFuaW1hdGVUb0luZGV4QnlEeChkeDogbnVtYmVyKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5pbWFnZUluZGV4JCwgdGhpcy5hY3R1YWxTd2lwZXMkXSkucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW2ltYWdlSW5kZXgsIGFjdHVhbFN3aXBlc10pID0+IHtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gZHggPiAwID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgICAgIFxuICAgICAgICBsZXQgbmV3SW5kZXg6IG51bWJlcjtcbiAgICAgICAgaWYgKE1hdGguYWJzKGR4KSA8IHRoaXMubWluaW11bU9mZnNldCkge1xuICAgICAgICAgIG5ld0luZGV4ID0gaW1hZ2VJbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdJbmRleCA9IGltYWdlSW5kZXggKyAoZGlyZWN0aW9uID09PSAncmlnaHQnID8gMSA6IC0xKTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBuZXdJbmRleCwgZHgsIGFjdHVhbFN3aXBlcz8ubGVuZ3RoID8/IDEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhbmltYXRlVG9JbmRleChvbGRJbmRleDogbnVtYmVyLCBuZXdJbmRleDogbnVtYmVyLCBkeDogbnVtYmVyLCB0b3RhbFNsaWRlczogbnVtYmVyKSB7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25CdWlsZGVyLmJ1aWxkKFtcbiAgICAgIHN0eWxlKHsgJ21hcmdpbi1sZWZ0JzogKC0ob2xkSW5kZXggKyAxKSAqIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICsgZHgpICsgJ3B4JywgJ21hcmdpbi1yaWdodCc6ICgob2xkSW5kZXggKyAxKSAqIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC0gZHgpICsgJ3B4JyB9KSxcbiAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UnLCBzdHlsZSh7ICdtYXJnaW4tbGVmdCc6ICgtKG5ld0luZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCkgKyAncHgnLCAnbWFyZ2luLXJpZ2h0JzogKChuZXdJbmRleCArIDEpICogdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpICsgJ3B4JyB9KSksXG4gICAgXSkuY3JlYXRlKHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24ub25Eb25lKCgpID0+IHtcbiAgICAgIC8vIENvcnJlY3QgdGhlIGltYWdlIGluZGV4XG4gICAgICBpZiAobmV3SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCh0b3RhbFNsaWRlcyAtIDEpO1xuICAgICAgfSBlbHNlIGlmIChuZXdJbmRleCA9PT0gdG90YWxTbGlkZXMpIHtcbiAgICAgICAgdGhpcy5pbWFnZUluZGV4JC5uZXh0KDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbWFnZUluZGV4JC5uZXh0KG5ld0luZGV4KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RhcnRUb3VjaCQubmV4dChudWxsKTtcbiAgICAgIHRoaXMubGFzdFRvdWNoJC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5kZXN0cm95KCk7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24gPSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uLnBsYXkoKTtcbiAgfVxuXG4gIG9uU3dpcGUoZHg6IG51bWJlcikge1xuICAgIHRoaXMuYW5pbWF0ZVRvSW5kZXhCeUR4KGR4KTtcbiAgfVxuXG4gIHByZXZpb3VzKCkge1xuICAgIHRoaXMuZ290b0FuaW1hdGUoLTEsICdyZWxhdGl2ZScpO1xuICB9XG5cbiAgbmV4dCgpIHtcbiAgICB0aGlzLmdvdG9BbmltYXRlKDEsICdyZWxhdGl2ZScpO1xuICB9XG5cbiAgZ290byhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5nb3RvQW5pbWF0ZShpbmRleCwgJ2Fic29sdXRlJyk7XG4gIH1cblxuICBwcml2YXRlIGdvdG9BbmltYXRlKGluZGV4OiBudW1iZXIsIHR5cGU6ICdhYnNvbHV0ZScgfCAncmVsYXRpdmUnKSB7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0dWFsU3dpcGVzJCwgdGhpcy5pbWFnZUluZGV4JF0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChbYWN0dWFsU3dpcGVzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgICAgICBjb25zdCBpZHggPSAodHlwZSA9PT0gJ3JlbGF0aXZlJykgPyBpbWFnZUluZGV4ICsgaW5kZXggOiBpbmRleDtcbiAgICAgICAgdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBpZHgsIDAsIGFjdHVhbFN3aXBlcz8ubGVuZ3RoID8/IDEpO1xuICAgICAgfSk7XG4gICAgfSwgMjApO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './last-touch';
|
|
2
|
+
export * from './point';
|
|
3
|
+
export * from './start-touch';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGFzdC10b3VjaCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhcnQtdG91Y2gnOyJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC10b3VjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9pbnRlcmZhY2VzL2xhc3QtdG91Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50IH0gZnJvbSBcIi4vcG9pbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMYXN0VG91Y2gge1xuICAgIHBvc2l0aW9uOiBQb2ludDtcbiAgICBpc1RvdWNoaW5nOiBib29sZWFuO1xufVxuICAiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cbiAgIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9zdGFydC10b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQgfSBmcm9tIFwiLi9wb2ludFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0VG91Y2gge1xuICAgIHBvc2l0aW9uOiBQb2ludDtcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cbiAgIl19
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
16
16
|
exports: [BsSwipeDirective, BsSwipeContainerDirective],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBSFYsZ0JBQWdCLEVBQUUseUJBQXlCLGFBRGhELFlBQVksYUFFWixnQkFBZ0IsRUFBRSx5QkFBeUI7d0dBRTFDLGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { isPlatformServer } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { PLATFORM_ID, Directive, Inject } from '@angular/core';
|
|
4
|
+
import { map, BehaviorSubject } from 'rxjs';
|
|
5
|
+
|
|
6
|
+
class BsObserveSizeDirective {
|
|
7
|
+
element;
|
|
8
|
+
platformId;
|
|
9
|
+
zone;
|
|
10
|
+
constructor(element, platformId, zone) {
|
|
11
|
+
this.element = element;
|
|
12
|
+
this.platformId = platformId;
|
|
13
|
+
this.zone = zone;
|
|
14
|
+
if (!isPlatformServer(this.platformId)) {
|
|
15
|
+
this.observer = new ResizeObserver((entries) => {
|
|
16
|
+
// console.log('resized', entries[0].contentRect);
|
|
17
|
+
this.zone.run(() => this.size$.next(entries[0].contentRect));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
this.width$ = this.size$.pipe(map(size => size?.width));
|
|
21
|
+
this.height$ = this.size$.pipe(map(size => size?.height));
|
|
22
|
+
}
|
|
23
|
+
observer;
|
|
24
|
+
size$ = new BehaviorSubject(undefined);
|
|
25
|
+
width$;
|
|
26
|
+
height$;
|
|
27
|
+
ngAfterViewInit() {
|
|
28
|
+
const el = this.element.nativeElement;
|
|
29
|
+
this.observer?.observe(el);
|
|
30
|
+
this.size$.next({ width: el.clientWidth, height: el.clientHeight });
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
if (this.observer) {
|
|
34
|
+
this.observer.unobserve(this.element.nativeElement);
|
|
35
|
+
this.observer.disconnect();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsObserveSizeDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BsObserveSizeDirective, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: '[bsObserveSize]',
|
|
45
|
+
standalone: true,
|
|
46
|
+
exportAs: 'bsObserveSize'
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
49
|
+
type: Inject,
|
|
50
|
+
args: [PLATFORM_ID]
|
|
51
|
+
}] }, { type: i0.NgZone }] });
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Generated bundle index. Do not edit.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
export { BsObserveSizeDirective };
|
|
58
|
+
//# sourceMappingURL=mintplayer-ng-swiper-observe-size.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-swiper-observe-size.mjs","sources":["../../../../libs/mintplayer-ng-swiper/observe-size/src/observe-size.directive.ts","../../../../libs/mintplayer-ng-swiper/observe-size/mintplayer-ng-swiper-observe-size.ts"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\r\nimport { AfterViewInit, Directive, ElementRef, Inject, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject, map } from 'rxjs';\r\nimport { Size } from './size';\r\n\r\n@Directive({\r\n selector: '[bsObserveSize]',\r\n standalone: true,\r\n exportAs: 'bsObserveSize'\r\n})\r\nexport class BsObserveSizeDirective implements AfterViewInit, OnDestroy {\r\n constructor(private element: ElementRef, @Inject(PLATFORM_ID) private platformId: any, private zone: NgZone) {\r\n if (!isPlatformServer(this.platformId)) {\r\n this.observer = new ResizeObserver((entries) => {\r\n // console.log('resized', entries[0].contentRect);\r\n this.zone.run(() => this.size$.next(entries[0].contentRect));\r\n });\r\n }\r\n\r\n this.width$ = this.size$.pipe(map(size => size?.width));\r\n this.height$ = this.size$.pipe(map(size => size?.height));\r\n }\r\n\r\n private observer?: ResizeObserver;\r\n size$ = new BehaviorSubject<Size | undefined>(undefined);\r\n width$: Observable<number | undefined>;\r\n height$: Observable<number | undefined>;\r\n\r\n ngAfterViewInit() {\r\n const el: HTMLElement = this.element.nativeElement;\r\n this.observer?.observe(el);\r\n this.size$.next({ width: el.clientWidth, height: el.clientHeight });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.observer) {\r\n this.observer.unobserve(this.element.nativeElement);\r\n this.observer.disconnect();\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAUa,sBAAsB,CAAA;AACb,IAAA,OAAA,CAAA;AAAkD,IAAA,UAAA,CAAA;AAAyB,IAAA,IAAA,CAAA;AAA/F,IAAA,WAAA,CAAoB,OAAmB,EAA+B,UAAe,EAAU,IAAY,EAAA;QAAvF,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QAA+B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACzG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;;gBAE7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/D,aAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;KAC3D;AAEO,IAAA,QAAQ,CAAkB;AAClC,IAAA,KAAK,GAAG,IAAI,eAAe,CAAmB,SAAS,CAAC,CAAC;AACzD,IAAA,MAAM,CAAiC;AACvC,IAAA,OAAO,CAAiC;IAExC,eAAe,GAAA;AACb,QAAA,MAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;KACrE;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;KACF;AA7BU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,4CACgB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FADjD,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;;0BAE2C,MAAM;2BAAC,WAAW,CAAA;;;ACX9D;;AAEG;;;;"}
|