@mintplayer/ng-swiper 18.2.1 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs +3 -3
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs +14 -12
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs.map +1 -1
- package/package.json +5 -11
- package/esm2022/index.mjs +0 -2
- package/esm2022/mintplayer-ng-swiper.mjs +0 -5
- package/esm2022/observe-size/index.mjs +0 -3
- package/esm2022/observe-size/mintplayer-ng-swiper-observe-size.mjs +0 -5
- package/esm2022/observe-size/src/observe-size.directive.mjs +0 -51
- package/esm2022/observe-size/src/size.mjs +0 -2
- package/esm2022/swiper/index.mjs +0 -4
- package/esm2022/swiper/mintplayer-ng-swiper-swiper.mjs +0 -5
- package/esm2022/swiper/src/directives/index.mjs +0 -3
- package/esm2022/swiper/src/directives/swipe/swipe.directive.mjs +0 -105
- package/esm2022/swiper/src/directives/swipe-container/swipe-container.directive.mjs +0 -229
- package/esm2022/swiper/src/interfaces/index.mjs +0 -4
- package/esm2022/swiper/src/interfaces/last-touch.mjs +0 -2
- package/esm2022/swiper/src/interfaces/point.mjs +0 -2
- package/esm2022/swiper/src/interfaces/start-touch.mjs +0 -2
- package/esm2022/swiper/src/swiper.module.mjs +0 -19
|
@@ -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: "
|
|
39
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", 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: "19.0.3", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", 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":["../../../../libs/mintplayer-ng-swiper/observe-size/src/observe-size.directive.ts","../../../../libs/mintplayer-ng-swiper/observe-size/mintplayer-ng-swiper-observe-size.ts"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\r\nimport { AfterViewInit, Directive, ElementRef, Inject, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject, map } from 'rxjs';\r\nimport { Size } from './size';\r\n\r\n@Directive({\r\n selector: '[bsObserveSize]',\r\n standalone: true,\r\n exportAs: 'bsObserveSize'\r\n})\r\nexport class BsObserveSizeDirective implements AfterViewInit, OnDestroy {\r\n constructor(private element: ElementRef, @Inject(PLATFORM_ID) private platformId: any, private zone: NgZone) {\r\n if (!isPlatformServer(this.platformId)) {\r\n this.observer = new ResizeObserver((entries) => {\r\n // console.log('resized', entries[0].contentRect);\r\n this.zone.run(() => this.size$.next(entries[0].contentRect));\r\n });\r\n }\r\n\r\n this.width$ = this.size$.pipe(map(size => size?.width));\r\n this.height$ = this.size$.pipe(map(size => size?.height));\r\n }\r\n\r\n private observer?: ResizeObserver;\r\n size$ = new BehaviorSubject<Size | undefined>(undefined);\r\n width$: Observable<number | undefined>;\r\n height$: Observable<number | undefined>;\r\n\r\n ngAfterViewInit() {\r\n const el: HTMLElement = this.element.nativeElement;\r\n this.observer?.observe(el);\r\n this.size$.next({ width: el.clientWidth, height: el.clientHeight });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.observer) {\r\n this.observer.unobserve(this.element.nativeElement);\r\n this.observer.disconnect();\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAUa,sBAAsB,CAAA;AACb,IAAA,OAAA
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-swiper-observe-size.mjs","sources":["../../../../libs/mintplayer-ng-swiper/observe-size/src/observe-size.directive.ts","../../../../libs/mintplayer-ng-swiper/observe-size/mintplayer-ng-swiper-observe-size.ts"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\r\nimport { AfterViewInit, Directive, ElementRef, Inject, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject, map } from 'rxjs';\r\nimport { Size } from './size';\r\n\r\n@Directive({\r\n selector: '[bsObserveSize]',\r\n standalone: true,\r\n exportAs: 'bsObserveSize'\r\n})\r\nexport class BsObserveSizeDirective implements AfterViewInit, OnDestroy {\r\n constructor(private element: ElementRef, @Inject(PLATFORM_ID) private platformId: any, private zone: NgZone) {\r\n if (!isPlatformServer(this.platformId)) {\r\n this.observer = new ResizeObserver((entries) => {\r\n // console.log('resized', entries[0].contentRect);\r\n this.zone.run(() => this.size$.next(entries[0].contentRect));\r\n });\r\n }\r\n\r\n this.width$ = this.size$.pipe(map(size => size?.width));\r\n this.height$ = this.size$.pipe(map(size => size?.height));\r\n }\r\n\r\n private observer?: ResizeObserver;\r\n size$ = new BehaviorSubject<Size | undefined>(undefined);\r\n width$: Observable<number | undefined>;\r\n height$: Observable<number | undefined>;\r\n\r\n ngAfterViewInit() {\r\n const el: HTMLElement = this.element.nativeElement;\r\n this.observer?.observe(el);\r\n this.size$.next({ width: el.clientWidth, height: el.clientHeight });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.observer) {\r\n this.observer.unobserve(this.element.nativeElement);\r\n this.observer.disconnect();\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAUa,sBAAsB,CAAA;AACb,IAAA,OAAA;AAAkD,IAAA,UAAA;AAAyB,IAAA,IAAA;AAA/F,IAAA,WAAA,CAAoB,OAAmB,EAA+B,UAAe,EAAU,IAAY,EAAA;QAAvF,IAAO,CAAA,OAAA,GAAP,OAAO;QAA2C,IAAU,CAAA,UAAA,GAAV,UAAU;QAAe,IAAI,CAAA,IAAA,GAAJ,IAAI;QACjG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;;gBAE7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC9D,aAAC,CAAC;;QAGJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;;AAGnD,IAAA,QAAQ;AAChB,IAAA,KAAK,GAAG,IAAI,eAAe,CAAmB,SAAS,CAAC;AACxD,IAAA,MAAM;AACN,IAAA,OAAO;IAEP,eAAe,GAAA;AACb,QAAA,MAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC,aAAa;AAClD,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC;;IAGrE,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AACnD,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;;;AA3BnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,4CACgB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FADjD,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;AACX,iBAAA;;0BAE2C,MAAM;2BAAC,WAAW;;;ACX9D;;AAEG;;;;"}
|
|
@@ -191,15 +191,16 @@ class BsSwipeContainerDirective {
|
|
|
191
191
|
});
|
|
192
192
|
}, 20);
|
|
193
193
|
}
|
|
194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
195
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", 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: "19.0.3", 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 });
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
198
198
|
type: Directive,
|
|
199
199
|
args: [{
|
|
200
200
|
selector: '[bsSwipeContainer]',
|
|
201
201
|
exportAs: 'bsSwipeContainer',
|
|
202
|
-
|
|
202
|
+
standalone: false,
|
|
203
|
+
hostDirectives: [BsObserveSizeDirective],
|
|
203
204
|
}]
|
|
204
205
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{
|
|
205
206
|
type: Inject,
|
|
@@ -283,14 +284,15 @@ class BsSwipeDirective {
|
|
|
283
284
|
}
|
|
284
285
|
});
|
|
285
286
|
}
|
|
286
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
287
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
287
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwipeDirective, deps: [{ token: BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
288
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", 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 });
|
|
288
289
|
}
|
|
289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
290
291
|
type: Directive,
|
|
291
292
|
args: [{
|
|
292
293
|
selector: '[bsSwipe]',
|
|
293
|
-
hostDirectives: [BsObserveSizeDirective]
|
|
294
|
+
hostDirectives: [BsObserveSizeDirective],
|
|
295
|
+
standalone: false,
|
|
294
296
|
}]
|
|
295
297
|
}], ctorParameters: () => [{ type: BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }], propDecorators: { offside: [{
|
|
296
298
|
type: Input
|
|
@@ -327,11 +329,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
327
329
|
}] } });
|
|
328
330
|
|
|
329
331
|
class BsSwiperModule {
|
|
330
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
331
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
332
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
332
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
333
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
|
|
334
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
|
|
333
335
|
}
|
|
334
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: BsSwiperModule, decorators: [{
|
|
335
337
|
type: NgModule,
|
|
336
338
|
args: [{
|
|
337
339
|
imports: [CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-swiper-swiper.mjs","sources":["../../../../libs/mintplayer-ng-swiper/swiper/src/directives/swipe-container/swipe-container.directive.ts","../../../../libs/mintplayer-ng-swiper/swiper/src/directives/swipe/swipe.directive.ts","../../../../libs/mintplayer-ng-swiper/swiper/src/swiper.module.ts","../../../../libs/mintplayer-ng-swiper/swiper/mintplayer-ng-swiper-swiper.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, debounceTime, delay, filter, map, mergeMap, Observable, take } from 'rxjs';\nimport { BsObserveSizeDirective, Size } from '@mintplayer/ng-swiper/observe-size';\nimport { LastTouch } from '../../interfaces/last-touch';\nimport { StartTouch } from '../../interfaces/start-touch';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\n\n@Directive({\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer',\n hostDirectives: [BsObserveSizeDirective]\n})\nexport class BsSwipeContainerDirective implements AfterViewInit {\n\n constructor(element: ElementRef, private animationBuilder: AnimationBuilder, @Inject(DOCUMENT) document: any, private observeSize: BsObserveSizeDirective) {\n this.containerElement = element;\n this.document = <Document>document;\n this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n } else if (!!startTouch && !!lastTouch) {\n return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);\n } else {\n return (-imageIndex * 100);\n }\n }));\n\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n this.offsetLeft$.pipe(takeUntilDestroyed())\n .subscribe(offsetLeft => this.offsetLeft = offsetLeft);\n this.offsetRight$.pipe(takeUntilDestroyed())\n .subscribe(offsetRight => this.offsetRight = offsetRight);\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside);\n } else {\n return [];\n }\n }));\n\n this.slideSizes$ = this.actualSwipes$\n .pipe(delay(400), filter(swipes => !!swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));\n\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: number = 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\n @HostBinding('style.margin-left.%') offsetLeft: number | null = null;\n @HostBinding('style.margin-right.%') offsetRight: number | null = null;\n @HostBinding('style.margin-top.%') offsetTop: number | null = null;\n @HostBinding('style.margin-bottom.%') offsetBottom: number | null = null;\n @ContentChildren(forwardRef(() => BsSwipeDirective)) set swipes(value: QueryList<BsSwipeDirective>) {\n setTimeout(() => this.swipes$.next(value));\n }\n @Input() minimumOffset = 50;\n\n //#region ImageIndex\n public get imageIndex() {\n return this.imageIndex$.value;\n }\n @Input() public set imageIndex(value: number) {\n this.imageIndex$.next(value);\n }\n @Output() imageIndexChange = new EventEmitter<number>();\n //#endregion\n \n actualSwipes$: Observable<BsSwipeDirective[]>;\n isViewInited$ = new BehaviorSubject<boolean>(false);\n startTouch$ = new BehaviorSubject<StartTouch | null>(null);\n lastTouch$ = new BehaviorSubject<LastTouch | null>(null);\n swipes$ = new BehaviorSubject<QueryList<BsSwipeDirective> | null>(null);\n // TODO: slide sizes instead\n slideSizes$: Observable<(Size | undefined)[]>;\n imageIndex$ = new BehaviorSubject<number>(0);\n currentSlideHeight$: Observable<number>;\n pendingAnimation?: AnimationPlayer;\n containerElement: ElementRef<HTMLDivElement>;\n document: Document;\n\n // TODO: Don't just keep px, but both px and % using currentslidesize$\n offset$: Observable<number>;\n offsetLeft$: Observable<number>;\n offsetRight$: Observable<number>;\n padLeft$: Observable<number>;\n padRight$: Observable<number>;\n\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n\n animateToIndexByDx(dx: number) {\n combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))\n .subscribe(([imageIndex, actualSwipes]) => {\n const direction = dx > 0 ? 'left' : 'right';\n \n let newIndex: number;\n if (Math.abs(dx) < this.minimumOffset) {\n newIndex = imageIndex;\n } else {\n newIndex = imageIndex + (direction === 'right' ? 1 : -1);\n }\n \n this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);\n });\n }\n\n animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number) {\n this.pendingAnimation = this.animationBuilder.build([\n style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),\n animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),\n ]).create(this.containerElement.nativeElement);\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n } else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n\n onSwipe(dx: number) {\n this.animateToIndexByDx(dx);\n }\n\n previous() {\n this.gotoAnimate(-1, 'relative');\n }\n\n next() {\n this.gotoAnimate(1, 'relative');\n }\n\n goto(index: number) {\n this.gotoAnimate(index, 'absolute');\n }\n\n private gotoAnimate(index: number, type: 'absolute' | 'relative') {\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\n}\n","import { Directive, HostBinding, HostListener, Input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { combineLatest, filter, take } from \"rxjs\";\nimport { BsSwipeContainerDirective } from \"../swipe-container/swipe-container.directive\";\n\n@Directive({\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective]\n})\nexport class BsSwipeDirective {\n\n constructor(private container: BsSwipeContainerDirective, observeSize: BsObserveSizeDirective) {\n this.observeSize = observeSize;\n // container.orientation$.pipe(takeUntilDestroyed())\n // .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');\n }\n\n observeSize: BsObserveSizeDirective;\n\n //#region Offside\n @Input() public offside = false;\n //#endregion\n\n @HostBinding('class.align-top')\n @HostBinding('class.d-inline-block')\n @HostBinding('class.float-none')\n @HostBinding('class.w-100')\n @HostBinding('class.pe-auto')\n @HostBinding('class.me-0')\n classes = true;\n\n @HostBinding('class') hostClass?: string;\n\n @HostListener('touchstart', ['$event'])\n onTouchStart(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchMove(ev: TouchEvent) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n\n @HostListener('touchend', ['$event'])\n onTouchEnd(ev: TouchEvent) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1))\n .subscribe(([startTouch, lastTouch]) => {\n if (!!startTouch && !!lastTouch) {\n const dx = lastTouch.position.x - startTouch.position.x;\n this.container.onSwipe(dx);\n }\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n})\nexport class BsSwiperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-swiper-swiper.mjs","sources":["../../../../libs/mintplayer-ng-swiper/swiper/src/directives/swipe-container/swipe-container.directive.ts","../../../../libs/mintplayer-ng-swiper/swiper/src/directives/swipe/swipe.directive.ts","../../../../libs/mintplayer-ng-swiper/swiper/src/swiper.module.ts","../../../../libs/mintplayer-ng-swiper/swiper/mintplayer-ng-swiper-swiper.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, debounceTime, delay, filter, map, mergeMap, Observable, take } from 'rxjs';\nimport { BsObserveSizeDirective, Size } from '@mintplayer/ng-swiper/observe-size';\nimport { LastTouch } from '../../interfaces/last-touch';\nimport { StartTouch } from '../../interfaces/start-touch';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\n\n@Directive({\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer',\n standalone: false,\n hostDirectives: [BsObserveSizeDirective],\n})\nexport class BsSwipeContainerDirective implements AfterViewInit {\n\n constructor(element: ElementRef, private animationBuilder: AnimationBuilder, @Inject(DOCUMENT) document: any, private observeSize: BsObserveSizeDirective) {\n this.containerElement = element;\n this.document = <Document>document;\n this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n } else if (!!startTouch && !!lastTouch) {\n return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);\n } else {\n return (-imageIndex * 100);\n }\n }));\n\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside) {\n break;\n } else {\n count++;\n }\n }\n return count;\n }));\n\n this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n this.offsetLeft$.pipe(takeUntilDestroyed())\n .subscribe(offsetLeft => this.offsetLeft = offsetLeft);\n this.offsetRight$.pipe(takeUntilDestroyed())\n .subscribe(offsetRight => this.offsetRight = offsetRight);\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside);\n } else {\n return [];\n }\n }));\n\n this.slideSizes$ = this.actualSwipes$\n .pipe(delay(400), filter(swipes => !!swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));\n\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: number = 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\n @HostBinding('style.margin-left.%') offsetLeft: number | null = null;\n @HostBinding('style.margin-right.%') offsetRight: number | null = null;\n @HostBinding('style.margin-top.%') offsetTop: number | null = null;\n @HostBinding('style.margin-bottom.%') offsetBottom: number | null = null;\n @ContentChildren(forwardRef(() => BsSwipeDirective)) set swipes(value: QueryList<BsSwipeDirective>) {\n setTimeout(() => this.swipes$.next(value));\n }\n @Input() minimumOffset = 50;\n\n //#region ImageIndex\n public get imageIndex() {\n return this.imageIndex$.value;\n }\n @Input() public set imageIndex(value: number) {\n this.imageIndex$.next(value);\n }\n @Output() imageIndexChange = new EventEmitter<number>();\n //#endregion\n \n actualSwipes$: Observable<BsSwipeDirective[]>;\n isViewInited$ = new BehaviorSubject<boolean>(false);\n startTouch$ = new BehaviorSubject<StartTouch | null>(null);\n lastTouch$ = new BehaviorSubject<LastTouch | null>(null);\n swipes$ = new BehaviorSubject<QueryList<BsSwipeDirective> | null>(null);\n // TODO: slide sizes instead\n slideSizes$: Observable<(Size | undefined)[]>;\n imageIndex$ = new BehaviorSubject<number>(0);\n currentSlideHeight$: Observable<number>;\n pendingAnimation?: AnimationPlayer;\n containerElement: ElementRef<HTMLDivElement>;\n document: Document;\n\n // TODO: Don't just keep px, but both px and % using currentslidesize$\n offset$: Observable<number>;\n offsetLeft$: Observable<number>;\n offsetRight$: Observable<number>;\n padLeft$: Observable<number>;\n padRight$: Observable<number>;\n\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n\n animateToIndexByDx(dx: number) {\n combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))\n .subscribe(([imageIndex, actualSwipes]) => {\n const direction = dx > 0 ? 'left' : 'right';\n \n let newIndex: number;\n if (Math.abs(dx) < this.minimumOffset) {\n newIndex = imageIndex;\n } else {\n newIndex = imageIndex + (direction === 'right' ? 1 : -1);\n }\n \n this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);\n });\n }\n\n animateToIndex(oldIndex: number, newIndex: number, dx: number, totalSlides: number) {\n this.pendingAnimation = this.animationBuilder.build([\n style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),\n animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),\n ]).create(this.containerElement.nativeElement);\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n } else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n\n onSwipe(dx: number) {\n this.animateToIndexByDx(dx);\n }\n\n previous() {\n this.gotoAnimate(-1, 'relative');\n }\n\n next() {\n this.gotoAnimate(1, 'relative');\n }\n\n goto(index: number) {\n this.gotoAnimate(index, 'absolute');\n }\n\n private gotoAnimate(index: number, type: 'absolute' | 'relative') {\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\n}\n","import { Directive, HostBinding, HostListener, Input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { combineLatest, filter, take } from \"rxjs\";\nimport { BsSwipeContainerDirective } from \"../swipe-container/swipe-container.directive\";\n\n@Directive({\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective],\n standalone: false,\n})\nexport class BsSwipeDirective {\n\n constructor(private container: BsSwipeContainerDirective, observeSize: BsObserveSizeDirective) {\n this.observeSize = observeSize;\n // container.orientation$.pipe(takeUntilDestroyed())\n // .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');\n }\n\n observeSize: BsObserveSizeDirective;\n\n //#region Offside\n @Input() public offside = false;\n //#endregion\n\n @HostBinding('class.align-top')\n @HostBinding('class.d-inline-block')\n @HostBinding('class.float-none')\n @HostBinding('class.w-100')\n @HostBinding('class.pe-auto')\n @HostBinding('class.me-0')\n classes = true;\n\n @HostBinding('class') hostClass?: string;\n\n @HostListener('touchstart', ['$event'])\n onTouchStart(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchMove(ev: TouchEvent) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n\n @HostListener('touchend', ['$event'])\n onTouchEnd(ev: TouchEvent) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1))\n .subscribe(([startTouch, lastTouch]) => {\n if (!!startTouch && !!lastTouch) {\n const dx = lastTouch.position.x - startTouch.position.x;\n this.container.onSwipe(dx);\n }\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n})\nexport class BsSwiperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSwipeContainerDirective"],"mappings":";;;;;;;;;;MAgBa,yBAAyB,CAAA;AAEK,IAAA,gBAAA;AAA6E,IAAA,WAAA;AAAtH,IAAA,WAAA,CAAY,OAAmB,EAAU,gBAAkC,EAAoB,QAAa,EAAU,WAAmC,EAAA;QAAhH,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAA6D,IAAW,CAAA,WAAA,GAAX,WAAW;AAC/H,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAa,QAAQ;QAClC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;AACnG,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,KAAI;YAC9D,IAAI,CAAC,YAAY,EAAE;AACjB,gBAAA,QAAQ,CAAC,UAAU,GAAG,GAAG;;iBACpB,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE;AACtC,gBAAA,QAAQ,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG;;iBAC7H;AACL,gBAAA,QAAQ,CAAC,UAAU,GAAG,GAAG;;SAE5B,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;YAC7C,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,CAAC;;YAGV,IAAI,KAAK,GAAG,CAAC;AACb,YAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,gBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;oBACd;;qBACK;AACL,oBAAA,KAAK,EAAE;;;AAGX,YAAA,OAAO,KAAK;SACb,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;YAC9C,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,CAAC;;YAGV,IAAI,KAAK,GAAG,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;AAC1C,gBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;oBACd;;qBACK;AACL,oBAAA,KAAK,EAAE;;;AAGX,YAAA,OAAO,KAAK;SACb,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC3D,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;AAC5E,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC/F,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE;aACvC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACxD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE;aACxC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC3D,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACvC,aAAA,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAElE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AACvB,aAAA,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;YACjB,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;;iBACxC;AACL,gBAAA,OAAO,EAAE;;SAEZ,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACrB,aAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;aAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAExF,QAAA,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;aAC1E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,KAAI;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC;YACjD,MAAM,UAAU,GAAW,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,SAAS;;;AAGlE,YAAA,OAAO,UAAU;;;;AAIvB,SAAC,CAAC;AACD,aAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;;IAGS,UAAU,GAAkB,IAAI;IAC/B,WAAW,GAAkB,IAAI;IACnC,SAAS,GAAkB,IAAI;IAC5B,YAAY,GAAkB,IAAI;IACxE,IAAyD,MAAM,CAAC,KAAkC,EAAA;AAChG,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;IAEnC,aAAa,GAAG,EAAE;;AAG3B,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;;IAE/B,IAAoB,UAAU,CAAC,KAAa,EAAA;AAC1C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEpB,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAU;;AAGvD,IAAA,aAAa;AACb,IAAA,aAAa,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AACnD,IAAA,WAAW,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AAC1D,IAAA,UAAU,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC;AACxD,IAAA,OAAO,GAAG,IAAI,eAAe,CAAqC,IAAI,CAAC;;AAEvE,IAAA,WAAW;AACX,IAAA,WAAW,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC;AAC5C,IAAA,mBAAmB;AACnB,IAAA,gBAAgB;AAChB,IAAA,gBAAgB;AAChB,IAAA,QAAQ;;AAGR,IAAA,OAAO;AACP,IAAA,WAAW;AACX,IAAA,YAAY;AACZ,IAAA,QAAQ;AACR,IAAA,SAAS;IAET,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG/B,IAAA,kBAAkB,CAAC,EAAU,EAAA;AAC3B,QAAA,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/D,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,KAAI;AACxC,YAAA,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO;AAE3C,YAAA,IAAI,QAAgB;YACpB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE;gBACrC,QAAQ,GAAG,UAAU;;iBAChB;AACL,gBAAA,QAAQ,GAAG,UAAU,IAAI,SAAS,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;AAG1D,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;AAC1E,SAAC,CAAC;;AAGN,IAAA,cAAc,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAU,EAAE,WAAmB,EAAA;QAChF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAClD,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YACzM,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;SACvN,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAC9C,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAK;;AAEhC,YAAA,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;;AACjC,iBAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;AACnC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;;iBACnB;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAEjC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;AACnC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;;AAG9B,IAAA,OAAO,CAAC,EAAU,EAAA;AAChB,QAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;IAG7B,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;;IAGlC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC;;AAGjC,IAAA,IAAI,CAAC,KAAa,EAAA;AAChB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;;IAG7B,WAAW,CAAC,KAAa,EAAE,IAA6B,EAAA;AAC9D,QAAA,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;QAC/B,UAAU,CAAC,MAAK;AACd,YAAA,aAAa,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,KAAI;AAC3G,gBAAA,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;AAC/B,gBAAA,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,GAAG,KAAK,GAAG,KAAK;AAC9D,gBAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;AACpE,aAAC,CAAC;SACH,EAAE,EAAE,CAAC;;AAhMG,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4EAEiD,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAFlF,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,ybA2FF,gBAAgB,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FA3FvC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,KAAK;oBACjB,cAAc,EAAE,CAAC,sBAAsB,CAAC;AACzC,iBAAA;;0BAG+E,MAAM;2BAAC,QAAQ;8EAqFzD,UAAU,EAAA,CAAA;sBAA7C,WAAW;uBAAC,qBAAqB;gBACG,WAAW,EAAA,CAAA;sBAA/C,WAAW;uBAAC,sBAAsB;gBACA,SAAS,EAAA,CAAA;sBAA3C,WAAW;uBAAC,oBAAoB;gBACK,YAAY,EAAA,CAAA;sBAAjD,WAAW;uBAAC,uBAAuB;gBACqB,MAAM,EAAA,CAAA;sBAA9D,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC;gBAG1C,aAAa,EAAA,CAAA;sBAArB;gBAMmB,UAAU,EAAA,CAAA;sBAA7B;gBAGS,gBAAgB,EAAA,CAAA;sBAAzB;;;MC7GU,gBAAgB,CAAA;AAEP,IAAA,SAAA;IAApB,WAAoB,CAAA,SAAoC,EAAE,WAAmC,EAAA;QAAzE,IAAS,CAAA,SAAA,GAAT,SAAS;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;;;;AAKhC,IAAA,WAAW;;IAGK,OAAO,GAAG,KAAK;;IAS/B,OAAO,GAAG,IAAI;AAEQ,IAAA,SAAS;AAG/B,IAAA,YAAY,CAAC,EAAc,EAAA;QACzB,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,EAAE,CAAC,cAAc,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE;YAEzC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;AAC9B,oBAAA,QAAQ,EAAE;wBACR,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;wBACxB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACzB,qBAAA;AACD,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACtB,iBAAA,CAAC;AACF,gBAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7B,oBAAA,QAAQ,EAAE;wBACR,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;wBACxB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACzB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAC;aACH,EAAE,EAAE,CAAC;;;AAKV,IAAA,WAAW,CAAC,EAAc,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7B,YAAA,QAAQ,EAAE;gBACR,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACxB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACzB,aAAA;AACD,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC;;AAIJ,IAAA,UAAU,CAAC,EAAc,EAAA;AACvB,QAAA,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;aAClE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC;AACrE,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACZ,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,KAAI;YACrC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE;AAC/B,gBAAA,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvD,gBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;;AAE9B,SAAC,CAAC;;uGAtEK,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,cAAc,EAAE,CAAC,sBAAsB,CAAC;AACxC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;gIAYiB,OAAO,EAAA,CAAA;sBAAtB;gBASD,OAAO,EAAA,CAAA;sBANN,WAAW;uBAAC,iBAAiB;;sBAC7B,WAAW;uBAAC,sBAAsB;;sBAClC,WAAW;uBAAC,kBAAkB;;sBAC9B,WAAW;uBAAC,aAAa;;sBACzB,WAAW;uBAAC,eAAe;;sBAC3B,WAAW;uBAAC,YAAY;gBAGH,SAAS,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;gBAGpB,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBA0BtC,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;gBAYrC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;;;MC5DzB,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAd,cAAc,EAAA,YAAA,EAAA,CAHV,gBAAgB,EAAE,yBAAyB,aADhD,YAAY,CAAA,EAAA,OAAA,EAAA,CAEZ,gBAAgB,EAAE,yBAAyB,CAAA,EAAA,CAAA;AAE1C,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJf,YAAY,CAAA,EAAA,CAAA;;2FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;AAC3D,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;AACvD,iBAAA;;;ACTD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mintplayer/ng-swiper",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "19.0.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
|
|
8
8
|
"directory": "libs/mintplayer-ng-swiper"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@angular/common": "^
|
|
12
|
-
"@angular/core": "^
|
|
13
|
-
"@angular/animations": "^
|
|
14
|
-
"@angular/platform-browser": "^
|
|
11
|
+
"@angular/common": "^19.0.0",
|
|
12
|
+
"@angular/core": "^19.0.0",
|
|
13
|
+
"@angular/animations": "^19.0.0",
|
|
14
|
+
"@angular/platform-browser": "^19.0.0",
|
|
15
15
|
"rxjs": "^7.5.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
@@ -25,20 +25,14 @@
|
|
|
25
25
|
},
|
|
26
26
|
".": {
|
|
27
27
|
"types": "./index.d.ts",
|
|
28
|
-
"esm2022": "./esm2022/mintplayer-ng-swiper.mjs",
|
|
29
|
-
"esm": "./esm2022/mintplayer-ng-swiper.mjs",
|
|
30
28
|
"default": "./fesm2022/mintplayer-ng-swiper.mjs"
|
|
31
29
|
},
|
|
32
30
|
"./observe-size": {
|
|
33
31
|
"types": "./observe-size/index.d.ts",
|
|
34
|
-
"esm2022": "./esm2022/observe-size/mintplayer-ng-swiper-observe-size.mjs",
|
|
35
|
-
"esm": "./esm2022/observe-size/mintplayer-ng-swiper-observe-size.mjs",
|
|
36
32
|
"default": "./fesm2022/mintplayer-ng-swiper-observe-size.mjs"
|
|
37
33
|
},
|
|
38
34
|
"./swiper": {
|
|
39
35
|
"types": "./swiper/index.d.ts",
|
|
40
|
-
"esm2022": "./esm2022/swiper/mintplayer-ng-swiper-swiper.mjs",
|
|
41
|
-
"esm": "./esm2022/swiper/mintplayer-ng-swiper-swiper.mjs",
|
|
42
36
|
"default": "./fesm2022/mintplayer-ng-swiper-swiper.mjs"
|
|
43
37
|
}
|
|
44
38
|
},
|
package/esm2022/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const libraryName = '@mintplayer/ng-swiper';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbGlicmFyeU5hbWUgPSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyJzsiXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3NyYy9taW50cGxheWVyLW5nLXN3aXBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './src/size';
|
|
2
|
-
export * from './src/observe-size.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL29ic2VydmUtc2l6ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2l6ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL29ic2VydmUtc2l6ZS5kaXJlY3RpdmUnOyJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9vYnNlcnZlLXNpemUvbWludHBsYXllci1uZy1zd2lwZXItb2JzZXJ2ZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { isPlatformServer } from '@angular/common';
|
|
2
|
-
import { Directive, Inject, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, map } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class BsObserveSizeDirective {
|
|
6
|
-
element;
|
|
7
|
-
platformId;
|
|
8
|
-
zone;
|
|
9
|
-
constructor(element, platformId, zone) {
|
|
10
|
-
this.element = element;
|
|
11
|
-
this.platformId = platformId;
|
|
12
|
-
this.zone = zone;
|
|
13
|
-
if (!isPlatformServer(this.platformId)) {
|
|
14
|
-
this.observer = new ResizeObserver((entries) => {
|
|
15
|
-
// console.log('resized', entries[0].contentRect);
|
|
16
|
-
this.zone.run(() => this.size$.next(entries[0].contentRect));
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
this.width$ = this.size$.pipe(map(size => size?.width));
|
|
20
|
-
this.height$ = this.size$.pipe(map(size => size?.height));
|
|
21
|
-
}
|
|
22
|
-
observer;
|
|
23
|
-
size$ = new BehaviorSubject(undefined);
|
|
24
|
-
width$;
|
|
25
|
-
height$;
|
|
26
|
-
ngAfterViewInit() {
|
|
27
|
-
const el = this.element.nativeElement;
|
|
28
|
-
this.observer?.observe(el);
|
|
29
|
-
this.size$.next({ width: el.clientWidth, height: el.clientHeight });
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
if (this.observer) {
|
|
33
|
-
this.observer.unobserve(this.element.nativeElement);
|
|
34
|
-
this.observer.disconnect();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsObserveSizeDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: BsObserveSizeDirective, isStandalone: true, selector: "[bsObserveSize]", exportAs: ["bsObserveSize"], ngImport: i0 });
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsObserveSizeDirective, decorators: [{
|
|
41
|
-
type: Directive,
|
|
42
|
-
args: [{
|
|
43
|
-
selector: '[bsObserveSize]',
|
|
44
|
-
standalone: true,
|
|
45
|
-
exportAs: 'bsObserveSize'
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
48
|
-
type: Inject,
|
|
49
|
-
args: [PLATFORM_ID]
|
|
50
|
-
}] }, { type: i0.NgZone }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1zaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9vYnNlcnZlLXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBaUIsU0FBUyxFQUFjLE1BQU0sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQXVCLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRakUsTUFBTSxPQUFPLHNCQUFzQjtJQUNiO0lBQWtEO0lBQXlCO0lBQS9GLFlBQW9CLE9BQW1CLEVBQStCLFVBQWUsRUFBVSxJQUFZO1FBQXZGLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDekcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDN0Msa0RBQWtEO2dCQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFFBQVEsQ0FBa0I7SUFDbEMsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztJQUN6RCxNQUFNLENBQWlDO0lBQ3ZDLE9BQU8sQ0FBaUM7SUFFeEMsZUFBZTtRQUNiLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0E3QlUsc0JBQXNCLDRDQUNnQixXQUFXOzJGQURqRCxzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBRTJDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgTmdab25lLCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuL3NpemUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYnNPYnNlcnZlU2l6ZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgZXhwb3J0QXM6ICdic09ic2VydmVTaXplJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcclxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygncmVzaXplZCcsIGVudHJpZXNbMF0uY29udGVudFJlY3QpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5zaXplJC5uZXh0KGVudHJpZXNbMF0uY29udGVudFJlY3QpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53aWR0aCQgPSB0aGlzLnNpemUkLnBpcGUobWFwKHNpemUgPT4gc2l6ZT8ud2lkdGgpKTtcclxuICAgIHRoaXMuaGVpZ2h0JCA9IHRoaXMuc2l6ZSQucGlwZShtYXAoc2l6ZSA9PiBzaXplPy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcclxuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l6ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICB3aWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcclxuICBoZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5vYnNlcnZlcj8ub2JzZXJ2ZShlbCk7XHJcbiAgICB0aGlzLnNpemUkLm5leHQoeyB3aWR0aDogZWwuY2xpZW50V2lkdGgsIGhlaWdodDogZWwuY2xpZW50SGVpZ2h0IH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xyXG4gICAgICB0aGlzLm9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvb2JzZXJ2ZS1zaXplL3NyYy9zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNpemUge1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICAgIGhlaWdodDogbnVtYmVyO1xyXG59Il19
|
package/esm2022/swiper/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './src/directives';
|
|
2
|
-
export * from './src/interfaces';
|
|
3
|
-
export * from './src/swiper.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2RpcmVjdGl2ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc3dpcGVyLm1vZHVsZSc7Il19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvbWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './swipe/swipe.directive';
|
|
2
|
-
export * from './swipe-container/swipe-container.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N3aXBlL3N3aXBlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlJzsiXX0=
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Directive, HostBinding, HostListener, Input } from "@angular/core";
|
|
2
|
-
import { BsObserveSizeDirective } from "@mintplayer/ng-swiper/observe-size";
|
|
3
|
-
import { combineLatest, filter, take } from "rxjs";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../swipe-container/swipe-container.directive";
|
|
6
|
-
import * as i2 from "@mintplayer/ng-swiper/observe-size";
|
|
7
|
-
export class BsSwipeDirective {
|
|
8
|
-
container;
|
|
9
|
-
constructor(container, observeSize) {
|
|
10
|
-
this.container = container;
|
|
11
|
-
this.observeSize = observeSize;
|
|
12
|
-
// container.orientation$.pipe(takeUntilDestroyed())
|
|
13
|
-
// .subscribe(orientation => this.hostClass = (orientation === 'vertical') ? 'd-block' : 'd-inline-block');
|
|
14
|
-
}
|
|
15
|
-
observeSize;
|
|
16
|
-
//#region Offside
|
|
17
|
-
offside = false;
|
|
18
|
-
//#endregion
|
|
19
|
-
classes = true;
|
|
20
|
-
hostClass;
|
|
21
|
-
onTouchStart(ev) {
|
|
22
|
-
if (ev.touches.length === 1) {
|
|
23
|
-
ev.preventDefault();
|
|
24
|
-
this.container.pendingAnimation?.finish();
|
|
25
|
-
setTimeout(() => {
|
|
26
|
-
this.container.startTouch$.next({
|
|
27
|
-
position: {
|
|
28
|
-
x: ev.touches[0].clientX,
|
|
29
|
-
y: ev.touches[0].clientY,
|
|
30
|
-
},
|
|
31
|
-
timestamp: Date.now(),
|
|
32
|
-
});
|
|
33
|
-
this.container.lastTouch$.next({
|
|
34
|
-
position: {
|
|
35
|
-
x: ev.touches[0].clientX,
|
|
36
|
-
y: ev.touches[0].clientY,
|
|
37
|
-
},
|
|
38
|
-
isTouching: true,
|
|
39
|
-
});
|
|
40
|
-
}, 20);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
onTouchMove(ev) {
|
|
44
|
-
this.container.lastTouch$.next({
|
|
45
|
-
position: {
|
|
46
|
-
x: ev.touches[0].clientX,
|
|
47
|
-
y: ev.touches[0].clientY,
|
|
48
|
-
},
|
|
49
|
-
isTouching: true,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
onTouchEnd(ev) {
|
|
53
|
-
combineLatest([this.container.startTouch$, this.container.lastTouch$])
|
|
54
|
-
.pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))
|
|
55
|
-
.pipe(take(1))
|
|
56
|
-
.subscribe(([startTouch, lastTouch]) => {
|
|
57
|
-
if (!!startTouch && !!lastTouch) {
|
|
58
|
-
const dx = lastTouch.position.x - startTouch.position.x;
|
|
59
|
-
this.container.onSwipe(dx);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: BsSwipeDirective, selector: "[bsSwipe]", inputs: { offside: "offside" }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.align-top": "this.classes", "class.d-inline-block": "this.classes", "class.float-none": "this.classes", "class.w-100": "this.classes", "class.pe-auto": "this.classes", "class.me-0": "this.classes", "class": "this.hostClass" } }, hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwipeDirective, decorators: [{
|
|
67
|
-
type: Directive,
|
|
68
|
-
args: [{
|
|
69
|
-
selector: '[bsSwipe]',
|
|
70
|
-
hostDirectives: [BsObserveSizeDirective]
|
|
71
|
-
}]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }], propDecorators: { offside: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], classes: [{
|
|
75
|
-
type: HostBinding,
|
|
76
|
-
args: ['class.align-top']
|
|
77
|
-
}, {
|
|
78
|
-
type: HostBinding,
|
|
79
|
-
args: ['class.d-inline-block']
|
|
80
|
-
}, {
|
|
81
|
-
type: HostBinding,
|
|
82
|
-
args: ['class.float-none']
|
|
83
|
-
}, {
|
|
84
|
-
type: HostBinding,
|
|
85
|
-
args: ['class.w-100']
|
|
86
|
-
}, {
|
|
87
|
-
type: HostBinding,
|
|
88
|
-
args: ['class.pe-auto']
|
|
89
|
-
}, {
|
|
90
|
-
type: HostBinding,
|
|
91
|
-
args: ['class.me-0']
|
|
92
|
-
}], hostClass: [{
|
|
93
|
-
type: HostBinding,
|
|
94
|
-
args: ['class']
|
|
95
|
-
}], onTouchStart: [{
|
|
96
|
-
type: HostListener,
|
|
97
|
-
args: ['touchstart', ['$event']]
|
|
98
|
-
}], onTouchMove: [{
|
|
99
|
-
type: HostListener,
|
|
100
|
-
args: ['touchmove', ['$event']]
|
|
101
|
-
}], onTouchEnd: [{
|
|
102
|
-
type: HostListener,
|
|
103
|
-
args: ['touchend', ['$event']]
|
|
104
|
-
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvc3JjL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBT25ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFUDtJQUFwQixZQUFvQixTQUFvQyxFQUFFLFdBQW1DO1FBQXpFLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLG9EQUFvRDtRQUNwRCw2R0FBNkc7SUFDL0csQ0FBQztJQUVELFdBQVcsQ0FBeUI7SUFFcEMsaUJBQWlCO0lBQ0QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQyxZQUFZO0lBUVosT0FBTyxHQUFHLElBQUksQ0FBQztJQUVPLFNBQVMsQ0FBVTtJQUd6QyxZQUFZLENBQUMsRUFBYztRQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBRTFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUM5QixRQUFRLEVBQUU7d0JBQ1IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzt3QkFDeEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztxQkFDekI7b0JBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQzdCLFFBQVEsRUFBRTt3QkFDUixDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO3dCQUN4QixDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFHRCxXQUFXLENBQUMsRUFBYztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDN0IsUUFBUSxFQUFFO2dCQUNSLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87YUFDekI7WUFDRCxVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsVUFBVSxDQUFDLEVBQWM7UUFDdkIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQXZFVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsY0FBYyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3pDO21JQVlpQixPQUFPO3NCQUF0QixLQUFLO2dCQVNOLE9BQU87c0JBTk4sV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixXQUFXO3VCQUFDLHNCQUFzQjs7c0JBQ2xDLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyxZQUFZO2dCQUdILFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFHcEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEwQnRDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUgfSBmcm9tIFwiQG1pbnRwbGF5ZXIvbmctc3dpcGVyL29ic2VydmUtc2l6ZVwiO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi4vc3dpcGUtY29udGFpbmVyL3N3aXBlLWNvbnRhaW5lci5kaXJlY3RpdmVcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzU3dpcGVdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtCc09ic2VydmVTaXplRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lcjogQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSwgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUpIHtcbiAgICB0aGlzLm9ic2VydmVTaXplID0gb2JzZXJ2ZVNpemU7XG4gICAgLy8gY29udGFpbmVyLm9yaWVudGF0aW9uJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgIC8vICAgLnN1YnNjcmliZShvcmllbnRhdGlvbiA9PiB0aGlzLmhvc3RDbGFzcyA9IChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJykgPyAnZC1ibG9jaycgOiAnZC1pbmxpbmUtYmxvY2snKTtcbiAgfVxuXG4gIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlO1xuXG4gIC8vI3JlZ2lvbiBPZmZzaWRlXG4gIEBJbnB1dCgpIHB1YmxpYyBvZmZzaWRlID0gZmFsc2U7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWxpZ24tdG9wJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWlubGluZS1ibG9jaycpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXQtbm9uZScpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBlLWF1dG8nKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lLTAnKVxuICBjbGFzc2VzID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgaG9zdENsYXNzPzogc3RyaW5nO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBvblRvdWNoU3RhcnQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoZXYudG91Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5wZW5kaW5nQW5pbWF0aW9uPy5maW5pc2goKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLnN0YXJ0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5sYXN0VG91Y2gkLm5leHQoe1xuICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICB5OiBldi50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sIDIwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNoTW92ZShldjogVG91Y2hFdmVudCkge1xuICAgIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQubmV4dCh7XG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgIH0sXG4gICAgICBpc1RvdWNoaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICBvblRvdWNoRW5kKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb250YWluZXIuc3RhcnRUb3VjaCQsIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4gISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoXSkgPT4ge1xuICAgICAgICBpZiAoISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSB7XG4gICAgICAgICAgY29uc3QgZHggPSBsYXN0VG91Y2gucG9zaXRpb24ueCAtIHN0YXJ0VG91Y2gucG9zaXRpb24ueDtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lci5vblN3aXBlKGR4KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { animate, style } from '@angular/animations';
|
|
4
|
-
import { ContentChildren, Directive, EventEmitter, forwardRef, HostBinding, Inject, Input, Output } from '@angular/core';
|
|
5
|
-
import { BehaviorSubject, combineLatest, debounceTime, delay, filter, map, mergeMap, take } from 'rxjs';
|
|
6
|
-
import { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';
|
|
7
|
-
import { BsSwipeDirective } from '../swipe/swipe.directive';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/animations";
|
|
10
|
-
import * as i2 from "@mintplayer/ng-swiper/observe-size";
|
|
11
|
-
export class BsSwipeContainerDirective {
|
|
12
|
-
animationBuilder;
|
|
13
|
-
observeSize;
|
|
14
|
-
constructor(element, animationBuilder, document, observeSize) {
|
|
15
|
-
this.animationBuilder = animationBuilder;
|
|
16
|
-
this.observeSize = observeSize;
|
|
17
|
-
this.containerElement = element;
|
|
18
|
-
this.document = document;
|
|
19
|
-
this.offset$ = combineLatest([this.startTouch$, this.lastTouch$, this.imageIndex$, this.isViewInited$])
|
|
20
|
-
.pipe(map(([startTouch, lastTouch, imageIndex, isViewInited]) => {
|
|
21
|
-
if (!isViewInited) {
|
|
22
|
-
return (-imageIndex * 100);
|
|
23
|
-
}
|
|
24
|
-
else if (!!startTouch && !!lastTouch) {
|
|
25
|
-
return (-imageIndex * 100 + (lastTouch.position.x - startTouch.position.x) / this.containerElement.nativeElement.clientWidth * 100);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
return (-imageIndex * 100);
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
31
|
-
this.padLeft$ = this.swipes$.pipe(map(swipes => {
|
|
32
|
-
if (!swipes) {
|
|
33
|
-
return 0;
|
|
34
|
-
}
|
|
35
|
-
let count = 0;
|
|
36
|
-
for (const s of swipes) {
|
|
37
|
-
if (!s.offside) {
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
count++;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return count;
|
|
45
|
-
}));
|
|
46
|
-
this.padRight$ = this.swipes$.pipe(map(swipes => {
|
|
47
|
-
if (!swipes) {
|
|
48
|
-
return 0;
|
|
49
|
-
}
|
|
50
|
-
let count = 0;
|
|
51
|
-
for (const s of swipes.toArray().reverse()) {
|
|
52
|
-
if (!s.offside) {
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
count++;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return count;
|
|
60
|
-
}));
|
|
61
|
-
this.offsetLeft$ = combineLatest([this.offset$, this.padLeft$])
|
|
62
|
-
.pipe(map(([offset, padLeft]) => offset - padLeft * 100));
|
|
63
|
-
this.offsetRight$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])
|
|
64
|
-
.pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));
|
|
65
|
-
this.offsetLeft$.pipe(takeUntilDestroyed())
|
|
66
|
-
.subscribe(offsetLeft => this.offsetLeft = offsetLeft);
|
|
67
|
-
this.offsetRight$.pipe(takeUntilDestroyed())
|
|
68
|
-
.subscribe(offsetRight => this.offsetRight = offsetRight);
|
|
69
|
-
this.imageIndex$.pipe(takeUntilDestroyed())
|
|
70
|
-
.subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));
|
|
71
|
-
this.actualSwipes$ = this.swipes$
|
|
72
|
-
.pipe(map(swipes => {
|
|
73
|
-
if (swipes) {
|
|
74
|
-
return swipes.filter(swipe => !swipe.offside);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
return [];
|
|
78
|
-
}
|
|
79
|
-
}));
|
|
80
|
-
this.slideSizes$ = this.actualSwipes$
|
|
81
|
-
.pipe(delay(400), filter(swipes => !!swipes))
|
|
82
|
-
.pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))));
|
|
83
|
-
this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$])
|
|
84
|
-
.pipe(map(([slideSizes, imageIndex]) => {
|
|
85
|
-
const maxHeight = Math.max(...slideSizes.map(s => s?.height ?? 1));
|
|
86
|
-
console.log('maxHeight', { maxHeight, slideSizes });
|
|
87
|
-
const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;
|
|
88
|
-
// switch (orientation) {
|
|
89
|
-
// case 'horizontal':
|
|
90
|
-
return currHeight;
|
|
91
|
-
// case 'vertical':
|
|
92
|
-
// return maxHeight;
|
|
93
|
-
// }
|
|
94
|
-
}))
|
|
95
|
-
.pipe(debounceTime(10));
|
|
96
|
-
}
|
|
97
|
-
offsetLeft = null;
|
|
98
|
-
offsetRight = null;
|
|
99
|
-
offsetTop = null;
|
|
100
|
-
offsetBottom = null;
|
|
101
|
-
set swipes(value) {
|
|
102
|
-
setTimeout(() => this.swipes$.next(value));
|
|
103
|
-
}
|
|
104
|
-
minimumOffset = 50;
|
|
105
|
-
//#region ImageIndex
|
|
106
|
-
get imageIndex() {
|
|
107
|
-
return this.imageIndex$.value;
|
|
108
|
-
}
|
|
109
|
-
set imageIndex(value) {
|
|
110
|
-
this.imageIndex$.next(value);
|
|
111
|
-
}
|
|
112
|
-
imageIndexChange = new EventEmitter();
|
|
113
|
-
//#endregion
|
|
114
|
-
actualSwipes$;
|
|
115
|
-
isViewInited$ = new BehaviorSubject(false);
|
|
116
|
-
startTouch$ = new BehaviorSubject(null);
|
|
117
|
-
lastTouch$ = new BehaviorSubject(null);
|
|
118
|
-
swipes$ = new BehaviorSubject(null);
|
|
119
|
-
// TODO: slide sizes instead
|
|
120
|
-
slideSizes$;
|
|
121
|
-
imageIndex$ = new BehaviorSubject(0);
|
|
122
|
-
currentSlideHeight$;
|
|
123
|
-
pendingAnimation;
|
|
124
|
-
containerElement;
|
|
125
|
-
document;
|
|
126
|
-
// TODO: Don't just keep px, but both px and % using currentslidesize$
|
|
127
|
-
offset$;
|
|
128
|
-
offsetLeft$;
|
|
129
|
-
offsetRight$;
|
|
130
|
-
padLeft$;
|
|
131
|
-
padRight$;
|
|
132
|
-
ngAfterViewInit() {
|
|
133
|
-
this.isViewInited$.next(true);
|
|
134
|
-
}
|
|
135
|
-
animateToIndexByDx(dx) {
|
|
136
|
-
combineLatest([this.imageIndex$, this.actualSwipes$]).pipe(take(1))
|
|
137
|
-
.subscribe(([imageIndex, actualSwipes]) => {
|
|
138
|
-
const direction = dx > 0 ? 'left' : 'right';
|
|
139
|
-
let newIndex;
|
|
140
|
-
if (Math.abs(dx) < this.minimumOffset) {
|
|
141
|
-
newIndex = imageIndex;
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
newIndex = imageIndex + (direction === 'right' ? 1 : -1);
|
|
145
|
-
}
|
|
146
|
-
this.animateToIndex(imageIndex, newIndex, dx, actualSwipes?.length ?? 1);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
animateToIndex(oldIndex, newIndex, dx, totalSlides) {
|
|
150
|
-
this.pendingAnimation = this.animationBuilder.build([
|
|
151
|
-
style({ 'margin-left': (-(oldIndex + 1) * this.containerElement.nativeElement.clientWidth + dx) + 'px', 'margin-right': ((oldIndex + 1) * this.containerElement.nativeElement.clientWidth - dx) + 'px' }),
|
|
152
|
-
animate('500ms ease', style({ 'margin-left': (-(newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px', 'margin-right': ((newIndex + 1) * this.containerElement.nativeElement.clientWidth) + 'px' })),
|
|
153
|
-
]).create(this.containerElement.nativeElement);
|
|
154
|
-
this.pendingAnimation.onDone(() => {
|
|
155
|
-
// Correct the image index
|
|
156
|
-
if (newIndex === -1) {
|
|
157
|
-
this.imageIndex$.next(totalSlides - 1);
|
|
158
|
-
}
|
|
159
|
-
else if (newIndex === totalSlides) {
|
|
160
|
-
this.imageIndex$.next(0);
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
this.imageIndex$.next(newIndex);
|
|
164
|
-
}
|
|
165
|
-
this.startTouch$.next(null);
|
|
166
|
-
this.lastTouch$.next(null);
|
|
167
|
-
this.pendingAnimation?.destroy();
|
|
168
|
-
this.pendingAnimation = undefined;
|
|
169
|
-
});
|
|
170
|
-
this.pendingAnimation.play();
|
|
171
|
-
}
|
|
172
|
-
onSwipe(dx) {
|
|
173
|
-
this.animateToIndexByDx(dx);
|
|
174
|
-
}
|
|
175
|
-
previous() {
|
|
176
|
-
this.gotoAnimate(-1, 'relative');
|
|
177
|
-
}
|
|
178
|
-
next() {
|
|
179
|
-
this.gotoAnimate(1, 'relative');
|
|
180
|
-
}
|
|
181
|
-
goto(index) {
|
|
182
|
-
this.gotoAnimate(index, 'absolute');
|
|
183
|
-
}
|
|
184
|
-
gotoAnimate(index, type) {
|
|
185
|
-
this.pendingAnimation?.finish();
|
|
186
|
-
setTimeout(() => {
|
|
187
|
-
combineLatest([this.actualSwipes$, this.imageIndex$]).pipe(take(1)).subscribe(([actualSwipes, imageIndex]) => {
|
|
188
|
-
this.pendingAnimation?.finish();
|
|
189
|
-
const idx = (type === 'relative') ? imageIndex + index : index;
|
|
190
|
-
this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);
|
|
191
|
-
});
|
|
192
|
-
}, 20);
|
|
193
|
-
}
|
|
194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
195
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: { minimumOffset: "minimumOffset", imageIndex: "imageIndex" }, outputs: { imageIndexChange: "imageIndexChange" }, host: { properties: { "style.margin-left.%": "this.offsetLeft", "style.margin-right.%": "this.offsetRight", "style.margin-top.%": "this.offsetTop", "style.margin-bottom.%": "this.offsetBottom" } }, queries: [{ propertyName: "swipes", predicate: i0.forwardRef(() => BsSwipeDirective) }], exportAs: ["bsSwipeContainer"], hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });
|
|
196
|
-
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{
|
|
198
|
-
type: Directive,
|
|
199
|
-
args: [{
|
|
200
|
-
selector: '[bsSwipeContainer]',
|
|
201
|
-
exportAs: 'bsSwipeContainer',
|
|
202
|
-
hostDirectives: [BsObserveSizeDirective]
|
|
203
|
-
}]
|
|
204
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: undefined, decorators: [{
|
|
205
|
-
type: Inject,
|
|
206
|
-
args: [DOCUMENT]
|
|
207
|
-
}] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{
|
|
208
|
-
type: HostBinding,
|
|
209
|
-
args: ['style.margin-left.%']
|
|
210
|
-
}], offsetRight: [{
|
|
211
|
-
type: HostBinding,
|
|
212
|
-
args: ['style.margin-right.%']
|
|
213
|
-
}], offsetTop: [{
|
|
214
|
-
type: HostBinding,
|
|
215
|
-
args: ['style.margin-top.%']
|
|
216
|
-
}], offsetBottom: [{
|
|
217
|
-
type: HostBinding,
|
|
218
|
-
args: ['style.margin-bottom.%']
|
|
219
|
-
}], swipes: [{
|
|
220
|
-
type: ContentChildren,
|
|
221
|
-
args: [forwardRef(() => BsSwipeDirective)]
|
|
222
|
-
}], minimumOffset: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], imageIndex: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], imageIndexChange: [{
|
|
227
|
-
type: Output
|
|
228
|
-
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFxQyxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEgsT0FBTyxFQUFFLHNCQUFzQixFQUFRLE1BQU0sb0NBQW9DLENBQUM7QUFHbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFPNUQsTUFBTSxPQUFPLHlCQUF5QjtJQUVLO0lBQTZFO0lBQXRILFlBQVksT0FBbUIsRUFBVSxnQkFBa0MsRUFBb0IsUUFBYSxFQUFVLFdBQW1DO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBMkMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ3ZKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBYSxRQUFRLENBQUM7UUFD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NEVBRWlELFFBQVE7MkZBRmxGLHlCQUF5QixvYUEyRkYsZ0JBQWdCOzsyRkEzRnZDLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixjQUFjLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDekM7OzBCQUcrRSxNQUFNOzJCQUFDLFFBQVE7OEVBcUZ6RCxVQUFVO3NCQUE3QyxXQUFXO3VCQUFDLHFCQUFxQjtnQkFDRyxXQUFXO3NCQUEvQyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDQSxTQUFTO3NCQUEzQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSyxZQUFZO3NCQUFqRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDcUIsTUFBTTtzQkFBOUQsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBRzFDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTWMsVUFBVTtzQkFBN0IsS0FBSztnQkFHSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25CdWlsZGVyLCBBbmltYXRpb25QbGF5ZXIsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBkZWxheSwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc09ic2VydmVTaXplRGlyZWN0aXZlLCBTaXplIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyL29ic2VydmUtc2l6ZSc7XG5pbXBvcnQgeyBMYXN0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xhc3QtdG91Y2gnO1xuaW1wb3J0IHsgU3RhcnRUb3VjaCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RhcnQtdG91Y2gnO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4uL3N3aXBlL3N3aXBlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1N3aXBlQ29udGFpbmVyXScsXG4gIGV4cG9ydEFzOiAnYnNTd2lwZUNvbnRhaW5lcicsXG4gIGhvc3REaXJlY3RpdmVzOiBbQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSwgcHJpdmF0ZSBvYnNlcnZlU2l6ZTogQnNPYnNlcnZlU2l6ZURpcmVjdGl2ZSkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLm9mZnNldCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXJ0VG91Y2gkLCB0aGlzLmxhc3RUb3VjaCQsIHRoaXMuaW1hZ2VJbmRleCQsIHRoaXMuaXNWaWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShtYXAoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIGltYWdlSW5kZXgsIGlzVmlld0luaXRlZF0pID0+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=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './last-touch';
|
|
2
|
-
export * from './point';
|
|
3
|
-
export * from './start-touch';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGFzdC10b3VjaCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhcnQtdG91Y2gnOyJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC10b3VjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9pbnRlcmZhY2VzL2xhc3QtdG91Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50IH0gZnJvbSBcIi4vcG9pbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMYXN0VG91Y2gge1xuICAgIHBvc2l0aW9uOiBQb2ludDtcbiAgICBpc1RvdWNoaW5nOiBib29sZWFuO1xufVxuICAiXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cbiAgIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctc3dpcGVyL3N3aXBlci9zcmMvaW50ZXJmYWNlcy9zdGFydC10b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQgfSBmcm9tIFwiLi9wb2ludFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0VG91Y2gge1xuICAgIHBvc2l0aW9uOiBQb2ludDtcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cbiAgIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { BsSwipeDirective } from './directives/swipe/swipe.directive';
|
|
4
|
-
import { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BsSwiperModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BsSwiperModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [CommonModule],
|
|
15
|
-
declarations: [BsSwipeDirective, BsSwipeContainerDirective],
|
|
16
|
-
exports: [BsSwipeDirective, BsSwipeContainerDirective],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBSFYsZ0JBQWdCLEVBQUUseUJBQXlCLGFBRGhELFlBQVksYUFFWixnQkFBZ0IsRUFBRSx5QkFBeUI7d0dBRTFDLGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19
|