@mintplayer/ng-swiper 20.0.0 → 20.2.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.
@@ -11,7 +11,7 @@ class BsObserveSizeDirective {
11
11
  this.element = element;
12
12
  this.platformId = platformId;
13
13
  this.zone = zone;
14
- if (!isPlatformServer(this.platformId)) {
14
+ if (!isPlatformServer(this.platformId) && typeof ResizeObserver !== 'undefined') {
15
15
  this.observer = new ResizeObserver((entries) => {
16
16
  // console.log('resized', entries[0].contentRect);
17
17
  this.zone.run(() => this.size$.next(entries[0].contentRect));
@@ -35,10 +35,10 @@ class BsObserveSizeDirective {
35
35
  this.observer.disconnect();
36
36
  }
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.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: "20.0.0", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", 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: "20.1.7", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsObserveSizeDirective, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsObserveSizeDirective, decorators: [{
42
42
  type: Directive,
43
43
  args: [{
44
44
  selector: '[bsObserveSize]',
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-swiper-observe-size.mjs","sources":["../tmp-esm2022/observe-size/src/observe-size.directive.js","../tmp-esm2022/observe-size/mintplayer-ng-swiper-observe-size.js"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\nimport { Directive, Inject, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject, map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class BsObserveSizeDirective {\n element;\n platformId;\n zone;\n constructor(element, platformId, zone) {\n this.element = element;\n this.platformId = platformId;\n this.zone = zone;\n if (!isPlatformServer(this.platformId)) {\n this.observer = new ResizeObserver((entries) => {\n // console.log('resized', entries[0].contentRect);\n this.zone.run(() => this.size$.next(entries[0].contentRect));\n });\n }\n this.width$ = this.size$.pipe(map(size => size?.width));\n this.height$ = this.size$.pipe(map(size => size?.height));\n }\n observer;\n size$ = new BehaviorSubject(undefined);\n width$;\n height$;\n ngAfterViewInit() {\n const el = this.element.nativeElement;\n this.observer?.observe(el);\n this.size$.next({ width: el.clientWidth, height: el.clientHeight });\n }\n ngOnDestroy() {\n if (this.observer) {\n this.observer.unobserve(this.element.nativeElement);\n this.observer.disconnect();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsObserveSizeDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: BsObserveSizeDirective, isStandalone: true, selector: \"[bsObserveSize]\", exportAs: [\"bsObserveSize\"], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsObserveSizeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsObserveSize]',\n standalone: true,\n exportAs: 'bsObserveSize'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: i0.NgZone }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1zaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9vYnNlcnZlLXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBaUIsU0FBUyxFQUFjLE1BQU0sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQXVCLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRakUsTUFBTSxPQUFPLHNCQUFzQjtJQUNiO0lBQWtEO0lBQXlCO0lBQS9GLFlBQW9CLE9BQW1CLEVBQStCLFVBQWUsRUFBVSxJQUFZO1FBQXZGLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDekcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDN0Msa0RBQWtEO2dCQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFFBQVEsQ0FBa0I7SUFDbEMsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztJQUN6RCxNQUFNLENBQWlDO0lBQ3ZDLE9BQU8sQ0FBaUM7SUFFeEMsZUFBZTtRQUNiLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0E3QlUsc0JBQXNCLDRDQUNnQixXQUFXOzJGQURqRCxzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBRTJDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgTmdab25lLCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuL3NpemUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYnNPYnNlcnZlU2l6ZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgZXhwb3J0QXM6ICdic09ic2VydmVTaXplJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcclxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygncmVzaXplZCcsIGVudHJpZXNbMF0uY29udGVudFJlY3QpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5zaXplJC5uZXh0KGVudHJpZXNbMF0uY29udGVudFJlY3QpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53aWR0aCQgPSB0aGlzLnNpemUkLnBpcGUobWFwKHNpemUgPT4gc2l6ZT8ud2lkdGgpKTtcclxuICAgIHRoaXMuaGVpZ2h0JCA9IHRoaXMuc2l6ZSQucGlwZShtYXAoc2l6ZSA9PiBzaXplPy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcclxuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l6ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICB3aWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcclxuICBoZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5vYnNlcnZlcj8ub2JzZXJ2ZShlbCk7XHJcbiAgICB0aGlzLnNpemUkLm5leHQoeyB3aWR0aDogZWwuY2xpZW50V2lkdGgsIGhlaWdodDogZWwuY2xpZW50SGVpZ2h0IH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xyXG4gICAgICB0aGlzLm9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9vYnNlcnZlLXNpemUvbWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-swiper-observe-size.mjs","sources":["../tmp-esm2022/observe-size/src/observe-size.directive.js","../tmp-esm2022/observe-size/mintplayer-ng-swiper-observe-size.js"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\nimport { Directive, Inject, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject, map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class BsObserveSizeDirective {\n element;\n platformId;\n zone;\n constructor(element, platformId, zone) {\n this.element = element;\n this.platformId = platformId;\n this.zone = zone;\n if (!isPlatformServer(this.platformId) && typeof ResizeObserver !== 'undefined') {\n this.observer = new ResizeObserver((entries) => {\n // console.log('resized', entries[0].contentRect);\n this.zone.run(() => this.size$.next(entries[0].contentRect));\n });\n }\n this.width$ = this.size$.pipe(map(size => size?.width));\n this.height$ = this.size$.pipe(map(size => size?.height));\n }\n observer;\n size$ = new BehaviorSubject(undefined);\n width$;\n height$;\n ngAfterViewInit() {\n const el = this.element.nativeElement;\n this.observer?.observe(el);\n this.size$.next({ width: el.clientWidth, height: el.clientHeight });\n }\n ngOnDestroy() {\n if (this.observer) {\n this.observer.unobserve(this.element.nativeElement);\n this.observer.disconnect();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsObserveSizeDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BsObserveSizeDirective, isStandalone: true, selector: \"[bsObserveSize]\", exportAs: [\"bsObserveSize\"], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsObserveSizeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsObserveSize]',\n standalone: true,\n exportAs: 'bsObserveSize'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: i0.NgZone }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1zaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9vYnNlcnZlLXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBaUIsU0FBUyxFQUFjLE1BQU0sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQXVCLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRakUsTUFBTSxPQUFPLHNCQUFzQjtJQUNiO0lBQWtEO0lBQXlCO0lBQS9GLFlBQW9CLE9BQW1CLEVBQStCLFVBQWUsRUFBVSxJQUFZO1FBQXZGLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDekcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzdDLGtEQUFrRDtnQkFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxRQUFRLENBQWtCO0lBQ2xDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBbUIsU0FBUyxDQUFDLENBQUM7SUFDekQsTUFBTSxDQUFpQztJQUN2QyxPQUFPLENBQWlDO0lBRXhDLGVBQWU7UUFDYixNQUFNLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7dUdBN0JVLHNCQUFzQiw0Q0FDZ0IsV0FBVzsyRkFEakQsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQUUyQyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE5nWm9uZSwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi9zaXplJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2JzT2JzZXJ2ZVNpemVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGV4cG9ydEFzOiAnYnNPYnNlcnZlU2l6ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksIHByaXZhdGUgem9uZTogTmdab25lKSB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdyZXNpemVkJywgZW50cmllc1swXS5jb250ZW50UmVjdCk7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5zaXplJC5uZXh0KGVudHJpZXNbMF0uY29udGVudFJlY3QpKTtcbiAgICAgIH0pO1xuICAgIH1cblxyXG4gICAgdGhpcy53aWR0aCQgPSB0aGlzLnNpemUkLnBpcGUobWFwKHNpemUgPT4gc2l6ZT8ud2lkdGgpKTtcclxuICAgIHRoaXMuaGVpZ2h0JCA9IHRoaXMuc2l6ZSQucGlwZShtYXAoc2l6ZSA9PiBzaXplPy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcclxuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l6ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICB3aWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcclxuICBoZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5vYnNlcnZlcj8ub2JzZXJ2ZShlbCk7XG4gICAgdGhpcy5zaXplJC5uZXh0KHsgd2lkdGg6IGVsLmNsaWVudFdpZHRoLCBoZWlnaHQ6IGVsLmNsaWVudEhlaWdodCB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5vYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9vYnNlcnZlLXNpemUvbWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
@@ -1,28 +1,46 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, forwardRef, ContentChildren, HostBinding, Inject, Directive, HostListener, NgModule } from '@angular/core';
2
+ import { EventEmitter, Output, Input, forwardRef, ContentChildren, HostBinding, Inject, Directive, input, HostListener, NgModule } from '@angular/core';
3
3
  import * as i2 from '@mintplayer/ng-swiper/observe-size';
4
4
  import { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';
5
- import { combineLatest, map, delay, filter, mergeMap, debounceTime, BehaviorSubject, take } from 'rxjs';
6
- import { DOCUMENT, CommonModule } from '@angular/common';
5
+ import { combineLatest, map, delay, filter, mergeMap, debounceTime, distinctUntilChanged, BehaviorSubject, take } from 'rxjs';
7
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
+ import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import * as i1 from '@angular/animations';
9
9
  import { style, animate } from '@angular/animations';
10
10
 
11
11
  class BsSwipeContainerDirective {
12
12
  animationBuilder;
13
+ destroy;
13
14
  observeSize;
14
- constructor(element, animationBuilder, document, observeSize) {
15
+ constructor(element, animationBuilder, destroy, document, observeSize) {
15
16
  this.animationBuilder = animationBuilder;
17
+ this.destroy = destroy;
16
18
  this.observeSize = observeSize;
17
19
  this.containerElement = element;
18
20
  this.document = document;
19
- this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])
20
- .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {
21
+ this.offset$ = combineLatest([
22
+ this.startTouch$,
23
+ this.lastTouch$,
24
+ this.imageIndex$,
25
+ this.isViewInited$,
26
+ this.orientation$,
27
+ this.observeSize.size$,
28
+ ])
29
+ .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited, orientation, containerSize]) => {
21
30
  if (!isViewInited) {
22
31
  return (-imageIndex * 100);
23
32
  }
24
33
  else if (!!startTouch && !!lastTouch) {
25
- return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);
34
+ const containerLength = orientation === 'horizontal'
35
+ ? (containerSize?.width ?? this.containerElement.nativeElement.clientWidth)
36
+ : (containerSize?.height ?? this.containerElement.nativeElement.clientHeight);
37
+ if (containerLength === 0) {
38
+ return (-imageIndex * 100);
39
+ }
40
+ const delta = orientation === 'horizontal'
41
+ ? (lastTouch.position.x - startTouch.position.x)
42
+ : (lastTouch.position.y - startTouch.position.y);
43
+ return (-imageIndex * 100 + (delta / containerLength) * 100);
26
44
  }
27
45
  else {
28
46
  return (-imageIndex * 100);
@@ -34,7 +52,7 @@ class BsSwipeContainerDirective {
34
52
  }
35
53
  let count = 0;
36
54
  for (const s of swipes) {
37
- if (!s.offside) {
55
+ if (!s.offside()) {
38
56
  break;
39
57
  }
40
58
  else {
@@ -49,7 +67,7 @@ class BsSwipeContainerDirective {
49
67
  }
50
68
  let count = 0;
51
69
  for (const s of swipes.toArray().reverse()) {
52
- if (!s.offside) {
70
+ if (!s.offside()) {
53
71
  break;
54
72
  }
55
73
  else {
@@ -58,20 +76,40 @@ class BsSwipeContainerDirective {
58
76
  }
59
77
  return count;
60
78
  }));
61
- this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
79
+ this.offsetPrimary$ = combineLatest([this.offset$, this.padLeft$])
62
80
  .pipe(map(([offset, padLeft]) => offset - padLeft * 100));
63
- this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
81
+ this.offsetSecondary$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
64
82
  .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);
83
+ combineLatest([this.offsetPrimary$, this.orientation$])
84
+ .pipe(takeUntilDestroyed())
85
+ .subscribe(([offsetPrimary, orientation]) => {
86
+ if (orientation === 'horizontal') {
87
+ this.offsetLeft = offsetPrimary;
88
+ this.offsetTop = null;
89
+ }
90
+ else {
91
+ this.offsetTop = offsetPrimary;
92
+ this.offsetLeft = null;
93
+ }
94
+ });
95
+ combineLatest([this.offsetSecondary$, this.orientation$])
96
+ .pipe(takeUntilDestroyed())
97
+ .subscribe(([offsetSecondary, orientation]) => {
98
+ if (orientation === 'horizontal') {
99
+ this.offsetRight = offsetSecondary;
100
+ this.offsetBottom = null;
101
+ }
102
+ else {
103
+ this.offsetBottom = offsetSecondary;
104
+ this.offsetRight = null;
105
+ }
106
+ });
69
107
  this.imageIndex$.pipe(takeUntilDestroyed())
70
108
  .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));
71
109
  this.actualSwipes$ = this.swipes$
72
110
  .pipe(map(swipes => {
73
111
  if (swipes) {
74
- return swipes.filter(swipe => !swipe.offside);
112
+ return swipes.filter(swipe => !swipe.offside());
75
113
  }
76
114
  else {
77
115
  return [];
@@ -80,19 +118,27 @@ class BsSwipeContainerDirective {
80
118
  this.slideSizes$ = this.actualSwipes$
81
119
  .pipe(delay(400), filter(swipes => !!swipes))
82
120
  .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 });
121
+ this.maxSlideHeight$ = this.slideSizes$
122
+ .pipe(map(slideSizes => {
123
+ const heights = slideSizes.map(s => s?.height ?? 1);
124
+ return heights.length ? Math.max(...heights) : 1;
125
+ }));
126
+ this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$, this.orientation$])
127
+ .pipe(map(([slideSizes, imageIndex, orientation]) => {
128
+ const heights = slideSizes.map(s => s?.height ?? 1);
129
+ const maxHeight = heights.length ? Math.max(...heights) : 1;
87
130
  const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;
88
- // switch (orientation) {
89
- // case 'horizontal':
90
- return currHeight;
91
- // case 'vertical':
92
- // return maxHeight;
93
- // }
131
+ return (orientation === 'vertical') ? maxHeight : currHeight;
94
132
  }))
95
133
  .pipe(debounceTime(10));
134
+ this.orientation$
135
+ .pipe(distinctUntilChanged(), takeUntilDestroyed())
136
+ .subscribe(() => {
137
+ this.offsetLeft = null;
138
+ this.offsetRight = null;
139
+ this.offsetTop = null;
140
+ this.offsetBottom = null;
141
+ });
96
142
  }
97
143
  offsetLeft = null;
98
144
  offsetRight = null;
@@ -102,6 +148,12 @@ class BsSwipeContainerDirective {
102
148
  setTimeout(() => this.swipes$.next(value));
103
149
  }
104
150
  minimumOffset = 50;
151
+ get orientation() {
152
+ return this.orientation$.value;
153
+ }
154
+ set orientation(value) {
155
+ this.orientation$.next(value ?? 'horizontal');
156
+ }
105
157
  //#region ImageIndex
106
158
  get imageIndex() {
107
159
  return this.imageIndex$.value;
@@ -118,6 +170,7 @@ class BsSwipeContainerDirective {
118
170
  swipes$ = new BehaviorSubject(null);
119
171
  // TODO: slide sizes instead
120
172
  slideSizes$;
173
+ maxSlideHeight$;
121
174
  imageIndex$ = new BehaviorSubject(0);
122
175
  currentSlideHeight$;
123
176
  pendingAnimation;
@@ -125,32 +178,56 @@ class BsSwipeContainerDirective {
125
178
  document;
126
179
  // TODO: Don't just keep px, but both px and % using currentslidesize$
127
180
  offset$;
128
- offsetLeft$;
129
- offsetRight$;
181
+ offsetPrimary$;
182
+ offsetSecondary$;
130
183
  padLeft$;
131
184
  padRight$;
185
+ orientation$ = new BehaviorSubject('horizontal');
132
186
  ngAfterViewInit() {
133
187
  this.isViewInited$.next(true);
134
188
  }
135
- animateToIndexByDx(dx) {
136
- combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
189
+ animateToIndexByDx(distance) {
190
+ combineLatest([this.imageIndex$, this.actualSwipes$])
191
+ .pipe(take(1), takeUntilDestroyed(this.destroy))
137
192
  .subscribe(([imageIndex, actualSwipes]) => {
138
- const direction = dx > 0 ? 'left' : 'right';
139
193
  let newIndex;
140
- if (Math.abs(dx) < this.minimumOffset) {
194
+ if (Math.abs(distance) < this.minimumOffset) {
141
195
  newIndex = imageIndex;
142
196
  }
143
197
  else {
144
- newIndex = imageIndex + (direction === 'right' ? 1 : -1);
198
+ newIndex = imageIndex + (distance < 0 ? 1 : -1);
145
199
  }
146
- this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);
200
+ this.animateToIndex(imageIndex, newIndex, distance, actualSwipes?.length ?? 1);
147
201
  });
148
202
  }
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);
203
+ animateToIndex(oldIndex, newIndex, distance, totalSlides) {
204
+ const orientation = this.orientation$.value;
205
+ const containerElement = this.containerElement.nativeElement;
206
+ const containerLength = orientation === 'horizontal' ? containerElement.clientWidth : containerElement.clientHeight;
207
+ if (orientation === 'horizontal') {
208
+ this.pendingAnimation = this.animationBuilder.build([
209
+ style({
210
+ 'margin-left': (-(oldIndex + 1) * containerLength + distance) + 'px',
211
+ 'margin-right': ((oldIndex + 1) * containerLength - distance) + 'px',
212
+ }),
213
+ animate('500ms ease', style({
214
+ 'margin-left': (-(newIndex + 1) * containerLength) + 'px',
215
+ 'margin-right': ((newIndex + 1) * containerLength) + 'px',
216
+ })),
217
+ ]).create(containerElement);
218
+ }
219
+ else {
220
+ this.pendingAnimation = this.animationBuilder.build([
221
+ style({
222
+ 'margin-top': (-(oldIndex + 1) * containerLength + distance) + 'px',
223
+ 'margin-bottom': ((oldIndex + 1) * containerLength - distance) + 'px',
224
+ }),
225
+ animate('500ms ease', style({
226
+ 'margin-top': (-(newIndex + 1) * containerLength) + 'px',
227
+ 'margin-bottom': ((newIndex + 1) * containerLength) + 'px',
228
+ })),
229
+ ]).create(containerElement);
230
+ }
154
231
  this.pendingAnimation.onDone(() => {
155
232
  // Correct the image index
156
233
  if (newIndex === -1) {
@@ -169,8 +246,8 @@ class BsSwipeContainerDirective {
169
246
  });
170
247
  this.pendingAnimation.play();
171
248
  }
172
- onSwipe(dx) {
173
- this.animateToIndexByDx(dx);
249
+ onSwipe(distance) {
250
+ this.animateToIndexByDx(distance);
174
251
  }
175
252
  previous() {
176
253
  this.gotoAnimate(-1, 'relative');
@@ -184,17 +261,19 @@ class BsSwipeContainerDirective {
184
261
  gotoAnimate(index, type) {
185
262
  this.pendingAnimation?.finish();
186
263
  setTimeout(() => {
187
- combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
264
+ combineLatest([this.actualSwipes$, this.imageIndex$])
265
+ .pipe(take(1), takeUntilDestroyed(this.destroy))
266
+ .subscribe(([actualSwipes, imageIndex]) => {
188
267
  this.pendingAnimation?.finish();
189
268
  const idx = (type === 'relative') ? imageIndex + index : index;
190
269
  this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);
191
270
  });
192
271
  }, 20);
193
272
  }
194
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.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: "20.0.0", type: BsSwipeContainerDirective, isStandalone: false, 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 });
273
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: i0.DestroyRef }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
274
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: BsSwipeContainerDirective, isStandalone: false, selector: "[bsSwipeContainer]", inputs: { minimumOffset: "minimumOffset", orientation: "orientation", 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
275
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
198
277
  type: Directive,
199
278
  args: [{
200
279
  selector: '[bsSwipeContainer]',
@@ -202,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
202
281
  standalone: false,
203
282
  hostDirectives: [BsObserveSizeDirective],
204
283
  }]
205
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{
284
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: i0.DestroyRef }, { type: undefined, decorators: [{
206
285
  type: Inject,
207
286
  args: [DOCUMENT]
208
287
  }] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{
@@ -222,6 +301,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
222
301
  args: [forwardRef(() => BsSwipeDirective)]
223
302
  }], minimumOffset: [{
224
303
  type: Input
304
+ }], orientation: [{
305
+ type: Input
225
306
  }], imageIndex: [{
226
307
  type: Input
227
308
  }], imageIndexChange: [{
@@ -230,18 +311,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
230
311
 
231
312
  class BsSwipeDirective {
232
313
  container;
233
- constructor(container, observeSize) {
314
+ destroy;
315
+ constructor(container, observeSize, destroy) {
234
316
  this.container = container;
317
+ this.destroy = destroy;
235
318
  this.observeSize = observeSize;
236
- // container.orientation$.pipe(takeUntilDestroyed())
237
- // .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');
319
+ this.container.orientation$
320
+ .pipe(takeUntilDestroyed())
321
+ .subscribe(orientation => {
322
+ this.inlineBlock = (orientation === 'horizontal');
323
+ this.block = (orientation === 'vertical');
324
+ });
238
325
  }
239
326
  observeSize;
240
- //#region Offside
241
- offside = false;
242
- //#endregion
327
+ offside = input(false, ...(ngDevMode ? [{ debugName: "offside" }] : []));
243
328
  classes = true;
244
- hostClass;
329
+ inlineBlock = true;
330
+ block = false;
245
331
  onTouchStart(ev) {
246
332
  if (ev.touches.length === 1) {
247
333
  ev.preventDefault();
@@ -274,34 +360,31 @@ class BsSwipeDirective {
274
360
  });
275
361
  }
276
362
  onTouchEnd(ev) {
277
- combineLatest([this.container.startTouch$, this.container.lastTouch$])
363
+ combineLatest([this.container.startTouch$, this.container.lastTouch$, this.container.orientation$])
278
364
  .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))
279
- .pipe(take(1))
280
- .subscribe(([startTouch, lastTouch]) => {
365
+ .pipe(take(1), takeUntilDestroyed(this.destroy))
366
+ .subscribe(([startTouch, lastTouch, orientation]) => {
281
367
  if (!!startTouch && !!lastTouch) {
282
- const dx = lastTouch.position.x - startTouch.position.x;
283
- this.container.onSwipe(dx);
368
+ const distance = (orientation === 'horizontal')
369
+ ? lastTouch.position.x - startTouch.position.x
370
+ : lastTouch.position.y - startTouch.position.y;
371
+ this.container.onSwipe(distance);
284
372
  }
285
373
  });
286
374
  }
287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwipeDirective, deps: [{ token: BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
288
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: BsSwipeDirective, isStandalone: false, 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 });
375
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwipeDirective, deps: [{ token: BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
376
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: BsSwipeDirective, isStandalone: false, selector: "[bsSwipe]", inputs: { offside: { classPropertyName: "offside", publicName: "offside", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.align-top": "this.classes", "class.float-none": "this.classes", "class.w-100": "this.classes", "class.pe-auto": "this.classes", "class.me-0": "this.classes", "class.d-inline-block": "this.inlineBlock", "class.d-block": "this.block" } }, hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });
289
377
  }
290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwipeDirective, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwipeDirective, decorators: [{
291
379
  type: Directive,
292
380
  args: [{
293
381
  selector: '[bsSwipe]',
294
382
  hostDirectives: [BsObserveSizeDirective],
295
383
  standalone: false,
296
384
  }]
297
- }], ctorParameters: () => [{ type: BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }], propDecorators: { offside: [{
298
- type: Input
299
- }], classes: [{
385
+ }], ctorParameters: () => [{ type: BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }, { type: i0.DestroyRef }], propDecorators: { classes: [{
300
386
  type: HostBinding,
301
387
  args: ['class.align-top']
302
- }, {
303
- type: HostBinding,
304
- args: ['class.d-inline-block']
305
388
  }, {
306
389
  type: HostBinding,
307
390
  args: ['class.float-none']
@@ -314,9 +397,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
314
397
  }, {
315
398
  type: HostBinding,
316
399
  args: ['class.me-0']
317
- }], hostClass: [{
400
+ }], inlineBlock: [{
401
+ type: HostBinding,
402
+ args: ['class.d-inline-block']
403
+ }], block: [{
318
404
  type: HostBinding,
319
- args: ['class']
405
+ args: ['class.d-block']
320
406
  }], onTouchStart: [{
321
407
  type: HostListener,
322
408
  args: ['touchstart', ['$event']]
@@ -329,11 +415,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
329
415
  }] } });
330
416
 
331
417
  class BsSwiperModule {
332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
333
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
334
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
418
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
419
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.7", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
420
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
335
421
  }
336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: BsSwiperModule, decorators: [{
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: BsSwiperModule, decorators: [{
337
423
  type: NgModule,
338
424
  args: [{
339
425
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-swiper-swiper.mjs","sources":["../tmp-esm2022/swiper/src/directives/swipe-container/swipe-container.directive.js","../tmp-esm2022/swiper/src/directives/swipe/swipe.directive.js","../tmp-esm2022/swiper/src/swiper.module.js","../tmp-esm2022/swiper/mintplayer-ng-swiper-swiper.js"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { animate, style } from '@angular/animations';\nimport { ContentChildren, Directive, EventEmitter, forwardRef, HostBinding, Inject, Input, Output } from '@angular/core';\nimport { BehaviorSubject, combineLatest, debounceTime, delay, filter, map, mergeMap, take } from 'rxjs';\nimport { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/animations\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeContainerDirective {\n animationBuilder;\n observeSize;\n constructor(element, animationBuilder, document, observeSize) {\n this.animationBuilder = animationBuilder;\n this.observeSize = observeSize;\n this.containerElement = element;\n this.document = document;\n this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n }\n else if (!!startTouch && !!lastTouch) {\n return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);\n }\n else {\n return (-imageIndex * 100);\n }\n }));\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes) {\n if (!s.offside) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n this.offsetLeft$.pipe(takeUntilDestroyed())\n .subscribe(offsetLeft => this.offsetLeft = offsetLeft);\n this.offsetRight$.pipe(takeUntilDestroyed())\n .subscribe(offsetRight => this.offsetRight = offsetRight);\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside);\n }\n else {\n return [];\n }\n }));\n this.slideSizes$ = this.actualSwipes$\n .pipe(delay(400), filter(swipes => !!swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));\n this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$])\n .pipe(map(([slideSizes, imageIndex]) => {\n const maxHeight = Math.max(...slideSizes.map(s => s?.height ?? 1));\n console.log('maxHeight', { maxHeight, slideSizes });\n const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;\n // switch (orientation) {\n // case 'horizontal':\n return currHeight;\n // case 'vertical':\n // return maxHeight;\n // }\n }))\n .pipe(debounceTime(10));\n }\n offsetLeft = null;\n offsetRight = null;\n offsetTop = null;\n offsetBottom = null;\n set swipes(value) {\n setTimeout(() => this.swipes$.next(value));\n }\n minimumOffset = 50;\n //#region ImageIndex\n get imageIndex() {\n return this.imageIndex$.value;\n }\n set imageIndex(value) {\n this.imageIndex$.next(value);\n }\n imageIndexChange = new EventEmitter();\n //#endregion\n actualSwipes$;\n isViewInited$ = new BehaviorSubject(false);\n startTouch$ = new BehaviorSubject(null);\n lastTouch$ = new BehaviorSubject(null);\n swipes$ = new BehaviorSubject(null);\n // TODO: slide sizes instead\n slideSizes$;\n imageIndex$ = new BehaviorSubject(0);\n currentSlideHeight$;\n pendingAnimation;\n containerElement;\n document;\n // TODO: Don't just keep px, but both px and % using currentslidesize$\n offset$;\n offsetLeft$;\n offsetRight$;\n padLeft$;\n padRight$;\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n animateToIndexByDx(dx) {\n combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))\n .subscribe(([imageIndex, actualSwipes]) => {\n const direction = dx > 0 ? 'left' : 'right';\n let newIndex;\n if (Math.abs(dx) < this.minimumOffset) {\n newIndex = imageIndex;\n }\n else {\n newIndex = imageIndex + (direction === 'right' ? 1 : -1);\n }\n this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);\n });\n }\n animateToIndex(oldIndex, newIndex, dx, totalSlides) {\n this.pendingAnimation = this.animationBuilder.build([\n style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),\n animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),\n ]).create(this.containerElement.nativeElement);\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n }\n else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n }\n else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n onSwipe(dx) {\n this.animateToIndexByDx(dx);\n }\n previous() {\n this.gotoAnimate(-1, 'relative');\n }\n next() {\n this.gotoAnimate(1, 'relative');\n }\n goto(index) {\n this.gotoAnimate(index, 'absolute');\n }\n gotoAnimate(index, type) {\n this.pendingAnimation?.finish();\n setTimeout(() => {\n combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {\n this.pendingAnimation?.finish();\n const idx = (type === 'relative') ? imageIndex + index : index;\n this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);\n });\n }, 20);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: BsSwipeContainerDirective, isStandalone: false, 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 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer',\n standalone: false,\n hostDirectives: [BsObserveSizeDirective],\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{\n type: HostBinding,\n args: ['style.margin-left.%']\n }], offsetRight: [{\n type: HostBinding,\n args: ['style.margin-right.%']\n }], offsetTop: [{\n type: HostBinding,\n args: ['style.margin-top.%']\n }], offsetBottom: [{\n type: HostBinding,\n args: ['style.margin-bottom.%']\n }], swipes: [{\n type: ContentChildren,\n args: [forwardRef(() => BsSwipeDirective)]\n }], minimumOffset: [{\n type: Input\n }], imageIndex: [{\n type: Input\n }], imageIndexChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFxQyxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEgsT0FBTyxFQUFFLHNCQUFzQixFQUFRLE1BQU0sb0NBQW9DLENBQUM7QUFHbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFRNUQsTUFBTSxPQUFPLHlCQUF5QjtJQUVLO0lBQTZFO0lBQXRILFlBQVksT0FBbUIsRUFBVSxnQkFBa0MsRUFBb0IsUUFBYSxFQUFVLFdBQW1DO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBMkMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ3ZKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBYSxRQUFRLENBQUM7UUFD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NEVBRWlELFFBQVE7MkZBRmxGLHlCQUF5Qix5YkEyRkYsZ0JBQWdCOzsyRkEzRnZDLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsS0FBSztvQkFDakIsY0FBYyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3pDOzswQkFHK0UsTUFBTTsyQkFBQyxRQUFROzhFQXFGekQsVUFBVTtzQkFBN0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0csV0FBVztzQkFBL0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsU0FBUztzQkFBM0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ssWUFBWTtzQkFBakQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ3FCLE1BQU07c0JBQTlELGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUcxQyxhQUFhO3NCQUFyQixLQUFLO2dCQU1jLFVBQVU7c0JBQTdCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uUGxheWVyLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgZGVsYXksIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSwgU2l6ZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLXN3aXBlci9vYnNlcnZlLXNpemUnO1xuaW1wb3J0IHsgTGFzdFRvdWNoIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9sYXN0LXRvdWNoJztcbmltcG9ydCB7IFN0YXJ0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0YXJ0LXRvdWNoJztcbmltcG9ydCB7IEJzU3dpcGVEaXJlY3RpdmUgfSBmcm9tICcuLi9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZUNvbnRhaW5lcl0nLFxuICBleHBvcnRBczogJ2JzU3dpcGVDb250YWluZXInLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtCc09ic2VydmVTaXplRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSwgcHJpdmF0ZSBvYnNlcnZlU2l6ZTogQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLm9mZnNldCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXJ0VG91Y2gkLCB0aGlzLmxhc3RUb3VjaCQsIHRoaXMuaW1hZ2VJbmRleCQsIHRoaXMuaXNWaWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShtYXAoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIGltYWdlSW5kZXgsIGlzVmlld0luaXRlZF0pID0+IHtcbiAgICAgICAgaWYgKCFpc1ZpZXdJbml0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfSBlbHNlIGlmICghIXN0YXJ0VG91Y2ggJiYgISFsYXN0VG91Y2gpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwICsgKGxhc3RUb3VjaC5wb3NpdGlvbi54IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi54KSAvIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMTAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgICB0aGlzLnBhZExlZnQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzKSB7XG4gICAgICAgICAgaWYgKCFzLm9mZnNpZGUpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMucGFkUmlnaHQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzLnRvQXJyYXkoKS5yZXZlcnNlKCkpIHtcbiAgICAgICAgICBpZiAoIXMub2Zmc2lkZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0pKTtcblxuICAgIHRoaXMub2Zmc2V0TGVmdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldCQsIHRoaXMucGFkTGVmdCRdKVxuICAgICAgLnBpcGUobWFwKChbb2Zmc2V0LCBwYWRMZWZ0XSkgPT4gb2Zmc2V0IC0gcGFkTGVmdCAqIDEwMCkpO1xuICAgIHRoaXMub2Zmc2V0UmlnaHQkID0gY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXQkLCB0aGlzLnBhZExlZnQkLCB0aGlzLnBhZFJpZ2h0JF0pXG4gICAgICAucGlwZShtYXAoKFtvZmZzZXQsIHBhZExlZnQsIHBhZFJpZ2h0XSkgPT4gLShvZmZzZXQgLSBwYWRMZWZ0ICogMTAwKSAtIChwYWRSaWdodCAtIDEpICogMTAwKSk7XG4gICAgdGhpcy5vZmZzZXRMZWZ0JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShvZmZzZXRMZWZ0ID0+IHRoaXMub2Zmc2V0TGVmdCA9IG9mZnNldExlZnQpO1xuICAgIHRoaXMub2Zmc2V0UmlnaHQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKG9mZnNldFJpZ2h0ID0+IHRoaXMub2Zmc2V0UmlnaHQgPSBvZmZzZXRSaWdodCk7XG4gICAgdGhpcy5pbWFnZUluZGV4JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShpbWFnZUluZGV4ID0+IHRoaXMuaW1hZ2VJbmRleENoYW5nZS5lbWl0KGltYWdlSW5kZXgpKTtcblxuICAgIHRoaXMuYWN0dWFsU3dpcGVzJCA9IHRoaXMuc3dpcGVzJFxuICAgICAgLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmIChzd2lwZXMpIHtcbiAgICAgICAgICByZXR1cm4gc3dpcGVzLmZpbHRlcihzd2lwZSA9PiAhc3dpcGUub2Zmc2lkZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLnNsaWRlU2l6ZXMkID0gdGhpcy5hY3R1YWxTd2lwZXMkXG4gICAgICAucGlwZShkZWxheSg0MDApLCBmaWx0ZXIoc3dpcGVzID0+ICEhc3dpcGVzKSlcbiAgICAgIC5waXBlKG1lcmdlTWFwKHN3aXBlcyA9PiBjb21iaW5lTGF0ZXN0KHN3aXBlcy5tYXAoc3dpcGUgPT4gc3dpcGUub2JzZXJ2ZVNpemUuc2l6ZSQpKSkpO1xuXG4gICAgdGhpcy5jdXJyZW50U2xpZGVIZWlnaHQkID0gY29tYmluZUxhdGVzdChbdGhpcy5zbGlkZVNpemVzJCwgdGhpcy5pbWFnZUluZGV4JF0pXG4gICAgICAucGlwZShtYXAoKFtzbGlkZVNpemVzLCBpbWFnZUluZGV4XSkgPT4ge1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1heCguLi5zbGlkZVNpemVzLm1hcChzID0+IHM/LmhlaWdodCA/PyAxKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdtYXhIZWlnaHQnLCB7bWF4SGVpZ2h0LCBzbGlkZVNpemVzfSk7XG4gICAgICAgIGNvbnN0IGN1cnJIZWlnaHQ6IG51bWJlciA9IHNsaWRlU2l6ZXNbaW1hZ2VJbmRleF0/LmhlaWdodCA/PyBtYXhIZWlnaHQ7XG4gICAgICAgIC8vIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgLy8gICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgICAgIHJldHVybiBjdXJySGVpZ2h0O1xuICAgICAgICAvLyAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgLy8gICAgIHJldHVybiBtYXhIZWlnaHQ7XG4gICAgICAgIC8vIH1cbiAgICAgIH0pKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1sZWZ0LiUnKSBvZmZzZXRMZWZ0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tcmlnaHQuJScpIG9mZnNldFJpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tdG9wLiUnKSBvZmZzZXRUb3A6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1ib3R0b20uJScpIG9mZnNldEJvdHRvbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc1N3aXBlRGlyZWN0aXZlKSkgc2V0IHN3aXBlcyh2YWx1ZTogUXVlcnlMaXN0PEJzU3dpcGVEaXJlY3RpdmU+KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnN3aXBlcyQubmV4dCh2YWx1ZSkpO1xuICB9XG4gIEBJbnB1dCgpIG1pbmltdW1PZmZzZXQgPSA1MDtcblxuICAvLyNyZWdpb24gSW1hZ2VJbmRleFxuICBwdWJsaWMgZ2V0IGltYWdlSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VJbmRleCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpbWFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodmFsdWUpO1xuICB9XG4gIEBPdXRwdXQoKSBpbWFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIC8vI2VuZHJlZ2lvblxuICBcbiAgYWN0dWFsU3dpcGVzJDogT2JzZXJ2YWJsZTxCc1N3aXBlRGlyZWN0aXZlW10+O1xuICBpc1ZpZXdJbml0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHN0YXJ0VG91Y2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGFydFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIGxhc3RUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExhc3RUb3VjaCB8IG51bGw+KG51bGwpO1xuICBzd2lwZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4gfCBudWxsPihudWxsKTtcbiAgLy8gVE9ETzogc2xpZGUgc2l6ZXMgaW5zdGVhZFxuICBzbGlkZVNpemVzJDogT2JzZXJ2YWJsZTwoU2l6ZSB8IHVuZGVmaW5lZClbXT47XG4gIGltYWdlSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBjdXJyZW50U2xpZGVIZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBlbmRpbmdBbmltYXRpb24/OiBBbmltYXRpb25QbGF5ZXI7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgLy8gVE9ETzogRG9uJ3QganVzdCBrZWVwIHB4LCBidXQgYm90aCBweCBhbmQgJSB1c2luZyBjdXJyZW50c2xpZGVzaXplJFxuICBvZmZzZXQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIG9mZnNldExlZnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIG9mZnNldFJpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwYWRMZWZ0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwYWRSaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pc1ZpZXdJbml0ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBhbmltYXRlVG9JbmRleEJ5RHgoZHg6IG51bWJlcikge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuaW1hZ2VJbmRleCQsIHRoaXMuYWN0dWFsU3dpcGVzJF0pLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtpbWFnZUluZGV4LCBhY3R1YWxTd2lwZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGR4ID4gMCA/ICdsZWZ0JyA6ICdyaWdodCc7XG4gICAgICBcbiAgICAgICAgbGV0IG5ld0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmIChNYXRoLmFicyhkeCkgPCB0aGlzLm1pbmltdW1PZmZzZXQpIHtcbiAgICAgICAgICBuZXdJbmRleCA9IGltYWdlSW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbWFnZUluZGV4ICsgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/IDEgOiAtMSk7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIHRoaXMuYW5pbWF0ZVRvSW5kZXgoaW1hZ2VJbmRleCwgbmV3SW5kZXgsIGR4LCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0ZVRvSW5kZXgob2xkSW5kZXg6IG51bWJlciwgbmV3SW5kZXg6IG51bWJlciwgZHg6IG51bWJlciwgdG90YWxTbGlkZXM6IG51bWJlcikge1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQnVpbGRlci5idWlsZChbXG4gICAgICBzdHlsZSh7ICdtYXJnaW4tbGVmdCc6ICgtKG9sZEluZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCArIGR4KSArICdweCcsICdtYXJnaW4tcmlnaHQnOiAoKG9sZEluZGV4ICsgMSkgKiB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtIGR4KSArICdweCcgfSksXG4gICAgICBhbmltYXRlKCc1MDBtcyBlYXNlJywgc3R5bGUoeyAnbWFyZ2luLWxlZnQnOiAoLShuZXdJbmRleCArIDEpICogdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpICsgJ3B4JywgJ21hcmdpbi1yaWdodCc6ICgobmV3SW5kZXggKyAxKSAqIHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSArICdweCcgfSkpLFxuICAgIF0pLmNyZWF0ZSh0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uLm9uRG9uZSgoKSA9PiB7XG4gICAgICAvLyBDb3JyZWN0IHRoZSBpbWFnZSBpbmRleFxuICAgICAgaWYgKG5ld0luZGV4ID09PSAtMSkge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodG90YWxTbGlkZXMgLSAxKTtcbiAgICAgIH0gZWxzZSBpZiAobmV3SW5kZXggPT09IHRvdGFsU2xpZGVzKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCgwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dChuZXdJbmRleCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXJ0VG91Y2gkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmxhc3RUb3VjaCQubmV4dChudWxsKTtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbj8uZGVzdHJveSgpO1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbi5wbGF5KCk7XG4gIH1cblxuICBvblN3aXBlKGR4OiBudW1iZXIpIHtcbiAgICB0aGlzLmFuaW1hdGVUb0luZGV4QnlEeChkeCk7XG4gIH1cblxuICBwcmV2aW91cygpIHtcbiAgICB0aGlzLmdvdG9BbmltYXRlKC0xLCAncmVsYXRpdmUnKTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgdGhpcy5nb3RvQW5pbWF0ZSgxLCAncmVsYXRpdmUnKTtcbiAgfVxuXG4gIGdvdG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZ290b0FuaW1hdGUoaW5kZXgsICdhYnNvbHV0ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvQW5pbWF0ZShpbmRleDogbnVtYmVyLCB0eXBlOiAnYWJzb2x1dGUnIHwgJ3JlbGF0aXZlJykge1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbj8uZmluaXNoKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmFjdHVhbFN3aXBlcyQsIHRoaXMuaW1hZ2VJbmRleCRdKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoW2FjdHVhbFN3aXBlcywgaW1hZ2VJbmRleF0pID0+IHtcbiAgICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICAgICAgY29uc3QgaWR4ID0gKHR5cGUgPT09ICdyZWxhdGl2ZScpID8gaW1hZ2VJbmRleCArIGluZGV4IDogaW5kZXg7XG4gICAgICAgIHRoaXMuYW5pbWF0ZVRvSW5kZXgoaW1hZ2VJbmRleCwgaWR4LCAwLCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKTtcbiAgICAgIH0pO1xuICAgIH0sIDIwKTtcbiAgfVxuXG59XG4iXX0=","import { Directive, HostBinding, HostListener, Input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { combineLatest, filter, take } from \"rxjs\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../swipe-container/swipe-container.directive\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeDirective {\n container;\n constructor(container, observeSize) {\n this.container = container;\n this.observeSize = observeSize;\n // container.orientation$.pipe(takeUntilDestroyed())\n // .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');\n }\n observeSize;\n //#region Offside\n offside = false;\n //#endregion\n classes = true;\n hostClass;\n onTouchStart(ev) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n onTouchMove(ev) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n onTouchEnd(ev) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1))\n .subscribe(([startTouch, lastTouch]) => {\n if (!!startTouch && !!lastTouch) {\n const dx = lastTouch.position.x - startTouch.position.x;\n this.container.onSwipe(dx);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: BsSwipeDirective, isStandalone: false, 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 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwipeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective],\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i1.BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }], propDecorators: { offside: [{\n type: Input\n }], classes: [{\n type: HostBinding,\n args: ['class.align-top']\n }, {\n type: HostBinding,\n args: ['class.d-inline-block']\n }, {\n type: HostBinding,\n args: ['class.float-none']\n }, {\n type: HostBinding,\n args: ['class.w-100']\n }, {\n type: HostBinding,\n args: ['class.pe-auto']\n }, {\n type: HostBinding,\n args: ['class.me-0']\n }], hostClass: [{\n type: HostBinding,\n args: ['class']\n }], onTouchStart: [{\n type: HostListener,\n args: ['touchstart', ['$event']]\n }], onTouchMove: [{\n type: HostListener,\n args: ['touchmove', ['$event']]\n }], onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvc3JjL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBUW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFUDtJQUFwQixZQUFvQixTQUFvQyxFQUFFLFdBQW1DO1FBQXpFLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLG9EQUFvRDtRQUNwRCw2R0FBNkc7SUFDL0csQ0FBQztJQUVELFdBQVcsQ0FBeUI7SUFFcEMsaUJBQWlCO0lBQ0QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQyxZQUFZO0lBUVosT0FBTyxHQUFHLElBQUksQ0FBQztJQUVPLFNBQVMsQ0FBVTtJQUd6QyxZQUFZLENBQUMsRUFBYztRQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBRTFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUM5QixRQUFRLEVBQUU7d0JBQ1IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzt3QkFDeEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztxQkFDekI7b0JBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQzdCLFFBQVEsRUFBRTt3QkFDUixDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO3dCQUN4QixDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFHRCxXQUFXLENBQUMsRUFBYztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDN0IsUUFBUSxFQUFFO2dCQUNSLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87YUFDekI7WUFDRCxVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsVUFBVSxDQUFDLEVBQWM7UUFDdkIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQXZFVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsY0FBYyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3hDLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjttSUFZaUIsT0FBTztzQkFBdEIsS0FBSztnQkFTTixPQUFPO3NCQU5OLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsV0FBVzt1QkFBQyxzQkFBc0I7O3NCQUNsQyxXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLFdBQVc7dUJBQUMsWUFBWTtnQkFHSCxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBR3BCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMEJ0QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlyQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCc09ic2VydmVTaXplRGlyZWN0aXZlIH0gZnJvbSBcIkBtaW50cGxheWVyL25nLXN3aXBlci9vYnNlcnZlLXNpemVcIjtcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgdGFrZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSBcIi4uL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1N3aXBlXScsXG4gIGhvc3REaXJlY3RpdmVzOiBbQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lcjogQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSwgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUpIHtcbiAgICB0aGlzLm9ic2VydmVTaXplID0gb2JzZXJ2ZVNpemU7XG4gICAgLy8gY29udGFpbmVyLm9yaWVudGF0aW9uJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgIC8vICAgLnN1YnNjcmliZShvcmllbnRhdGlvbiA9PiB0aGlzLmhvc3RDbGFzcyA9IChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJykgPyAnZC1ibG9jaycgOiAnZC1pbmxpbmUtYmxvY2snKTtcbiAgfVxuXG4gIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlO1xuXG4gIC8vI3JlZ2lvbiBPZmZzaWRlXG4gIEBJbnB1dCgpIHB1YmxpYyBvZmZzaWRlID0gZmFsc2U7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWxpZ24tdG9wJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWlubGluZS1ibG9jaycpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXQtbm9uZScpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBlLWF1dG8nKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lLTAnKVxuICBjbGFzc2VzID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgaG9zdENsYXNzPzogc3RyaW5nO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBvblRvdWNoU3RhcnQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoZXYudG91Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLnN0YXJ0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sIDIwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNoTW92ZShldjogVG91Y2hFdmVudCkge1xuICAgIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQubmV4dCh7XG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgIH0sXG4gICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICBvblRvdWNoRW5kKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb250YWluZXIuc3RhcnRUb3VjaCQsIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4gISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4ge1xuICAgICAgICBpZiAoISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSB7XG4gICAgICAgICAgY29uc3QgZHggPSBsYXN0VG91Y2gucG9zaXRpb24ueCAtIHN0YXJ0VG91Y2gucG9zaXRpb24ueDtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lci5vblN3aXBlKGR4KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\nimport * as i0 from \"@angular/core\";\nexport class BsSwiperModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: BsSwiperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBSFYsZ0JBQWdCLEVBQUUseUJBQXlCLGFBRGhELFlBQVksYUFFWixnQkFBZ0IsRUFBRSx5QkFBeUI7d0dBRTFDLGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvbWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-swiper-swiper.mjs","sources":["../tmp-esm2022/swiper/src/directives/swipe-container/swipe-container.directive.js","../tmp-esm2022/swiper/src/directives/swipe/swipe.directive.js","../tmp-esm2022/swiper/src/swiper.module.js","../tmp-esm2022/swiper/mintplayer-ng-swiper-swiper.js"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { animate, style } from '@angular/animations';\nimport { ContentChildren, Directive, EventEmitter, forwardRef, HostBinding, Inject, Input, Output } from '@angular/core';\nimport { BehaviorSubject, combineLatest, debounceTime, delay, distinctUntilChanged, filter, map, mergeMap, take } from 'rxjs';\nimport { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/animations\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeContainerDirective {\n animationBuilder;\n destroy;\n observeSize;\n constructor(element, animationBuilder, destroy, document, observeSize) {\n this.animationBuilder = animationBuilder;\n this.destroy = destroy;\n this.observeSize = observeSize;\n this.containerElement = element;\n this.document = document;\n this.offset$ = combineLatest([\n this.startTouch$,\n this.lastTouch$,\n this.imageIndex$,\n this.isViewInited$,\n this.orientation$,\n this.observeSize.size$,\n ])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited, orientation, containerSize]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n }\n else if (!!startTouch && !!lastTouch) {\n const containerLength = orientation === 'horizontal'\n ? (containerSize?.width ?? this.containerElement.nativeElement.clientWidth)\n : (containerSize?.height ?? this.containerElement.nativeElement.clientHeight);\n if (containerLength === 0) {\n return (-imageIndex * 100);\n }\n const delta = orientation === 'horizontal'\n ? (lastTouch.position.x - startTouch.position.x)\n : (lastTouch.position.y - startTouch.position.y);\n return (-imageIndex * 100 + (delta / containerLength) * 100);\n }\n else {\n return (-imageIndex * 100);\n }\n }));\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes) {\n if (!s.offside()) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside()) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.offsetPrimary$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetSecondary$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n combineLatest([this.offsetPrimary$, this.orientation$])\n .pipe(takeUntilDestroyed())\n .subscribe(([offsetPrimary, orientation]) => {\n if (orientation === 'horizontal') {\n this.offsetLeft = offsetPrimary;\n this.offsetTop = null;\n }\n else {\n this.offsetTop = offsetPrimary;\n this.offsetLeft = null;\n }\n });\n combineLatest([this.offsetSecondary$, this.orientation$])\n .pipe(takeUntilDestroyed())\n .subscribe(([offsetSecondary, orientation]) => {\n if (orientation === 'horizontal') {\n this.offsetRight = offsetSecondary;\n this.offsetBottom = null;\n }\n else {\n this.offsetBottom = offsetSecondary;\n this.offsetRight = null;\n }\n });\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside());\n }\n else {\n return [];\n }\n }));\n this.slideSizes$ = this.actualSwipes$\n .pipe(delay(400), filter(swipes => !!swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));\n this.maxSlideHeight$ = this.slideSizes$\n .pipe(map(slideSizes => {\n const heights = slideSizes.map(s => s?.height ?? 1);\n return heights.length ? Math.max(...heights) : 1;\n }));\n this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$, this.orientation$])\n .pipe(map(([slideSizes, imageIndex, orientation]) => {\n const heights = slideSizes.map(s => s?.height ?? 1);\n const maxHeight = heights.length ? Math.max(...heights) : 1;\n const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;\n return (orientation === 'vertical') ? maxHeight : currHeight;\n }))\n .pipe(debounceTime(10));\n this.orientation$\n .pipe(distinctUntilChanged(), takeUntilDestroyed())\n .subscribe(() => {\n this.offsetLeft = null;\n this.offsetRight = null;\n this.offsetTop = null;\n this.offsetBottom = null;\n });\n }\n offsetLeft = null;\n offsetRight = null;\n offsetTop = null;\n offsetBottom = null;\n set swipes(value) {\n setTimeout(() => this.swipes$.next(value));\n }\n minimumOffset = 50;\n get orientation() {\n return this.orientation$.value;\n }\n set orientation(value) {\n this.orientation$.next(value ?? 'horizontal');\n }\n //#region ImageIndex\n get imageIndex() {\n return this.imageIndex$.value;\n }\n set imageIndex(value) {\n this.imageIndex$.next(value);\n }\n imageIndexChange = new EventEmitter();\n //#endregion\n actualSwipes$;\n isViewInited$ = new BehaviorSubject(false);\n startTouch$ = new BehaviorSubject(null);\n lastTouch$ = new BehaviorSubject(null);\n swipes$ = new BehaviorSubject(null);\n // TODO: slide sizes instead\n slideSizes$;\n maxSlideHeight$;\n imageIndex$ = new BehaviorSubject(0);\n currentSlideHeight$;\n pendingAnimation;\n containerElement;\n document;\n // TODO: Don't just keep px, but both px and % using currentslidesize$\n offset$;\n offsetPrimary$;\n offsetSecondary$;\n padLeft$;\n padRight$;\n orientation$ = new BehaviorSubject('horizontal');\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n animateToIndexByDx(distance) {\n combineLatest([this.imageIndex$, this.actualSwipes$])\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([imageIndex, actualSwipes]) => {\n let newIndex;\n if (Math.abs(distance) < this.minimumOffset) {\n newIndex = imageIndex;\n }\n else {\n newIndex = imageIndex + (distance < 0 ? 1 : -1);\n }\n this.animateToIndex(imageIndex, newIndex, distance, actualSwipes?.length ?? 1);\n });\n }\n animateToIndex(oldIndex, newIndex, distance, totalSlides) {\n const orientation = this.orientation$.value;\n const containerElement = this.containerElement.nativeElement;\n const containerLength = orientation === 'horizontal' ? containerElement.clientWidth : containerElement.clientHeight;\n if (orientation === 'horizontal') {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-left': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-right': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-left': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-right': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n }\n else {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-top': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-bottom': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-top': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-bottom': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n }\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n }\n else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n }\n else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n onSwipe(distance) {\n this.animateToIndexByDx(distance);\n }\n previous() {\n this.gotoAnimate(-1, 'relative');\n }\n next() {\n this.gotoAnimate(1, 'relative');\n }\n goto(index) {\n this.gotoAnimate(index, 'absolute');\n }\n gotoAnimate(index, type) {\n this.pendingAnimation?.finish();\n setTimeout(() => {\n combineLatest([this.actualSwipes$, this.imageIndex$])\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([actualSwipes, imageIndex]) => {\n this.pendingAnimation?.finish();\n const idx = (type === 'relative') ? imageIndex + index : index;\n this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);\n });\n }, 20);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: i0.DestroyRef }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BsSwipeContainerDirective, isStandalone: false, selector: \"[bsSwipeContainer]\", inputs: { minimumOffset: \"minimumOffset\", orientation: \"orientation\", 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 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer',\n standalone: false,\n hostDirectives: [BsObserveSizeDirective],\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: i0.DestroyRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{\n type: HostBinding,\n args: ['style.margin-left.%']\n }], offsetRight: [{\n type: HostBinding,\n args: ['style.margin-right.%']\n }], offsetTop: [{\n type: HostBinding,\n args: ['style.margin-top.%']\n }], offsetBottom: [{\n type: HostBinding,\n args: ['style.margin-bottom.%']\n }], swipes: [{\n type: ContentChildren,\n args: [forwardRef(() => BsSwipeDirective)]\n }], minimumOffset: [{\n type: Input\n }], orientation: [{\n type: Input\n }], imageIndex: [{\n type: Input\n }], imageIndexChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFxQyxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RixPQUFPLEVBQWlCLGVBQWUsRUFBYyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0ssT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUksT0FBTyxFQUFFLHNCQUFzQixFQUFRLE1BQU0sb0NBQW9DLENBQUM7QUFHbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFRNUQsTUFBTSxPQUFPLHlCQUF5QjtJQUVLO0lBQTRDO0lBQThEO0lBQW5KLFlBQVksT0FBbUIsRUFBVSxnQkFBa0MsRUFBVSxPQUFtQixFQUFvQixRQUFhLEVBQVUsV0FBbUM7UUFBN0kscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBMkMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ3BMLElBQUksQ0FBQyxnQkFBZ0Is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a0JBQWtCO29CQUM1QixVQUFVLEVBQUUsS0FBSztvQkFDakIsY0FBYyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3pDOzswQkFHNEcsTUFBTTsyQkFBQyxRQUFROzhFQWlJdEYsVUFBVTtzQkFBN0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0csV0FBVztzQkFBL0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsU0FBUztzQkFBM0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ssWUFBWTtzQkFBakQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ3FCLE1BQU07c0JBQTlELGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUcxQyxhQUFhO3NCQUFyQixLQUFLO2dCQUtjLFdBQVc7c0JBQTlCLEtBQUs7Z0JBUWMsVUFBVTtzQkFBN0IsS0FBSztnQkFHSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25CdWlsZGVyLCBBbmltYXRpb25QbGF5ZXIsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSwgU2l6ZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLXN3aXBlci9vYnNlcnZlLXNpemUnO1xuaW1wb3J0IHsgTGFzdFRvdWNoIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9sYXN0LXRvdWNoJztcbmltcG9ydCB7IFN0YXJ0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0YXJ0LXRvdWNoJztcbmltcG9ydCB7IEJzU3dpcGVEaXJlY3RpdmUgfSBmcm9tICcuLi9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZUNvbnRhaW5lcl0nLFxuICBleHBvcnRBczogJ2JzU3dpcGVDb250YWluZXInLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtCc09ic2VydmVTaXplRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgcHJpdmF0ZSBkZXN0cm95OiBEZXN0cm95UmVmLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBwcml2YXRlIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLmRvY3VtZW50ID0gPERvY3VtZW50PmRvY3VtZW50O1xuICAgIHRoaXMub2Zmc2V0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdGFydFRvdWNoJCxcbiAgICAgIHRoaXMubGFzdFRvdWNoJCxcbiAgICAgIHRoaXMuaW1hZ2VJbmRleCQsXG4gICAgICB0aGlzLmlzVmlld0luaXRlZCQsXG4gICAgICB0aGlzLm9yaWVudGF0aW9uJCxcbiAgICAgIHRoaXMub2JzZXJ2ZVNpemUuc2l6ZSQsXG4gICAgXSlcbiAgICAgIC5waXBlKG1hcCgoW3N0YXJ0VG91Y2gsIGxhc3RUb3VjaCwgaW1hZ2VJbmRleCwgaXNWaWV3SW5pdGVkLCBvcmllbnRhdGlvbiwgY29udGFpbmVyU2l6ZV0pID0+IHtcbiAgICAgICAgaWYgKCFpc1ZpZXdJbml0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfSBlbHNlIGlmICghIXN0YXJ0VG91Y2ggJiYgISFsYXN0VG91Y2gpIHtcbiAgICAgICAgICBjb25zdCBjb250YWluZXJMZW5ndGggPSBvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICAgICAgICA/IChjb250YWluZXJTaXplPy53aWR0aCA/PyB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAgICAgICAgIDogKGNvbnRhaW5lclNpemU/LmhlaWdodCA/PyB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQpO1xuICAgICAgICAgIGlmIChjb250YWluZXJMZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBkZWx0YSA9IG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgICAgID8gKGxhc3RUb3VjaC5wb3NpdGlvbi54IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi54KVxuICAgICAgICAgICAgOiAobGFzdFRvdWNoLnBvc2l0aW9uLnkgLSBzdGFydFRvdWNoLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDAgKyAoZGVsdGEgLyBjb250YWluZXJMZW5ndGgpICogMTAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKC1pbWFnZUluZGV4ICogMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy5wYWRMZWZ0JCA9IHRoaXMuc3dpcGVzJC5waXBlKG1hcChzd2lwZXMgPT4ge1xuICAgICAgaWYgKCFzd2lwZXMpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzKSB7XG4gICAgICAgIGlmICghcy5vZmZzaWRlKCkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3VudCsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gY291bnQ7XG4gICAgfSkpO1xuXG4gICAgdGhpcy5wYWRSaWdodCQgPSB0aGlzLnN3aXBlcyQucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgIGlmICghc3dpcGVzKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgZm9yIChjb25zdCBzIG9mIHN3aXBlcy50b0FycmF5KCkucmV2ZXJzZSgpKSB7XG4gICAgICAgIGlmICghcy5vZmZzaWRlKCkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3VudCsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gY291bnQ7XG4gICAgfSkpO1xuXG4gICAgdGhpcy5vZmZzZXRQcmltYXJ5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0JCwgdGhpcy5wYWRMZWZ0JF0pXG4gICAgICAucGlwZShtYXAoKFtvZmZzZXQsIHBhZExlZnRdKSA9PiBvZmZzZXQgLSBwYWRMZWZ0ICogMTAwKSk7XG4gICAgdGhpcy5vZmZzZXRTZWNvbmRhcnkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXQkLCB0aGlzLnBhZExlZnQkLCB0aGlzLnBhZFJpZ2h0JF0pXG4gICAgICAucGlwZShtYXAoKFtvZmZzZXQsIHBhZExlZnQsIHBhZFJpZ2h0XSkgPT4gLShvZmZzZXQgLSBwYWRMZWZ0ICogMTAwKSAtIChwYWRSaWdodCAtIDEpICogMTAwKSk7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXRQcmltYXJ5JCwgdGhpcy5vcmllbnRhdGlvbiRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChbb2Zmc2V0UHJpbWFyeSwgb3JpZW50YXRpb25dKSA9PiB7XG4gICAgICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgdGhpcy5vZmZzZXRMZWZ0ID0gb2Zmc2V0UHJpbWFyeTtcbiAgICAgICAgICB0aGlzLm9mZnNldFRvcCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vZmZzZXRUb3AgPSBvZmZzZXRQcmltYXJ5O1xuICAgICAgICAgIHRoaXMub2Zmc2V0TGVmdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0U2Vjb25kYXJ5JCwgdGhpcy5vcmllbnRhdGlvbiRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChbb2Zmc2V0U2Vjb25kYXJ5LCBvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICB0aGlzLm9mZnNldFJpZ2h0ID0gb2Zmc2V0U2Vjb25kYXJ5O1xuICAgICAgICAgIHRoaXMub2Zmc2V0Qm90dG9tID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9mZnNldEJvdHRvbSA9IG9mZnNldFNlY29uZGFyeTtcbiAgICAgICAgICB0aGlzLm9mZnNldFJpZ2h0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy5pbWFnZUluZGV4JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShpbWFnZUluZGV4ID0+IHRoaXMuaW1hZ2VJbmRleENoYW5nZS5lbWl0KGltYWdlSW5kZXgpKTtcblxuICAgIHRoaXMuYWN0dWFsU3dpcGVzJCA9IHRoaXMuc3dpcGVzJFxuICAgICAgLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICAgIGlmIChzd2lwZXMpIHtcbiAgICAgICAgICByZXR1cm4gc3dpcGVzLmZpbHRlcihzd2lwZSA9PiAhc3dpcGUub2Zmc2lkZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIHRoaXMuc2xpZGVTaXplcyQgPSB0aGlzLmFjdHVhbFN3aXBlcyRcbiAgICAgIC5waXBlKGRlbGF5KDQwMCksIGZpbHRlcihzd2lwZXMgPT4gISFzd2lwZXMpKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoc3dpcGVzID0+IGNvbWJpbmVMYXRlc3Qoc3dpcGVzLm1hcChzd2lwZSA9PiBzd2lwZS5vYnNlcnZlU2l6ZS5zaXplJCkpKSk7XG5cbiAgICB0aGlzLm1heFNsaWRlSGVpZ2h0JCA9IHRoaXMuc2xpZGVTaXplcyRcbiAgICAgIC5waXBlKG1hcChzbGlkZVNpemVzID0+IHtcbiAgICAgICAgY29uc3QgaGVpZ2h0cyA9IHNsaWRlU2l6ZXMubWFwKHMgPT4gcz8uaGVpZ2h0ID8/IDEpO1xuICAgICAgICByZXR1cm4gaGVpZ2h0cy5sZW5ndGggPyBNYXRoLm1heCguLi5oZWlnaHRzKSA6IDE7XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLmN1cnJlbnRTbGlkZUhlaWdodCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNsaWRlU2l6ZXMkLCB0aGlzLmltYWdlSW5kZXgkLCB0aGlzLm9yaWVudGF0aW9uJF0pXG4gICAgICAucGlwZShtYXAoKFtzbGlkZVNpemVzLCBpbWFnZUluZGV4LCBvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgY29uc3QgaGVpZ2h0cyA9IHNsaWRlU2l6ZXMubWFwKHMgPT4gcz8uaGVpZ2h0ID8/IDEpO1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBoZWlnaHRzLmxlbmd0aCA/IE1hdGgubWF4KC4uLmhlaWdodHMpIDogMTtcbiAgICAgICAgY29uc3QgY3VyckhlaWdodDogbnVtYmVyID0gc2xpZGVTaXplc1tpbWFnZUluZGV4XT8uaGVpZ2h0ID8/IG1heEhlaWdodDtcbiAgICAgICAgcmV0dXJuIChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJykgPyBtYXhIZWlnaHQgOiBjdXJySGVpZ2h0O1xuICAgICAgfSkpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKTtcblxuICAgIHRoaXMub3JpZW50YXRpb24kXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9mZnNldExlZnQgPSBudWxsO1xuICAgICAgICB0aGlzLm9mZnNldFJpZ2h0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5vZmZzZXRUb3AgPSBudWxsO1xuICAgICAgICB0aGlzLm9mZnNldEJvdHRvbSA9IG51bGw7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWxlZnQuJScpIG9mZnNldExlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1yaWdodC4lJykgb2Zmc2V0UmlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi10b3AuJScpIG9mZnNldFRvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWJvdHRvbS4lJykgb2Zmc2V0Qm90dG9tOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEJzU3dpcGVEaXJlY3RpdmUpKSBzZXQgc3dpcGVzKHZhbHVlOiBRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc3dpcGVzJC5uZXh0KHZhbHVlKSk7XG4gIH1cbiAgQElucHV0KCkgbWluaW11bU9mZnNldCA9IDUwO1xuXG4gIHB1YmxpYyBnZXQgb3JpZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24kLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgb3JpZW50YXRpb24odmFsdWU6ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcpIHtcbiAgICB0aGlzLm9yaWVudGF0aW9uJC5uZXh0KHZhbHVlID8/ICdob3Jpem9udGFsJyk7XG4gIH1cblxuICAvLyNyZWdpb24gSW1hZ2VJbmRleFxuICBwdWJsaWMgZ2V0IGltYWdlSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VJbmRleCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpbWFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodmFsdWUpO1xuICB9XG4gIEBPdXRwdXQoKSBpbWFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIC8vI2VuZHJlZ2lvblxuICBcbiAgYWN0dWFsU3dpcGVzJDogT2JzZXJ2YWJsZTxCc1N3aXBlRGlyZWN0aXZlW10+O1xuICBpc1ZpZXdJbml0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHN0YXJ0VG91Y2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGFydFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIGxhc3RUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExhc3RUb3VjaCB8IG51bGw+KG51bGwpO1xuICBzd2lwZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNTd2lwZURpcmVjdGl2ZT4gfCBudWxsPihudWxsKTtcbiAgLy8gVE9ETzogc2xpZGUgc2l6ZXMgaW5zdGVhZFxuICBzbGlkZVNpemVzJDogT2JzZXJ2YWJsZTwoU2l6ZSB8IHVuZGVmaW5lZClbXT47XG4gIG1heFNsaWRlSGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBpbWFnZUluZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgY3VycmVudFNsaWRlSGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwZW5kaW5nQW5pbWF0aW9uPzogQW5pbWF0aW9uUGxheWVyO1xuICBjb250YWluZXJFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIC8vIFRPRE86IERvbid0IGp1c3Qga2VlcCBweCwgYnV0IGJvdGggcHggYW5kICUgdXNpbmcgY3VycmVudHNsaWRlc2l6ZSRcbiAgb2Zmc2V0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRQcmltYXJ5JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBvZmZzZXRTZWNvbmRhcnkkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBhZExlZnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBhZFJpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIG9yaWVudGF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ2hvcml6b250YWwnKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pc1ZpZXdJbml0ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBhbmltYXRlVG9JbmRleEJ5RHgoZGlzdGFuY2U6IG51bWJlcikge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuaW1hZ2VJbmRleCQsIHRoaXMuYWN0dWFsU3dpcGVzJF0pXG4gICAgICAucGlwZSh0YWtlKDEpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKFtpbWFnZUluZGV4LCBhY3R1YWxTd2lwZXNdKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleDogbnVtYmVyO1xuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2UpIDwgdGhpcy5taW5pbXVtT2Zmc2V0KSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbWFnZUluZGV4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0luZGV4ID0gaW1hZ2VJbmRleCArIChkaXN0YW5jZSA8IDAgPyAxIDogLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbmltYXRlVG9JbmRleChpbWFnZUluZGV4LCBuZXdJbmRleCwgZGlzdGFuY2UsIGFjdHVhbFN3aXBlcz8ubGVuZ3RoID8/IDEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhbmltYXRlVG9JbmRleChvbGRJbmRleDogbnVtYmVyLCBuZXdJbmRleDogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCB0b3RhbFNsaWRlczogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3JpZW50YXRpb24gPSB0aGlzLm9yaWVudGF0aW9uJC52YWx1ZTtcbiAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29udGFpbmVyTGVuZ3RoID0gb3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/IGNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGggOiBjb250YWluZXJFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIuYnVpbGQoW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgJ21hcmdpbi1sZWZ0JzogKC0ob2xkSW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCArIGRpc3RhbmNlKSArICdweCcsXG4gICAgICAgICAgJ21hcmdpbi1yaWdodCc6ICgob2xkSW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCAtIGRpc3RhbmNlKSArICdweCcsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlJywgc3R5bGUoe1xuICAgICAgICAgICdtYXJnaW4tbGVmdCc6ICgtKG5ld0luZGV4ICsgMSkgKiBjb250YWluZXJMZW5ndGgpICsgJ3B4JyxcbiAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogKChuZXdJbmRleCArIDEpICogY29udGFpbmVyTGVuZ3RoKSArICdweCcsXG4gICAgICAgIH0pKSxcbiAgICAgIF0pLmNyZWF0ZShjb250YWluZXJFbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25CdWlsZGVyLmJ1aWxkKFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICdtYXJnaW4tdG9wJzogKC0ob2xkSW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCArIGRpc3RhbmNlKSArICdweCcsXG4gICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAoKG9sZEluZGV4ICsgMSkgKiBjb250YWluZXJMZW5ndGggLSBkaXN0YW5jZSkgKyAncHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZScsIHN0eWxlKHtcbiAgICAgICAgICAnbWFyZ2luLXRvcCc6ICgtKG5ld0luZGV4ICsgMSkgKiBjb250YWluZXJMZW5ndGgpICsgJ3B4JyxcbiAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICgobmV3SW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCkgKyAncHgnLFxuICAgICAgICB9KSksXG4gICAgICBdKS5jcmVhdGUoY29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbi5vbkRvbmUoKCkgPT4ge1xuICAgICAgLy8gQ29ycmVjdCB0aGUgaW1hZ2UgaW5kZXhcbiAgICAgIGlmIChuZXdJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhpcy5pbWFnZUluZGV4JC5uZXh0KHRvdGFsU2xpZGVzIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKG5ld0luZGV4ID09PSB0b3RhbFNsaWRlcykge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQoMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQobmV3SW5kZXgpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdGFydFRvdWNoJC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5sYXN0VG91Y2gkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmRlc3Ryb3koKTtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24ucGxheSgpO1xuICB9XG5cbiAgb25Td2lwZShkaXN0YW5jZTogbnVtYmVyKSB7XG4gICAgdGhpcy5hbmltYXRlVG9JbmRleEJ5RHgoZGlzdGFuY2UpO1xuICB9XG5cbiAgcHJldmlvdXMoKSB7XG4gICAgdGhpcy5nb3RvQW5pbWF0ZSgtMSwgJ3JlbGF0aXZlJyk7XG4gIH1cblxuICBuZXh0KCkge1xuICAgIHRoaXMuZ290b0FuaW1hdGUoMSwgJ3JlbGF0aXZlJyk7XG4gIH1cblxuICBnb3RvKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmdvdG9BbmltYXRlKGluZGV4LCAnYWJzb2x1dGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ290b0FuaW1hdGUoaW5kZXg6IG51bWJlciwgdHlwZTogJ2Fic29sdXRlJyB8ICdyZWxhdGl2ZScpIHtcbiAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5hY3R1YWxTd2lwZXMkLCB0aGlzLmltYWdlSW5kZXgkXSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFthY3R1YWxTd2lwZXMsIGltYWdlSW5kZXhdKSA9PiB7XG4gICAgICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcbiAgICAgICAgICBjb25zdCBpZHggPSAodHlwZSA9PT0gJ3JlbGF0aXZlJykgPyBpbWFnZUluZGV4ICsgaW5kZXggOiBpbmRleDtcbiAgICAgICAgICB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIGlkeCwgMCwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSk7XG4gICAgICAgIH0pO1xuICAgIH0sIDIwKTtcbiAgfVxuXG59XG4iXX0=","import { Directive, HostBinding, HostListener, input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { combineLatest, filter, take } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../swipe-container/swipe-container.directive\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeDirective {\n container;\n destroy;\n constructor(container, observeSize, destroy) {\n this.container = container;\n this.destroy = destroy;\n this.observeSize = observeSize;\n this.container.orientation$\n .pipe(takeUntilDestroyed())\n .subscribe(orientation => {\n this.inlineBlock = (orientation === 'horizontal');\n this.block = (orientation === 'vertical');\n });\n }\n observeSize;\n offside = input(false, ...(ngDevMode ? [{ debugName: \"offside\" }] : []));\n classes = true;\n inlineBlock = true;\n block = false;\n onTouchStart(ev) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n onTouchMove(ev) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n onTouchEnd(ev) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$, this.container.orientation$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([startTouch, lastTouch, orientation]) => {\n if (!!startTouch && !!lastTouch) {\n const distance = (orientation === 'horizontal')\n ? lastTouch.position.x - startTouch.position.x\n : lastTouch.position.y - startTouch.position.y;\n this.container.onSwipe(distance);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.7\", type: BsSwipeDirective, isStandalone: false, selector: \"[bsSwipe]\", inputs: { offside: { classPropertyName: \"offside\", publicName: \"offside\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"touchstart\": \"onTouchStart($event)\", \"touchmove\": \"onTouchMove($event)\", \"touchend\": \"onTouchEnd($event)\" }, properties: { \"class.align-top\": \"this.classes\", \"class.float-none\": \"this.classes\", \"class.w-100\": \"this.classes\", \"class.pe-auto\": \"this.classes\", \"class.me-0\": \"this.classes\", \"class.d-inline-block\": \"this.inlineBlock\", \"class.d-block\": \"this.block\" } }, hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective],\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i1.BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }, { type: i0.DestroyRef }], propDecorators: { classes: [{\n type: HostBinding,\n args: ['class.align-top']\n }, {\n type: HostBinding,\n args: ['class.float-none']\n }, {\n type: HostBinding,\n args: ['class.w-100']\n }, {\n type: HostBinding,\n args: ['class.pe-auto']\n }, {\n type: HostBinding,\n args: ['class.me-0']\n }], inlineBlock: [{\n type: HostBinding,\n args: ['class.d-inline-block']\n }], block: [{\n type: HostBinding,\n args: ['class.d-block']\n }], onTouchStart: [{\n type: HostListener,\n args: ['touchstart', ['$event']]\n }], onTouchMove: [{\n type: HostListener,\n args: ['touchmove', ['$event']]\n }], onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvc3JjL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT2hFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFUDtJQUFtRjtJQUF2RyxZQUFvQixTQUFvQyxFQUFFLFdBQW1DLEVBQVUsT0FBbUI7UUFBdEcsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFBK0MsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUN4SCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7YUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQXlCO0lBRTdCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBTzlCLE9BQU8sR0FBRyxJQUFJLENBQUM7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LFFBQVEsRUFBRSxXQUFXO29CQUNyQixjQUFjLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDeEMsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzRKQXNCQyxPQUFPO3NCQUxOLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsV0FBVzt1QkFBQyxrQkFBa0I7O3NCQUM5QixXQUFXO3VCQUFDLGFBQWE7O3NCQUN6QixXQUFXO3VCQUFDLGVBQWU7O3NCQUMzQixXQUFXO3VCQUFDLFlBQVk7Z0JBR1ksV0FBVztzQkFBL0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0wsS0FBSztzQkFBbEMsV0FBVzt1QkFBQyxlQUFlO2dCQUc1QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTBCdEMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZckMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSB9IGZyb20gXCJAbWludHBsYXllci9uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIHRha2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1N3aXBlXScsXG4gIGhvc3REaXJlY3RpdmVzOiBbQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lcjogQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSwgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUsIHByaXZhdGUgZGVzdHJveTogRGVzdHJveVJlZikge1xuICAgIHRoaXMub2JzZXJ2ZVNpemUgPSBvYnNlcnZlU2l6ZTtcbiAgICB0aGlzLmNvbnRhaW5lci5vcmllbnRhdGlvbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShvcmllbnRhdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuaW5saW5lQmxvY2sgPSAob3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyk7XG4gICAgICAgIHRoaXMuYmxvY2sgPSAob3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBvYnNlcnZlU2l6ZTogQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZTtcblxuICBwdWJsaWMgb2Zmc2lkZSA9IGlucHV0KGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFsaWduLXRvcCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXQtbm9uZScpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBlLWF1dG8nKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lLTAnKVxuICBjbGFzc2VzID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtaW5saW5lLWJsb2NrJykgaW5saW5lQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBibG9jayA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBvblRvdWNoU3RhcnQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoZXYudG91Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLnN0YXJ0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sIDIwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNoTW92ZShldjogVG91Y2hFdmVudCkge1xuICAgIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQubmV4dCh7XG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgIH0sXG4gICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICBvblRvdWNoRW5kKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb250YWluZXIuc3RhcnRUb3VjaCQsIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQsIHRoaXMuY29udGFpbmVyLm9yaWVudGF0aW9uJF0pXG4gICAgICAucGlwZShmaWx0ZXIoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2hdKSA9PiAhIXN0YXJ0VG91Y2ggJiYgISFsYXN0VG91Y2gpKVxuICAgICAgLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoLCBvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKCEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkge1xuICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICAgICA/IGxhc3RUb3VjaC5wb3NpdGlvbi54IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi54XG4gICAgICAgICAgICA6IGxhc3RUb3VjaC5wb3NpdGlvbi55IC0gc3RhcnRUb3VjaC5wb3NpdGlvbi55O1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLm9uU3dpcGUoZGlzdGFuY2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\nimport * as i0 from \"@angular/core\";\nexport class BsSwiperModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBSFYsZ0JBQWdCLEVBQUUseUJBQXlCLGFBRGhELFlBQVksYUFFWixnQkFBZ0IsRUFBRSx5QkFBeUI7d0dBRTFDLGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvbWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-swiper",
3
3
  "private": false,
4
- "version": "20.0.0",
4
+ "version": "20.2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
package/swiper/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
+ import * as i0 from '@angular/core';
2
+ import { AfterViewInit, ElementRef, DestroyRef, QueryList, EventEmitter } from '@angular/core';
1
3
  import * as i1 from '@mintplayer/ng-swiper/observe-size';
2
4
  import { BsObserveSizeDirective, Size } from '@mintplayer/ng-swiper/observe-size';
3
5
  import { AnimationBuilder, AnimationPlayer } from '@angular/animations';
4
- import * as i0 from '@angular/core';
5
- import { AfterViewInit, ElementRef, QueryList, EventEmitter } from '@angular/core';
6
6
  import { Observable, BehaviorSubject } from 'rxjs';
7
7
  import * as i3 from '@angular/common';
8
8
 
@@ -23,14 +23,17 @@ interface StartTouch {
23
23
 
24
24
  declare class BsSwipeContainerDirective implements AfterViewInit {
25
25
  private animationBuilder;
26
+ private destroy;
26
27
  private observeSize;
27
- constructor(element: ElementRef, animationBuilder: AnimationBuilder, document: any, observeSize: BsObserveSizeDirective);
28
+ constructor(element: ElementRef, animationBuilder: AnimationBuilder, destroy: DestroyRef, document: any, observeSize: BsObserveSizeDirective);
28
29
  offsetLeft: number | null;
29
30
  offsetRight: number | null;
30
31
  offsetTop: number | null;
31
32
  offsetBottom: number | null;
32
33
  set swipes(value: QueryList<BsSwipeDirective>);
33
34
  minimumOffset: number;
35
+ get orientation(): "horizontal" | "vertical";
36
+ set orientation(value: 'horizontal' | 'vertical');
34
37
  get imageIndex(): number;
35
38
  set imageIndex(value: number);
36
39
  imageIndexChange: EventEmitter<number>;
@@ -40,40 +43,44 @@ declare class BsSwipeContainerDirective implements AfterViewInit {
40
43
  lastTouch$: BehaviorSubject<LastTouch | null>;
41
44
  swipes$: BehaviorSubject<QueryList<BsSwipeDirective> | null>;
42
45
  slideSizes$: Observable<(Size | undefined)[]>;
46
+ maxSlideHeight$: Observable<number>;
43
47
  imageIndex$: BehaviorSubject<number>;
44
48
  currentSlideHeight$: Observable<number>;
45
49
  pendingAnimation?: AnimationPlayer;
46
50
  containerElement: ElementRef<HTMLDivElement>;
47
51
  document: Document;
48
52
  offset$: Observable<number>;
49
- offsetLeft$: Observable<number>;
50
- offsetRight$: Observable<number>;
53
+ offsetPrimary$: Observable<number>;
54
+ offsetSecondary$: Observable<number>;
51
55
  padLeft$: Observable<number>;
52
56
  padRight$: Observable<number>;
57
+ orientation$: BehaviorSubject<"horizontal" | "vertical">;
53
58
  ngAfterViewInit(): void;
54
- animateToIndexByDx(dx: number): void;
55
- animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number): void;
56
- onSwipe(dx: number): void;
59
+ animateToIndexByDx(distance: number): void;
60
+ animateToIndex(oldIndex: number, newIndex: number, distance: number, totalSlides: number): void;
61
+ onSwipe(distance: number): void;
57
62
  previous(): void;
58
63
  next(): void;
59
64
  goto(index: number): void;
60
65
  private gotoAnimate;
61
66
  static ɵfac: i0.ɵɵFactoryDeclaration<BsSwipeContainerDirective, never>;
62
- static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeContainerDirective, "[bsSwipeContainer]", ["bsSwipeContainer"], { "minimumOffset": { "alias": "minimumOffset"; "required": false; }; "imageIndex": { "alias": "imageIndex"; "required": false; }; }, { "imageIndexChange": "imageIndexChange"; }, ["swipes"], never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeContainerDirective, "[bsSwipeContainer]", ["bsSwipeContainer"], { "minimumOffset": { "alias": "minimumOffset"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "imageIndex": { "alias": "imageIndex"; "required": false; }; }, { "imageIndexChange": "imageIndexChange"; }, ["swipes"], never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
63
68
  }
64
69
 
65
70
  declare class BsSwipeDirective {
66
71
  private container;
67
- constructor(container: BsSwipeContainerDirective, observeSize: BsObserveSizeDirective);
72
+ private destroy;
73
+ constructor(container: BsSwipeContainerDirective, observeSize: BsObserveSizeDirective, destroy: DestroyRef);
68
74
  observeSize: BsObserveSizeDirective;
69
- offside: boolean;
75
+ offside: i0.InputSignal<boolean>;
70
76
  classes: boolean;
71
- hostClass?: string;
77
+ inlineBlock: boolean;
78
+ block: boolean;
72
79
  onTouchStart(ev: TouchEvent): void;
73
80
  onTouchMove(ev: TouchEvent): void;
74
81
  onTouchEnd(ev: TouchEvent): void;
75
82
  static ɵfac: i0.ɵɵFactoryDeclaration<BsSwipeDirective, never>;
76
- static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeDirective, "[bsSwipe]", never, { "offside": { "alias": "offside"; "required": false; }; }, {}, never, never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
83
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeDirective, "[bsSwipe]", never, { "offside": { "alias": "offside"; "required": false; "isSignal": true; }; }, {}, never, never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
77
84
  }
78
85
 
79
86
  declare class BsSwiperModule {