@mintplayer/ng-swiper 20.3.0 → 21.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs +15 -25
- package/fesm2022/mintplayer-ng-swiper-observe-size.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs +254 -254
- package/fesm2022/mintplayer-ng-swiper-swiper.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-swiper.mjs.map +1 -1
- package/package.json +9 -9
- package/types/mintplayer-ng-swiper-observe-size.d.ts +25 -0
- package/types/mintplayer-ng-swiper-swiper.d.ts +90 -0
- package/observe-size/index.d.ts +0 -26
- package/swiper/index.d.ts +0 -94
- /package/{index.d.ts → types/mintplayer-ng-swiper.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-swiper-swiper.mjs","sources":["../tmp-esm2022/swiper/src/directives/swipe-container/swipe-container.directive.js","../tmp-esm2022/swiper/src/directives/swipe/swipe.directive.js","../tmp-esm2022/swiper/src/swiper.module.js","../tmp-esm2022/swiper/mintplayer-ng-swiper-swiper.js"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { animate, style } from '@angular/animations';\nimport { ContentChildren, Directive, EventEmitter, forwardRef, HostBinding, Inject, Input, Output } from '@angular/core';\nimport { BehaviorSubject, combineLatest, debounceTime, delay, distinctUntilChanged, filter, map, mergeMap, shareReplay, take } from 'rxjs';\nimport { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';\nimport { BsSwipeDirective } from '../swipe/swipe.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/animations\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeContainerDirective {\n animationBuilder;\n destroy;\n observeSize;\n constructor(element, animationBuilder, destroy, document, observeSize) {\n this.animationBuilder = animationBuilder;\n this.destroy = destroy;\n this.observeSize = observeSize;\n this.containerElement = element;\n this.document = document;\n this.offset$ = combineLatest([\n this.startTouch$,\n this.lastTouch$,\n this.imageIndex$,\n this.isViewInited$,\n this.orientation$,\n this.observeSize.size$,\n ])\n .pipe(map(([startTouch, lastTouch, imageIndex, isViewInited, orientation, containerSize]) => {\n if (!isViewInited) {\n return (-imageIndex * 100);\n }\n else if (!!startTouch && !!lastTouch) {\n const containerLength = orientation === 'horizontal'\n ? (containerSize?.width ?? this.containerElement.nativeElement.clientWidth)\n : (containerSize?.height ?? this.containerElement.nativeElement.clientHeight);\n if (containerLength === 0) {\n return (-imageIndex * 100);\n }\n const delta = orientation === 'horizontal'\n ? (lastTouch.position.x - startTouch.position.x)\n : (lastTouch.position.y - startTouch.position.y);\n return (-imageIndex * 100 + (delta / containerLength) * 100);\n }\n else {\n return (-imageIndex * 100);\n }\n }));\n this.padLeft$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes) {\n if (!s.offside()) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.padRight$ = this.swipes$.pipe(map(swipes => {\n if (!swipes) {\n return 0;\n }\n let count = 0;\n for (const s of swipes.toArray().reverse()) {\n if (!s.offside()) {\n break;\n }\n else {\n count++;\n }\n }\n return count;\n }));\n this.offsetPrimary$ = combineLatest([this.offset$, this.padLeft$])\n .pipe(map(([offset, padLeft]) => offset - padLeft * 100));\n this.offsetSecondary$ = combineLatest([this.offset$, this.padLeft$, this.padRight$])\n .pipe(map(([offset, padLeft, padRight]) => -(offset - padLeft * 100) - (padRight - 1) * 100));\n combineLatest([this.offsetPrimary$, this.orientation$])\n .pipe(takeUntilDestroyed())\n .subscribe(([offsetPrimary, orientation]) => {\n if (orientation === 'horizontal') {\n this.offsetLeft = offsetPrimary;\n this.offsetTop = null;\n }\n else {\n this.offsetTop = offsetPrimary;\n this.offsetLeft = null;\n }\n });\n combineLatest([this.offsetSecondary$, this.orientation$])\n .pipe(takeUntilDestroyed())\n .subscribe(([offsetSecondary, orientation]) => {\n if (orientation === 'horizontal') {\n this.offsetRight = offsetSecondary;\n this.offsetBottom = null;\n }\n else {\n this.offsetBottom = offsetSecondary;\n this.offsetRight = null;\n }\n });\n this.imageIndex$.pipe(takeUntilDestroyed())\n .subscribe(imageIndex => this.imageIndexChange.emit(imageIndex));\n this.actualSwipes$ = this.swipes$\n .pipe(map(swipes => {\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside());\n }\n else {\n return [];\n }\n }));\n this.slideSizes$ = this.actualSwipes$\n .pipe(delay(400), filter(swipes => !!swipes))\n .pipe(mergeMap(swipes => combineLatest(swipes.map(swipe => swipe.observeSize.size$))))\n .pipe(shareReplay({ bufferSize: 1, refCount: true }));\n this.maxSlideHeight$ = this.slideSizes$\n .pipe(map(slideSizes => {\n const heights = slideSizes.map(s => s?.height ?? 1);\n return heights.length ? Math.max(...heights) : 1;\n }))\n .pipe(shareReplay({ bufferSize: 1, refCount: true }));\n this.currentSlideHeight$ = combineLatest([this.slideSizes$, this.imageIndex$, this.orientation$])\n .pipe(map(([slideSizes, imageIndex, orientation]) => {\n const heights = slideSizes.map(s => s?.height ?? 1);\n const maxHeight = heights.length ? Math.max(...heights) : 1;\n const currHeight = slideSizes[imageIndex]?.height ?? maxHeight;\n return (orientation === 'vertical') ? maxHeight : currHeight;\n }))\n .pipe(shareReplay({ bufferSize: 1, refCount: true }))\n .pipe(debounceTime(10));\n this.orientation$\n .pipe(distinctUntilChanged(), takeUntilDestroyed())\n .subscribe(() => {\n this.offsetLeft = null;\n this.offsetRight = null;\n this.offsetTop = null;\n this.offsetBottom = null;\n });\n }\n offsetLeft = null;\n offsetRight = null;\n offsetTop = null;\n offsetBottom = null;\n set swipes(value) {\n setTimeout(() => this.swipes$.next(value));\n }\n minimumOffset = 50;\n get orientation() {\n return this.orientation$.value;\n }\n set orientation(value) {\n this.orientation$.next(value ?? 'horizontal');\n }\n //#region ImageIndex\n get imageIndex() {\n return this.imageIndex$.value;\n }\n set imageIndex(value) {\n this.imageIndex$.next(value);\n }\n imageIndexChange = new EventEmitter();\n //#endregion\n actualSwipes$;\n isViewInited$ = new BehaviorSubject(false);\n startTouch$ = new BehaviorSubject(null);\n lastTouch$ = new BehaviorSubject(null);\n swipes$ = new BehaviorSubject(null);\n // TODO: slide sizes instead\n slideSizes$;\n maxSlideHeight$;\n imageIndex$ = new BehaviorSubject(0);\n currentSlideHeight$;\n pendingAnimation;\n containerElement;\n document;\n // TODO: Don't just keep px, but both px and % using currentslidesize$\n offset$;\n offsetPrimary$;\n offsetSecondary$;\n padLeft$;\n padRight$;\n orientation$ = new BehaviorSubject('horizontal');\n ngAfterViewInit() {\n this.isViewInited$.next(true);\n }\n animateToIndexByDx(distance) {\n combineLatest([this.imageIndex$, this.actualSwipes$])\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([imageIndex, actualSwipes]) => {\n let newIndex;\n if (Math.abs(distance) < this.minimumOffset) {\n newIndex = imageIndex;\n }\n else {\n newIndex = imageIndex + (distance < 0 ? 1 : -1);\n }\n this.animateToIndex(imageIndex, newIndex, distance, actualSwipes?.length ?? 1);\n });\n }\n animateToIndex(oldIndex, newIndex, distance, totalSlides) {\n const orientation = this.orientation$.value;\n const containerElement = this.containerElement.nativeElement;\n const containerLength = orientation === 'horizontal' ? containerElement.clientWidth : containerElement.clientHeight;\n if (orientation === 'horizontal') {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-left': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-right': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-left': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-right': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n }\n else {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-top': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-bottom': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-top': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-bottom': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n }\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex$.next(totalSlides - 1);\n }\n else if (newIndex === totalSlides) {\n this.imageIndex$.next(0);\n }\n else {\n this.imageIndex$.next(newIndex);\n }\n this.startTouch$.next(null);\n this.lastTouch$.next(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n });\n this.pendingAnimation.play();\n }\n onSwipe(distance) {\n this.animateToIndexByDx(distance);\n }\n previous() {\n this.gotoAnimate(-1, 'relative');\n }\n next() {\n this.gotoAnimate(1, 'relative');\n }\n goto(index) {\n this.gotoAnimate(index, 'absolute');\n }\n gotoAnimate(index, type) {\n this.pendingAnimation?.finish();\n setTimeout(() => {\n combineLatest([this.actualSwipes$, this.imageIndex$])\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([actualSwipes, imageIndex]) => {\n this.pendingAnimation?.finish();\n const idx = (type === 'relative') ? imageIndex + index : index;\n this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);\n });\n }, 20);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: i0.DestroyRef }, { token: DOCUMENT }, { token: i2.BsObserveSizeDirective }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BsSwipeContainerDirective, isStandalone: false, selector: \"[bsSwipeContainer]\", inputs: { minimumOffset: \"minimumOffset\", orientation: \"orientation\", imageIndex: \"imageIndex\" }, outputs: { imageIndexChange: \"imageIndexChange\" }, host: { properties: { \"style.margin-left.%\": \"this.offsetLeft\", \"style.margin-right.%\": \"this.offsetRight\", \"style.margin-top.%\": \"this.offsetTop\", \"style.margin-bottom.%\": \"this.offsetBottom\" } }, queries: [{ propertyName: \"swipes\", predicate: i0.forwardRef(() => BsSwipeDirective) }], exportAs: [\"bsSwipeContainer\"], hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipeContainer]',\n exportAs: 'bsSwipeContainer',\n standalone: false,\n hostDirectives: [BsObserveSizeDirective],\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: i0.DestroyRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i2.BsObserveSizeDirective }], propDecorators: { offsetLeft: [{\n type: HostBinding,\n args: ['style.margin-left.%']\n }], offsetRight: [{\n type: HostBinding,\n args: ['style.margin-right.%']\n }], offsetTop: [{\n type: HostBinding,\n args: ['style.margin-top.%']\n }], offsetBottom: [{\n type: HostBinding,\n args: ['style.margin-bottom.%']\n }], swipes: [{\n type: ContentChildren,\n args: [forwardRef(() => BsSwipeDirective)]\n }], minimumOffset: [{\n type: Input\n }], orientation: [{\n type: Input\n }], imageIndex: [{\n type: Input\n }], imageIndexChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9kaXJlY3RpdmVzL3N3aXBlLWNvbnRhaW5lci9zd2lwZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFxQyxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RixPQUFPLEVBQWlCLGVBQWUsRUFBYyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0ssT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxzQkFBc0IsRUFBUSxNQUFNLG9DQUFvQyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyx5QkFBeUI7SUFFSztJQUE0QztJQUE4RDtJQUFuSixZQUFZLE9BQW1CLEVBQVUsZ0JBQWtDLEVBQVUsT0FBbUIsRUFBb0IsUUFBYSxFQUFVLFdBQW1DO1FBQTdJLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQTJDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNwTCxJQUFJLENB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QUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzt1R0FsUlUseUJBQXlCLHNHQUU4RSxRQUFROzJGQUYvRyx5QkFBeUIscWRBMElGLGdCQUFnQjs7MkZBMUl2Qyx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLGNBQWMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUN6Qzs7MEJBRzRHLE1BQU07MkJBQUMsUUFBUTs4RUFvSXRGLFVBQVU7c0JBQTdDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUNHLFdBQVc7c0JBQS9DLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNBLFNBQVM7c0JBQTNDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNLLFlBQVk7c0JBQWpELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNxQixNQUFNO3NCQUE5RCxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFHMUMsYUFBYTtzQkFBckIsS0FBSztnQkFLYyxXQUFXO3NCQUE5QixLQUFLO2dCQVFjLFVBQVU7c0JBQTdCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uUGxheWVyLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc09ic2VydmVTaXplRGlyZWN0aXZlLCBTaXplIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyL29ic2VydmUtc2l6ZSc7XG5pbXBvcnQgeyBMYXN0VG91Y2ggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xhc3QtdG91Y2gnO1xuaW1wb3J0IHsgU3RhcnRUb3VjaCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RhcnQtdG91Y2gnO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4uL3N3aXBlL3N3aXBlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1N3aXBlQ29udGFpbmVyXScsXG4gIGV4cG9ydEFzOiAnYnNTd2lwZUNvbnRhaW5lcicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBob3N0RGlyZWN0aXZlczogW0JzT2JzZXJ2ZVNpemVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBhbmltYXRpb25CdWlsZGVyOiBBbmltYXRpb25CdWlsZGVyLCBwcml2YXRlIGRlc3Ryb3k6IERlc3Ryb3lSZWYsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksIHByaXZhdGUgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUpIHtcbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuZG9jdW1lbnQgPSA8RG9jdW1lbnQ+ZG9jdW1lbnQ7XG4gICAgdGhpcy5vZmZzZXQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0YXJ0VG91Y2gkLFxuICAgICAgdGhpcy5sYXN0VG91Y2gkLFxuICAgICAgdGhpcy5pbWFnZUluZGV4JCxcbiAgICAgIHRoaXMuaXNWaWV3SW5pdGVkJCxcbiAgICAgIHRoaXMub3JpZW50YXRpb24kLFxuICAgICAgdGhpcy5vYnNlcnZlU2l6ZS5zaXplJCxcbiAgICBdKVxuICAgICAgLnBpcGUobWFwKChbc3RhcnRUb3VjaCwgbGFzdFRvdWNoLCBpbWFnZUluZGV4LCBpc1ZpZXdJbml0ZWQsIG9yaWVudGF0aW9uLCBjb250YWluZXJTaXplXSkgPT4ge1xuICAgICAgICBpZiAoIWlzVmlld0luaXRlZCkge1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDApO1xuICAgICAgICB9IGVsc2UgaWYgKCEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkge1xuICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckxlbmd0aCA9IG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgICAgID8gKGNvbnRhaW5lclNpemU/LndpZHRoID8/IHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgICAgICAgICAgOiAoY29udGFpbmVyU2l6ZT8uaGVpZ2h0ID8/IHRoaXMuY29udGFpbmVyRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgICAgICAgaWYgKGNvbnRhaW5lckxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICgtaW1hZ2VJbmRleCAqIDEwMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGRlbHRhID0gb3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICAgICAgPyAobGFzdFRvdWNoLnBvc2l0aW9uLnggLSBzdGFydFRvdWNoLnBvc2l0aW9uLngpXG4gICAgICAgICAgICA6IChsYXN0VG91Y2gucG9zaXRpb24ueSAtIHN0YXJ0VG91Y2gucG9zaXRpb24ueSk7XG4gICAgICAgICAgcmV0dXJuICgtaW1hZ2VJbmRleCAqIDEwMCArIChkZWx0YSAvIGNvbnRhaW5lckxlbmd0aCkgKiAxMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAoLWltYWdlSW5kZXggKiAxMDApO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLnBhZExlZnQkID0gdGhpcy5zd2lwZXMkLnBpcGUobWFwKHN3aXBlcyA9PiB7XG4gICAgICBpZiAoIXN3aXBlcykge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGZvciAoY29uc3QgcyBvZiBzd2lwZXMpIHtcbiAgICAgICAgaWYgKCFzLm9mZnNpZGUoKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9KSk7XG5cbiAgICB0aGlzLnBhZFJpZ2h0JCA9IHRoaXMuc3dpcGVzJC5waXBlKG1hcChzd2lwZXMgPT4ge1xuICAgICAgaWYgKCFzd2lwZXMpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBmb3IgKGNvbnN0IHMgb2Ygc3dpcGVzLnRvQXJyYXkoKS5yZXZlcnNlKCkpIHtcbiAgICAgICAgaWYgKCFzLm9mZnNpZGUoKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9KSk7XG5cbiAgICB0aGlzLm9mZnNldFByaW1hcnkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXQkLCB0aGlzLnBhZExlZnQkXSlcbiAgICAgIC5waXBlKG1hcCgoW29mZnNldCwgcGFkTGVmdF0pID0+IG9mZnNldCAtIHBhZExlZnQgKiAxMDApKTtcbiAgICB0aGlzLm9mZnNldFNlY29uZGFyeSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldCQsIHRoaXMucGFkTGVmdCQsIHRoaXMucGFkUmlnaHQkXSlcbiAgICAgIC5waXBlKG1hcCgoW29mZnNldCwgcGFkTGVmdCwgcGFkUmlnaHRdKSA9PiAtKG9mZnNldCAtIHBhZExlZnQgKiAxMDApIC0gKHBhZFJpZ2h0IC0gMSkgKiAxMDApKTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm9mZnNldFByaW1hcnkkLCB0aGlzLm9yaWVudGF0aW9uJF0pXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtvZmZzZXRQcmltYXJ5LCBvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICB0aGlzLm9mZnNldExlZnQgPSBvZmZzZXRQcmltYXJ5O1xuICAgICAgICAgIHRoaXMub2Zmc2V0VG9wID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9mZnNldFRvcCA9IG9mZnNldFByaW1hcnk7XG4gICAgICAgICAgdGhpcy5vZmZzZXRMZWZ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5vZmZzZXRTZWNvbmRhcnkkLCB0aGlzLm9yaWVudGF0aW9uJF0pXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtvZmZzZXRTZWNvbmRhcnksIG9yaWVudGF0aW9uXSkgPT4ge1xuICAgICAgICBpZiAob3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgIHRoaXMub2Zmc2V0UmlnaHQgPSBvZmZzZXRTZWNvbmRhcnk7XG4gICAgICAgICAgdGhpcy5vZmZzZXRCb3R0b20gPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub2Zmc2V0Qm90dG9tID0gb2Zmc2V0U2Vjb25kYXJ5O1xuICAgICAgICAgIHRoaXMub2Zmc2V0UmlnaHQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLmltYWdlSW5kZXgkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGltYWdlSW5kZXggPT4gdGhpcy5pbWFnZUluZGV4Q2hhbmdlLmVtaXQoaW1hZ2VJbmRleCkpO1xuXG4gICAgdGhpcy5hY3R1YWxTd2lwZXMkID0gdGhpcy5zd2lwZXMkXG4gICAgICAucGlwZShtYXAoc3dpcGVzID0+IHtcbiAgICAgICAgaWYgKHN3aXBlcykge1xuICAgICAgICAgIHJldHVybiBzd2lwZXMuZmlsdGVyKHN3aXBlID0+ICFzd2lwZS5vZmZzaWRlKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy5zbGlkZVNpemVzJCA9IHRoaXMuYWN0dWFsU3dpcGVzJFxuICAgICAgLnBpcGUoZGVsYXkoNDAwKSwgZmlsdGVyKHN3aXBlcyA9PiAhIXN3aXBlcykpXG4gICAgICAucGlwZShtZXJnZU1hcChzd2lwZXMgPT4gY29tYmluZUxhdGVzdChzd2lwZXMubWFwKHN3aXBlID0+IHN3aXBlLm9ic2VydmVTaXplLnNpemUkKSkpKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG5cbiAgICB0aGlzLm1heFNsaWRlSGVpZ2h0JCA9IHRoaXMuc2xpZGVTaXplcyRcbiAgICAgIC5waXBlKG1hcChzbGlkZVNpemVzID0+IHtcbiAgICAgICAgY29uc3QgaGVpZ2h0cyA9IHNsaWRlU2l6ZXMubWFwKHMgPT4gcz8uaGVpZ2h0ID8/IDEpO1xuICAgICAgICByZXR1cm4gaGVpZ2h0cy5sZW5ndGggPyBNYXRoLm1heCguLi5oZWlnaHRzKSA6IDE7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSkpO1xuXG4gICAgdGhpcy5jdXJyZW50U2xpZGVIZWlnaHQkID0gY29tYmluZUxhdGVzdChbdGhpcy5zbGlkZVNpemVzJCwgdGhpcy5pbWFnZUluZGV4JCwgdGhpcy5vcmllbnRhdGlvbiRdKVxuICAgICAgLnBpcGUobWFwKChbc2xpZGVTaXplcywgaW1hZ2VJbmRleCwgb3JpZW50YXRpb25dKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlaWdodHMgPSBzbGlkZVNpemVzLm1hcChzID0+IHM/LmhlaWdodCA/PyAxKTtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gaGVpZ2h0cy5sZW5ndGggPyBNYXRoLm1heCguLi5oZWlnaHRzKSA6IDE7XG4gICAgICAgIGNvbnN0IGN1cnJIZWlnaHQ6IG51bWJlciA9IHNsaWRlU2l6ZXNbaW1hZ2VJbmRleF0/LmhlaWdodCA/PyBtYXhIZWlnaHQ7XG4gICAgICAgIHJldHVybiAob3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcpID8gbWF4SGVpZ2h0IDogY3VyckhlaWdodDtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCkpO1xuXG4gICAgdGhpcy5vcmllbnRhdGlvbiRcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub2Zmc2V0TGVmdCA9IG51bGw7XG4gICAgICAgIHRoaXMub2Zmc2V0UmlnaHQgPSBudWxsO1xuICAgICAgICB0aGlzLm9mZnNldFRvcCA9IG51bGw7XG4gICAgICAgIHRoaXMub2Zmc2V0Qm90dG9tID0gbnVsbDtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tbGVmdC4lJykgb2Zmc2V0TGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLXJpZ2h0LiUnKSBvZmZzZXRSaWdodDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLXRvcC4lJykgb2Zmc2V0VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tYm90dG9tLiUnKSBvZmZzZXRCb3R0b206IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNTd2lwZURpcmVjdGl2ZSkpIHNldCBzd2lwZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1N3aXBlRGlyZWN0aXZlPikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zd2lwZXMkLm5leHQodmFsdWUpKTtcbiAgfVxuICBASW5wdXQoKSBtaW5pbXVtT2Zmc2V0ID0gNTA7XG5cbiAgcHVibGljIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBvcmllbnRhdGlvbih2YWx1ZTogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJykge1xuICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQodmFsdWUgPz8gJ2hvcml6b250YWwnKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBJbWFnZUluZGV4XG4gIHB1YmxpYyBnZXQgaW1hZ2VJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZUluZGV4JC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGltYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIGltYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgLy8jZW5kcmVnaW9uXG4gIFxuICBhY3R1YWxTd2lwZXMkOiBPYnNlcnZhYmxlPEJzU3dpcGVEaXJlY3RpdmVbXT47XG4gIGlzVmlld0luaXRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc3RhcnRUb3VjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXJ0VG91Y2ggfCBudWxsPihudWxsKTtcbiAgbGFzdFRvdWNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGFzdFRvdWNoIHwgbnVsbD4obnVsbCk7XG4gIHN3aXBlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc1N3aXBlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICAvLyBUT0RPOiBzbGlkZSBzaXplcyBpbnN0ZWFkXG4gIHNsaWRlU2l6ZXMkOiBPYnNlcnZhYmxlPChTaXplIHwgdW5kZWZpbmVkKVtdPjtcbiAgbWF4U2xpZGVIZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGltYWdlSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBjdXJyZW50U2xpZGVIZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHBlbmRpbmdBbmltYXRpb24/OiBBbmltYXRpb25QbGF5ZXI7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgLy8gVE9ETzogRG9uJ3QganVzdCBrZWVwIHB4LCBidXQgYm90aCBweCBhbmQgJSB1c2luZyBjdXJyZW50c2xpZGVzaXplJFxuICBvZmZzZXQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIG9mZnNldFByaW1hcnkkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIG9mZnNldFNlY29uZGFyeSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkTGVmdCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgcGFkUmlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgb3JpZW50YXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnPignaG9yaXpvbnRhbCcpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmlzVmlld0luaXRlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGFuaW1hdGVUb0luZGV4QnlEeChkaXN0YW5jZTogbnVtYmVyKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5pbWFnZUluZGV4JCwgdGhpcy5hY3R1YWxTd2lwZXMkXSlcbiAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgoW2ltYWdlSW5kZXgsIGFjdHVhbFN3aXBlc10pID0+IHtcbiAgICAgICAgbGV0IG5ld0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZSkgPCB0aGlzLm1pbmltdW1PZmZzZXQpIHtcbiAgICAgICAgICBuZXdJbmRleCA9IGltYWdlSW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbWFnZUluZGV4ICsgKGRpc3RhbmNlIDwgMCA/IDEgOiAtMSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGVUb0luZGV4KGltYWdlSW5kZXgsIG5ld0luZGV4LCBkaXN0YW5jZSwgYWN0dWFsU3dpcGVzPy5sZW5ndGggPz8gMSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFuaW1hdGVUb0luZGV4KG9sZEluZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIsIGRpc3RhbmNlOiBudW1iZXIsIHRvdGFsU2xpZGVzOiBudW1iZXIpIHtcbiAgICBjb25zdCBvcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24kLnZhbHVlO1xuICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXJMZW5ndGggPSBvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCA6IGNvbnRhaW5lckVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQnVpbGRlci5idWlsZChbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAnbWFyZ2luLWxlZnQnOiAoLShvbGRJbmRleCArIDEpICogY29udGFpbmVyTGVuZ3RoICsgZGlzdGFuY2UpICsgJ3B4JyxcbiAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogKChvbGRJbmRleCArIDEpICogY29udGFpbmVyTGVuZ3RoIC0gZGlzdGFuY2UpICsgJ3B4JyxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UnLCBzdHlsZSh7XG4gICAgICAgICAgJ21hcmdpbi1sZWZ0JzogKC0obmV3SW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCkgKyAncHgnLFxuICAgICAgICAgICdtYXJnaW4tcmlnaHQnOiAoKG5ld0luZGV4ICsgMSkgKiBjb250YWluZXJMZW5ndGgpICsgJ3B4JyxcbiAgICAgICAgfSkpLFxuICAgICAgXSkuY3JlYXRlKGNvbnRhaW5lckVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIuYnVpbGQoW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgJ21hcmdpbi10b3AnOiAoLShvbGRJbmRleCArIDEpICogY29udGFpbmVyTGVuZ3RoICsgZGlzdGFuY2UpICsgJ3B4JyxcbiAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICgob2xkSW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCAtIGRpc3RhbmNlKSArICdweCcsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlJywgc3R5bGUoe1xuICAgICAgICAgICdtYXJnaW4tdG9wJzogKC0obmV3SW5kZXggKyAxKSAqIGNvbnRhaW5lckxlbmd0aCkgKyAncHgnLFxuICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogKChuZXdJbmRleCArIDEpICogY29udGFpbmVyTGVuZ3RoKSArICdweCcsXG4gICAgICAgIH0pKSxcbiAgICAgIF0pLmNyZWF0ZShjb250YWluZXJFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uLm9uRG9uZSgoKSA9PiB7XG4gICAgICAvLyBDb3JyZWN0IHRoZSBpbWFnZSBpbmRleFxuICAgICAgaWYgKG5ld0luZGV4ID09PSAtMSkge1xuICAgICAgICB0aGlzLmltYWdlSW5kZXgkLm5leHQodG90YWxTbGlkZXMgLSAxKTtcbiAgICAgIH0gZWxzZSBpZiAobmV3SW5kZXggPT09IHRvdGFsU2xpZGVzKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dCgwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW1hZ2VJbmRleCQubmV4dChuZXdJbmRleCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXJ0VG91Y2gkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmxhc3RUb3VjaCQubmV4dChudWxsKTtcbiAgICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbj8uZGVzdHJveSgpO1xuICAgICAgdGhpcy5wZW5kaW5nQW5pbWF0aW9uID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbi5wbGF5KCk7XG4gIH1cblxuICBvblN3aXBlKGRpc3RhbmNlOiBudW1iZXIpIHtcbiAgICB0aGlzLmFuaW1hdGVUb0luZGV4QnlEeChkaXN0YW5jZSk7XG4gIH1cblxuICBwcmV2aW91cygpIHtcbiAgICB0aGlzLmdvdG9BbmltYXRlKC0xLCAncmVsYXRpdmUnKTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgdGhpcy5nb3RvQW5pbWF0ZSgxLCAncmVsYXRpdmUnKTtcbiAgfVxuXG4gIGdvdG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZ290b0FuaW1hdGUoaW5kZXgsICdhYnNvbHV0ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb3RvQW5pbWF0ZShpbmRleDogbnVtYmVyLCB0eXBlOiAnYWJzb2x1dGUnIHwgJ3JlbGF0aXZlJykge1xuICAgIHRoaXMucGVuZGluZ0FuaW1hdGlvbj8uZmluaXNoKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmFjdHVhbFN3aXBlcyQsIHRoaXMuaW1hZ2VJbmRleCRdKVxuICAgICAgICAucGlwZSh0YWtlKDEpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoW2FjdHVhbFN3aXBlcywgaW1hZ2VJbmRleF0pID0+IHtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuICAgICAgICAgIGNvbnN0IGlkeCA9ICh0eXBlID09PSAncmVsYXRpdmUnKSA/IGltYWdlSW5kZXggKyBpbmRleCA6IGluZGV4O1xuICAgICAgICAgIHRoaXMuYW5pbWF0ZVRvSW5kZXgoaW1hZ2VJbmRleCwgaWR4LCAwLCBhY3R1YWxTd2lwZXM/Lmxlbmd0aCA/PyAxKTtcbiAgICAgICAgfSk7XG4gICAgfSwgMjApO1xuICB9XG5cbn1cbiJdfQ==","import { Directive, HostBinding, HostListener, input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { combineLatest, filter, take } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../swipe-container/swipe-container.directive\";\nimport * as i2 from \"@mintplayer/ng-swiper/observe-size\";\nexport class BsSwipeDirective {\n container;\n destroy;\n constructor(container, observeSize, destroy) {\n this.container = container;\n this.destroy = destroy;\n this.observeSize = observeSize;\n this.container.orientation$\n .pipe(takeUntilDestroyed())\n .subscribe(orientation => {\n this.inlineBlock = (orientation === 'horizontal');\n this.block = (orientation === 'vertical');\n });\n combineLatest([this.container.maxSlideHeight$, this.container.orientation$])\n .pipe(takeUntilDestroyed())\n .subscribe(([maxHeight, orientation]) => {\n const targetHeight = (orientation === 'vertical') ? maxHeight : null;\n this.slideHeight = (targetHeight && targetHeight > 0) ? targetHeight : null;\n });\n }\n observeSize;\n offside = input(false, ...(ngDevMode ? [{ debugName: \"offside\" }] : []));\n classes = true;\n inlineBlock = true;\n block = false;\n slideHeight = null;\n onTouchStart(ev) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n this.container.pendingAnimation?.finish();\n setTimeout(() => {\n this.container.startTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }, 20);\n }\n }\n onTouchMove(ev) {\n this.container.lastTouch$.next({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n isTouching: true,\n });\n }\n onTouchEnd(ev) {\n combineLatest([this.container.startTouch$, this.container.lastTouch$, this.container.orientation$])\n .pipe(filter(([startTouch, lastTouch]) => !!startTouch && !!lastTouch))\n .pipe(take(1), takeUntilDestroyed(this.destroy))\n .subscribe(([startTouch, lastTouch, orientation]) => {\n if (!!startTouch && !!lastTouch) {\n const distance = (orientation === 'horizontal')\n ? lastTouch.position.x - startTouch.position.x\n : lastTouch.position.y - startTouch.position.y;\n this.container.onSwipe(distance);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeDirective, deps: [{ token: i1.BsSwipeContainerDirective }, { token: i2.BsObserveSizeDirective }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.7\", type: BsSwipeDirective, isStandalone: false, selector: \"[bsSwipe]\", inputs: { offside: { classPropertyName: \"offside\", publicName: \"offside\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"touchstart\": \"onTouchStart($event)\", \"touchmove\": \"onTouchMove($event)\", \"touchend\": \"onTouchEnd($event)\" }, properties: { \"class.align-top\": \"this.classes\", \"class.float-none\": \"this.classes\", \"class.w-100\": \"this.classes\", \"class.pe-auto\": \"this.classes\", \"class.me-0\": \"this.classes\", \"class.d-inline-block\": \"this.inlineBlock\", \"class.d-block\": \"this.block\", \"style.height.px\": \"this.slideHeight\" } }, hostDirectives: [{ directive: i2.BsObserveSizeDirective }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwipeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective],\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i1.BsSwipeContainerDirective }, { type: i2.BsObserveSizeDirective }, { type: i0.DestroyRef }], propDecorators: { classes: [{\n type: HostBinding,\n args: ['class.align-top']\n }, {\n type: HostBinding,\n args: ['class.float-none']\n }, {\n type: HostBinding,\n args: ['class.w-100']\n }, {\n type: HostBinding,\n args: ['class.pe-auto']\n }, {\n type: HostBinding,\n args: ['class.me-0']\n }], inlineBlock: [{\n type: HostBinding,\n args: ['class.d-inline-block']\n }], block: [{\n type: HostBinding,\n args: ['class.d-block']\n }], slideHeight: [{\n type: HostBinding,\n args: ['style.height.px']\n }], onTouchStart: [{\n type: HostListener,\n args: ['touchstart', ['$event']]\n }], onTouchMove: [{\n type: HostListener,\n args: ['touchmove', ['$event']]\n }], onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvc3JjL2RpcmVjdGl2ZXMvc3dpcGUvc3dpcGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT2hFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFUDtJQUFtRjtJQUF2RyxZQUFvQixTQUFvQyxFQUFFLFdBQW1DLEVBQVUsT0FBbUI7UUFBdEcsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFBK0MsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUN4SCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7YUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVMLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDekUsSUFB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmUgfSBmcm9tIFwiQG1pbnRwbGF5ZXIvbmctc3dpcGVyL29ic2VydmUtc2l6ZVwiO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi4vc3dpcGUtY29udGFpbmVyL3N3aXBlLWNvbnRhaW5lci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTd2lwZV0nLFxuICBob3N0RGlyZWN0aXZlczogW0JzT2JzZXJ2ZVNpemVEaXJlY3RpdmVdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQnNTd2lwZURpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250YWluZXI6IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUsIG9ic2VydmVTaXplOiBCc09ic2VydmVTaXplRGlyZWN0aXZlLCBwcml2YXRlIGRlc3Ryb3k6IERlc3Ryb3lSZWYpIHtcbiAgICB0aGlzLm9ic2VydmVTaXplID0gb2JzZXJ2ZVNpemU7XG4gICAgdGhpcy5jb250YWluZXIub3JpZW50YXRpb24kXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUob3JpZW50YXRpb24gPT4ge1xuICAgICAgICB0aGlzLmlubGluZUJsb2NrID0gKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpO1xuICAgICAgICB0aGlzLmJsb2NrID0gKG9yaWVudGF0aW9uID09PSAndmVydGljYWwnKTtcbiAgICAgIH0pO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb250YWluZXIubWF4U2xpZGVIZWlnaHQkLCB0aGlzLmNvbnRhaW5lci5vcmllbnRhdGlvbiRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChbbWF4SGVpZ2h0LCBvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0SGVpZ2h0ID0gKG9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSA/IG1heEhlaWdodCA6IG51bGw7XG4gICAgICAgIHRoaXMuc2xpZGVIZWlnaHQgPSAodGFyZ2V0SGVpZ2h0ICYmIHRhcmdldEhlaWdodCA+IDApID8gdGFyZ2V0SGVpZ2h0IDogbnVsbDtcbiAgICAgIH0pO1xuICB9XG5cbiAgb2JzZXJ2ZVNpemU6IEJzT2JzZXJ2ZVNpemVEaXJlY3RpdmU7XG5cbiAgcHVibGljIG9mZnNpZGUgPSBpbnB1dChmYWxzZSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbGlnbi10b3AnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0LW5vbmUnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnctMTAwJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wZS1hdXRvJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tZS0wJylcbiAgY2xhc3NlcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWlubGluZS1ibG9jaycpIGlubGluZUJsb2NrID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLWJsb2NrJykgYmxvY2sgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKSBzbGlkZUhlaWdodDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pXG4gIG9uVG91Y2hTdGFydChldjogVG91Y2hFdmVudCkge1xuICAgIGlmIChldi50b3VjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuY29udGFpbmVyLnBlbmRpbmdBbmltYXRpb24/LmZpbmlzaCgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuc3RhcnRUb3VjaCQubmV4dCh7XG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCxcbiAgICAgICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmxhc3RUb3VjaCQubmV4dCh7XG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCxcbiAgICAgICAgICAgIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlzVG91Y2hpbmc6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSwgMjApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNobW92ZScsIFsnJGV2ZW50J10pXG4gIG9uVG91Y2hNb3ZlKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgdGhpcy5jb250YWluZXIubGFzdFRvdWNoJC5uZXh0KHtcbiAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCxcbiAgICAgICAgeTogZXYudG91Y2hlc1swXS5jbGllbnRZLFxuICAgICAgfSxcbiAgICAgIGlzVG91Y2hpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcsIFsnJGV2ZW50J10pXG4gIG9uVG91Y2hFbmQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbnRhaW5lci5zdGFydFRvdWNoJCwgdGhpcy5jb250YWluZXIubGFzdFRvdWNoJCwgdGhpcy5jb250YWluZXIub3JpZW50YXRpb24kXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3N0YXJ0VG91Y2gsIGxhc3RUb3VjaF0pID0+ICEhc3RhcnRUb3VjaCAmJiAhIWxhc3RUb3VjaCkpXG4gICAgICAucGlwZSh0YWtlKDEpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKFtzdGFydFRvdWNoLCBsYXN0VG91Y2gsIG9yaWVudGF0aW9uXSkgPT4ge1xuICAgICAgICBpZiAoISFzdGFydFRvdWNoICYmICEhbGFzdFRvdWNoKSB7XG4gICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSAob3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJylcbiAgICAgICAgICAgID8gbGFzdFRvdWNoLnBvc2l0aW9uLnggLSBzdGFydFRvdWNoLnBvc2l0aW9uLnhcbiAgICAgICAgICAgIDogbGFzdFRvdWNoLnBvc2l0aW9uLnkgLSBzdGFydFRvdWNoLnBvc2l0aW9uLnk7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIub25Td2lwZShkaXN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\nimport * as i0 from \"@angular/core\";\nexport class BsSwiperModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, declarations: [BsSwipeDirective, BsSwipeContainerDirective], imports: [CommonModule], exports: [BsSwipeDirective, BsSwipeContainerDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BsSwiperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [BsSwipeDirective, BsSwipeContainerDirective],\n exports: [BsSwipeDirective, BsSwipeContainerDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1zd2lwZXIvc3dpcGVyL3NyYy9zd2lwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQU9uRyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBSFYsZ0JBQWdCLEVBQUUseUJBQXlCLGFBRGhELFlBQVksYUFFWixnQkFBZ0IsRUFBRSx5QkFBeUI7d0dBRTFDLGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTd2lwZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS9zd2lwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNTd2lwZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2lwZS1jb250YWluZXIvc3dpcGUtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCc1N3aXBlRGlyZWN0aXZlLCBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3dpcGVEaXJlY3RpdmUsIEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBCc1N3aXBlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLXN3aXBlci9zd2lwZXIvbWludHBsYXllci1uZy1zd2lwZXItc3dpcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.BsSwipeContainerDirective"],"mappings":"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"}
|
|
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 { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { AfterViewInit, computed, ContentChildren, Directive, effect, ElementRef, forwardRef, HostBinding, inject, input, model, output, QueryList, signal } from '@angular/core';\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: true,\n hostDirectives: [BsObserveSizeDirective],\n})\nexport class BsSwipeContainerDirective implements AfterViewInit {\n private animationBuilder = inject(AnimationBuilder);\n private observeSize = inject(BsObserveSizeDirective);\n containerElement = inject(ElementRef<HTMLDivElement>);\n document = inject(DOCUMENT) as Document;\n\n @HostBinding('style.margin-left.%') offsetLeft: number | null = null;\n @HostBinding('style.margin-right.%') offsetRight: number | null = null;\n @HostBinding('style.margin-top.px') offsetTopPx: number | null = null;\n @HostBinding('style.margin-bottom.px') offsetBottomPx: number | null = null;\n\n @ContentChildren(forwardRef(() => BsSwipeDirective)) set swipes(value: QueryList<BsSwipeDirective>) {\n setTimeout(() => this._swipes.set(value));\n }\n\n minimumOffset = input(50);\n animation = input<'slide' | 'fade' | 'none'>('slide');\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n imageIndex = model<number>(0);\n animationStart = output<void>();\n animationEnd = output<void>();\n\n isViewInited = signal<boolean>(false);\n isAnimating = signal<boolean>(false);\n startTouch = signal<StartTouch | null>(null);\n lastTouch = signal<LastTouch | null>(null);\n _swipes = signal<QueryList<BsSwipeDirective> | null>(null);\n pendingAnimation?: AnimationPlayer;\n\n // Computed signals for derived state\n offset = computed(() => {\n const startTouch = this.startTouch();\n const lastTouch = this.lastTouch();\n const imageIndex = this.imageIndex();\n const isViewInited = this.isViewInited();\n const orientation = this.orientation();\n const containerSize = this.observeSize.size();\n const maxSlideHeight = this.maxSlideHeight();\n\n if (!isViewInited) {\n return (-imageIndex * 100);\n } else if (!!startTouch && !!lastTouch) {\n // For horizontal: use container width\n // For vertical: use maxSlideHeight (single slide height, not total container height)\n const containerLength = orientation === 'horizontal'\n ? (containerSize?.width ?? this.containerElement.nativeElement.clientWidth)\n : maxSlideHeight;\n if (containerLength === 0) {\n return (-imageIndex * 100);\n }\n const delta = orientation === 'horizontal'\n ? (lastTouch.position.x - startTouch.position.x)\n : (lastTouch.position.y - startTouch.position.y);\n return (-imageIndex * 100 + (delta / containerLength) * 100);\n } else {\n return (-imageIndex * 100);\n }\n });\n\n padLeft = computed(() => {\n const swipes = this._swipes();\n if (!swipes) return 0;\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 padRight = computed(() => {\n const swipes = this._swipes();\n if (!swipes) return 0;\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 offsetPrimary = computed(() => this.offset() - this.padLeft() * 100);\n offsetSecondary = computed(() => -(this.offset() - this.padLeft() * 100) - (this.padRight() - 1) * 100);\n\n actualSwipes = computed(() => {\n const swipes = this._swipes();\n if (swipes) {\n return swipes.filter(swipe => !swipe.offside());\n } else {\n return [];\n }\n });\n\n // Computed signal that reactively tracks all swipe sizes\n private slideSizes = computed(() => {\n const actualSwipes = this.actualSwipes();\n if (!actualSwipes || actualSwipes.length === 0) {\n return [];\n }\n // Reading each swipe's size() creates reactive dependencies\n return actualSwipes.map(swipe => swipe.observeSize.size());\n });\n\n maxSlideHeight = computed(() => {\n const slideSizes = this.slideSizes();\n const heights = slideSizes.map(s => s?.height ?? 1);\n return heights.length ? Math.max(...heights) : 1;\n });\n\n currentSlideHeight = computed<number | null>(() => {\n const slideSizes = this.slideSizes();\n const imageIndex = this.imageIndex();\n const orientation = this.orientation();\n const heights = slideSizes.map(s => s?.height ?? 0);\n const maxHeight = heights.length ? Math.max(...heights) : 0;\n const currHeight: number = slideSizes[imageIndex]?.height ?? maxHeight;\n const result = (orientation === 'vertical') ? maxHeight : currHeight;\n // Return null if measurements aren't valid yet to avoid collapsing the carousel\n return result > 10 ? result : null;\n });\n\n constructor() {\n // Effect to update offsetLeft/offsetTopPx based on offsetPrimary and orientation\n effect(() => {\n const offsetPrimary = this.offsetPrimary();\n const orientation = this.orientation();\n const maxSlideHeight = this.maxSlideHeight();\n const isAnimating = this.isAnimating();\n\n // Skip updating offsets during animation to avoid interfering with CSS animation\n if (isAnimating) {\n return;\n }\n\n if (orientation === 'horizontal') {\n this.offsetLeft = offsetPrimary;\n this.offsetTopPx = null;\n } else {\n // For vertical mode, convert percentage to pixels using slide height\n // offsetPrimary is in percentage units (e.g., -100 means -100%)\n // We need to convert to pixels based on actual slide height\n this.offsetTopPx = (offsetPrimary / 100) * maxSlideHeight;\n this.offsetLeft = null;\n }\n });\n\n // Effect to update offsetRight/offsetBottomPx based on offsetSecondary and orientation\n effect(() => {\n const offsetSecondary = this.offsetSecondary();\n const orientation = this.orientation();\n const maxSlideHeight = this.maxSlideHeight();\n const isAnimating = this.isAnimating();\n\n // Skip updating offsets during animation to avoid interfering with CSS animation\n if (isAnimating) {\n return;\n }\n\n if (orientation === 'horizontal') {\n this.offsetRight = offsetSecondary;\n this.offsetBottomPx = null;\n } else {\n // For vertical mode, convert percentage to pixels using slide height\n this.offsetBottomPx = (offsetSecondary / 100) * maxSlideHeight;\n this.offsetRight = null;\n }\n });\n\n }\n\n ngAfterViewInit() {\n this.isViewInited.set(true);\n }\n\n animateToIndexByDx(distance: number) {\n const imageIndex = this.imageIndex();\n const actualSwipes = this.actualSwipes();\n\n let newIndex: number;\n if (Math.abs(distance) < this.minimumOffset()) {\n newIndex = imageIndex;\n } else {\n newIndex = imageIndex + (distance < 0 ? 1 : -1);\n }\n\n this.animateToIndex(imageIndex, newIndex, distance, actualSwipes?.length ?? 1);\n }\n\n animateToIndex(oldIndex: number, newIndex: number, distance: number, totalSlides: number) {\n const animation = this.animation();\n const orientation = this.orientation();\n const containerElement = this.containerElement.nativeElement;\n const maxSlideHeight = this.maxSlideHeight();\n // For vertical mode, use maxSlideHeight instead of container height\n const containerLength = orientation === 'horizontal'\n ? containerElement.clientWidth\n : maxSlideHeight;\n\n this.animationStart.emit();\n\n // Handle 'none' animation mode - instant transition\n if (animation === 'none') {\n // Correct the image index immediately\n if (newIndex === -1) {\n this.imageIndex.set(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex.set(0);\n } else {\n this.imageIndex.set(newIndex);\n }\n this.startTouch.set(null);\n this.lastTouch.set(null);\n this.animationEnd.emit();\n return;\n }\n\n // Set animating flag and clear host bindings so animation has full control\n this.isAnimating.set(true);\n if (orientation === 'horizontal') {\n this.offsetLeft = null;\n this.offsetRight = null;\n } else {\n this.offsetTopPx = null;\n this.offsetBottomPx = null;\n }\n\n if (orientation === 'horizontal') {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-left': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-right': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-left': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-right': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n } else {\n this.pendingAnimation = this.animationBuilder.build([\n style({\n 'margin-top': (-(oldIndex + 1) * containerLength + distance) + 'px',\n 'margin-bottom': ((oldIndex + 1) * containerLength - distance) + 'px',\n }),\n animate('500ms ease', style({\n 'margin-top': (-(newIndex + 1) * containerLength) + 'px',\n 'margin-bottom': ((newIndex + 1) * containerLength) + 'px',\n })),\n ]).create(containerElement);\n }\n this.pendingAnimation.onDone(() => {\n // Correct the image index\n if (newIndex === -1) {\n this.imageIndex.set(totalSlides - 1);\n } else if (newIndex === totalSlides) {\n this.imageIndex.set(0);\n } else {\n this.imageIndex.set(newIndex);\n }\n this.startTouch.set(null);\n this.lastTouch.set(null);\n this.pendingAnimation?.destroy();\n this.pendingAnimation = undefined;\n // Clear animating flag so effects can update offsets again\n this.isAnimating.set(false);\n this.animationEnd.emit();\n });\n this.pendingAnimation.play();\n }\n\n onSwipe(distance: number) {\n this.animateToIndexByDx(distance);\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 this.pendingAnimation?.finish();\n const actualSwipes = this.actualSwipes();\n const imageIndex = this.imageIndex();\n const idx = (type === 'relative') ? imageIndex + index : index;\n this.animateToIndex(imageIndex, idx, 0, actualSwipes?.length ?? 1);\n }, 20);\n }\n\n}\n","import { Directive, effect, HostBinding, HostListener, inject, input } from \"@angular/core\";\nimport { BsObserveSizeDirective } from \"@mintplayer/ng-swiper/observe-size\";\nimport { BsSwipeContainerDirective } from \"../swipe-container/swipe-container.directive\";\n\n@Directive({\n selector: '[bsSwipe]',\n hostDirectives: [BsObserveSizeDirective],\n standalone: true,\n})\nexport class BsSwipeDirective {\n private container = inject(BsSwipeContainerDirective);\n observeSize = inject(BsObserveSizeDirective);\n\n public offside = input(false);\n\n private orientationEffect = effect(() => {\n const orientation = this.container.orientation();\n this.inlineBlock = (orientation === 'horizontal');\n this.block = (orientation === 'vertical');\n });\n\n private heightEffect = effect(() => {\n const maxHeight = this.container.maxSlideHeight();\n const orientation = this.container.orientation();\n // Only set height when we have valid measurements (> 10px threshold)\n // to avoid circular dependency during initial load\n const targetHeight = (orientation === 'vertical' && maxHeight > 10) ? maxHeight : null;\n this.slideHeight = targetHeight;\n });\n\n @HostBinding('class.align-top')\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.d-inline-block') inlineBlock = true;\n @HostBinding('class.d-block') block = false;\n @HostBinding('style.height.px') slideHeight: number | null = null;\n\n @HostListener('touchstart', ['$event'])\n onTouchStart(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n ev.preventDefault();\n ev.stopPropagation();\n this.container.pendingAnimation?.finish();\n\n setTimeout(() => {\n this.container.startTouch.set({\n position: {\n x: ev.touches[0].clientX,\n y: ev.touches[0].clientY,\n },\n timestamp: Date.now(),\n });\n this.container.lastTouch.set({\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 ev.preventDefault();\n ev.stopPropagation();\n this.container.lastTouch.set({\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 ev.stopPropagation();\n const startTouch = this.container.startTouch();\n const lastTouch = this.container.lastTouch();\n const orientation = this.container.orientation();\n\n if (!!startTouch && !!lastTouch) {\n const distance = (orientation === 'horizontal')\n ? lastTouch.position.x - startTouch.position.x\n : lastTouch.position.y - startTouch.position.y;\n this.container.onSwipe(distance);\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BsSwipeDirective } from './directives/swipe/swipe.directive';\nimport { BsSwipeContainerDirective } from './directives/swipe-container/swipe-container.directive';\n\n@NgModule({\n imports: [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":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-swiper.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-swiper.mjs","sources":["../../../../libs/mintplayer-ng-swiper/src/index.ts","../../../../libs/mintplayer-ng-swiper/src/mintplayer-ng-swiper.ts"],"sourcesContent":["export const libraryName = '@mintplayer/ng-swiper';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,WAAW,GAAG;;ACA3B;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mintplayer/ng-swiper",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "21.1.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": "^21.0.0",
|
|
12
|
+
"@angular/core": "^21.0.0",
|
|
13
|
+
"@angular/animations": "^21.0.0",
|
|
14
|
+
"@angular/platform-browser": "^21.0.0",
|
|
15
15
|
"rxjs": "^7.5.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"tslib": "^2.3.0"
|
|
19
19
|
},
|
|
20
20
|
"module": "fesm2022/mintplayer-ng-swiper.mjs",
|
|
21
|
-
"typings": "
|
|
21
|
+
"typings": "types/mintplayer-ng-swiper.d.ts",
|
|
22
22
|
"exports": {
|
|
23
23
|
"./package.json": {
|
|
24
24
|
"default": "./package.json"
|
|
25
25
|
},
|
|
26
26
|
".": {
|
|
27
|
-
"types": "./
|
|
27
|
+
"types": "./types/mintplayer-ng-swiper.d.ts",
|
|
28
28
|
"default": "./fesm2022/mintplayer-ng-swiper.mjs"
|
|
29
29
|
},
|
|
30
30
|
"./observe-size": {
|
|
31
|
-
"types": "./observe-size
|
|
31
|
+
"types": "./types/mintplayer-ng-swiper-observe-size.d.ts",
|
|
32
32
|
"default": "./fesm2022/mintplayer-ng-swiper-observe-size.mjs"
|
|
33
33
|
},
|
|
34
34
|
"./swiper": {
|
|
35
|
-
"types": "./swiper
|
|
35
|
+
"types": "./types/mintplayer-ng-swiper-swiper.d.ts",
|
|
36
36
|
"default": "./fesm2022/mintplayer-ng-swiper-swiper.mjs"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
interface Size {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare class BsObserveSizeDirective implements AfterViewInit, OnDestroy {
|
|
10
|
+
private element;
|
|
11
|
+
private platformId;
|
|
12
|
+
private zone;
|
|
13
|
+
private observer?;
|
|
14
|
+
constructor();
|
|
15
|
+
size: _angular_core.WritableSignal<Size | undefined>;
|
|
16
|
+
width: _angular_core.Signal<number | undefined>;
|
|
17
|
+
height: _angular_core.Signal<number | undefined>;
|
|
18
|
+
ngAfterViewInit(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsObserveSizeDirective, never>;
|
|
21
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsObserveSizeDirective, "[bsObserveSize]", ["bsObserveSize"], {}, {}, never, never, true, never>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { BsObserveSizeDirective };
|
|
25
|
+
export type { Size };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ElementRef, QueryList } from '@angular/core';
|
|
3
|
+
import * as i1 from '@mintplayer/ng-swiper/observe-size';
|
|
4
|
+
import { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';
|
|
5
|
+
import { AnimationPlayer } from '@angular/animations';
|
|
6
|
+
|
|
7
|
+
declare class BsSwipeDirective {
|
|
8
|
+
private container;
|
|
9
|
+
observeSize: BsObserveSizeDirective;
|
|
10
|
+
offside: _angular_core.InputSignal<boolean>;
|
|
11
|
+
private orientationEffect;
|
|
12
|
+
private heightEffect;
|
|
13
|
+
classes: boolean;
|
|
14
|
+
inlineBlock: boolean;
|
|
15
|
+
block: boolean;
|
|
16
|
+
slideHeight: number | null;
|
|
17
|
+
onTouchStart(ev: TouchEvent): void;
|
|
18
|
+
onTouchMove(ev: TouchEvent): void;
|
|
19
|
+
onTouchEnd(ev: TouchEvent): void;
|
|
20
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsSwipeDirective, never>;
|
|
21
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsSwipeDirective, "[bsSwipe]", never, { "offside": { "alias": "offside"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface Point {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface LastTouch {
|
|
30
|
+
position: Point;
|
|
31
|
+
isTouching: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface StartTouch {
|
|
35
|
+
position: Point;
|
|
36
|
+
timestamp: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare class BsSwipeContainerDirective implements AfterViewInit {
|
|
40
|
+
private animationBuilder;
|
|
41
|
+
private observeSize;
|
|
42
|
+
containerElement: ElementRef<any>;
|
|
43
|
+
document: Document;
|
|
44
|
+
offsetLeft: number | null;
|
|
45
|
+
offsetRight: number | null;
|
|
46
|
+
offsetTopPx: number | null;
|
|
47
|
+
offsetBottomPx: number | null;
|
|
48
|
+
set swipes(value: QueryList<BsSwipeDirective>);
|
|
49
|
+
minimumOffset: _angular_core.InputSignal<number>;
|
|
50
|
+
animation: _angular_core.InputSignal<"slide" | "fade" | "none">;
|
|
51
|
+
orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
52
|
+
imageIndex: _angular_core.ModelSignal<number>;
|
|
53
|
+
animationStart: _angular_core.OutputEmitterRef<void>;
|
|
54
|
+
animationEnd: _angular_core.OutputEmitterRef<void>;
|
|
55
|
+
isViewInited: _angular_core.WritableSignal<boolean>;
|
|
56
|
+
isAnimating: _angular_core.WritableSignal<boolean>;
|
|
57
|
+
startTouch: _angular_core.WritableSignal<StartTouch | null>;
|
|
58
|
+
lastTouch: _angular_core.WritableSignal<LastTouch | null>;
|
|
59
|
+
_swipes: _angular_core.WritableSignal<QueryList<BsSwipeDirective> | null>;
|
|
60
|
+
pendingAnimation?: AnimationPlayer;
|
|
61
|
+
offset: _angular_core.Signal<number>;
|
|
62
|
+
padLeft: _angular_core.Signal<number>;
|
|
63
|
+
padRight: _angular_core.Signal<number>;
|
|
64
|
+
offsetPrimary: _angular_core.Signal<number>;
|
|
65
|
+
offsetSecondary: _angular_core.Signal<number>;
|
|
66
|
+
actualSwipes: _angular_core.Signal<BsSwipeDirective[]>;
|
|
67
|
+
private slideSizes;
|
|
68
|
+
maxSlideHeight: _angular_core.Signal<number>;
|
|
69
|
+
currentSlideHeight: _angular_core.Signal<number | null>;
|
|
70
|
+
constructor();
|
|
71
|
+
ngAfterViewInit(): void;
|
|
72
|
+
animateToIndexByDx(distance: number): void;
|
|
73
|
+
animateToIndex(oldIndex: number, newIndex: number, distance: number, totalSlides: number): void;
|
|
74
|
+
onSwipe(distance: number): void;
|
|
75
|
+
previous(): void;
|
|
76
|
+
next(): void;
|
|
77
|
+
goto(index: number): void;
|
|
78
|
+
private gotoAnimate;
|
|
79
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsSwipeContainerDirective, never>;
|
|
80
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsSwipeContainerDirective, "[bsSwipeContainer]", ["bsSwipeContainer"], { "minimumOffset": { "alias": "minimumOffset"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "imageIndex": { "alias": "imageIndex"; "required": false; "isSignal": true; }; }, { "imageIndex": "imageIndexChange"; "animationStart": "animationStart"; "animationEnd": "animationEnd"; }, ["swipes"], never, true, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
declare class BsSwiperModule {
|
|
84
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsSwiperModule, never>;
|
|
85
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<BsSwiperModule, never, [typeof BsSwipeDirective, typeof BsSwipeContainerDirective], [typeof BsSwipeDirective, typeof BsSwipeContainerDirective]>;
|
|
86
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<BsSwiperModule>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { BsSwipeContainerDirective, BsSwipeDirective, BsSwiperModule };
|
|
90
|
+
export type { LastTouch, Point, StartTouch };
|
package/observe-size/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterViewInit, OnDestroy, ElementRef, NgZone } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
|
-
|
|
5
|
-
interface Size {
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
declare class BsObserveSizeDirective implements AfterViewInit, OnDestroy {
|
|
11
|
-
private element;
|
|
12
|
-
private platformId;
|
|
13
|
-
private zone;
|
|
14
|
-
constructor(element: ElementRef, platformId: any, zone: NgZone);
|
|
15
|
-
private observer?;
|
|
16
|
-
size$: BehaviorSubject<Size | undefined>;
|
|
17
|
-
width$: Observable<number | undefined>;
|
|
18
|
-
height$: Observable<number | undefined>;
|
|
19
|
-
ngAfterViewInit(): void;
|
|
20
|
-
ngOnDestroy(): void;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BsObserveSizeDirective, never>;
|
|
22
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BsObserveSizeDirective, "[bsObserveSize]", ["bsObserveSize"], {}, {}, never, never, true, never>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { BsObserveSizeDirective };
|
|
26
|
-
export type { Size };
|
package/swiper/index.d.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterViewInit, ElementRef, DestroyRef, QueryList, EventEmitter } from '@angular/core';
|
|
3
|
-
import * as i1 from '@mintplayer/ng-swiper/observe-size';
|
|
4
|
-
import { BsObserveSizeDirective, Size } from '@mintplayer/ng-swiper/observe-size';
|
|
5
|
-
import { AnimationBuilder, AnimationPlayer } from '@angular/animations';
|
|
6
|
-
import { Observable, BehaviorSubject } from 'rxjs';
|
|
7
|
-
import * as i3 from '@angular/common';
|
|
8
|
-
|
|
9
|
-
interface Point {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface LastTouch {
|
|
15
|
-
position: Point;
|
|
16
|
-
isTouching: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
interface StartTouch {
|
|
20
|
-
position: Point;
|
|
21
|
-
timestamp: number;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
declare class BsSwipeContainerDirective implements AfterViewInit {
|
|
25
|
-
private animationBuilder;
|
|
26
|
-
private destroy;
|
|
27
|
-
private observeSize;
|
|
28
|
-
constructor(element: ElementRef, animationBuilder: AnimationBuilder, destroy: DestroyRef, document: any, observeSize: BsObserveSizeDirective);
|
|
29
|
-
offsetLeft: number | null;
|
|
30
|
-
offsetRight: number | null;
|
|
31
|
-
offsetTop: number | null;
|
|
32
|
-
offsetBottom: number | null;
|
|
33
|
-
set swipes(value: QueryList<BsSwipeDirective>);
|
|
34
|
-
minimumOffset: number;
|
|
35
|
-
get orientation(): "horizontal" | "vertical";
|
|
36
|
-
set orientation(value: 'horizontal' | 'vertical');
|
|
37
|
-
get imageIndex(): number;
|
|
38
|
-
set imageIndex(value: number);
|
|
39
|
-
imageIndexChange: EventEmitter<number>;
|
|
40
|
-
actualSwipes$: Observable<BsSwipeDirective[]>;
|
|
41
|
-
isViewInited$: BehaviorSubject<boolean>;
|
|
42
|
-
startTouch$: BehaviorSubject<StartTouch | null>;
|
|
43
|
-
lastTouch$: BehaviorSubject<LastTouch | null>;
|
|
44
|
-
swipes$: BehaviorSubject<QueryList<BsSwipeDirective> | null>;
|
|
45
|
-
slideSizes$: Observable<(Size | undefined)[]>;
|
|
46
|
-
maxSlideHeight$: Observable<number>;
|
|
47
|
-
imageIndex$: BehaviorSubject<number>;
|
|
48
|
-
currentSlideHeight$: Observable<number>;
|
|
49
|
-
pendingAnimation?: AnimationPlayer;
|
|
50
|
-
containerElement: ElementRef<HTMLDivElement>;
|
|
51
|
-
document: Document;
|
|
52
|
-
offset$: Observable<number>;
|
|
53
|
-
offsetPrimary$: Observable<number>;
|
|
54
|
-
offsetSecondary$: Observable<number>;
|
|
55
|
-
padLeft$: Observable<number>;
|
|
56
|
-
padRight$: Observable<number>;
|
|
57
|
-
orientation$: BehaviorSubject<"horizontal" | "vertical">;
|
|
58
|
-
ngAfterViewInit(): void;
|
|
59
|
-
animateToIndexByDx(distance: number): void;
|
|
60
|
-
animateToIndex(oldIndex: number, newIndex: number, distance: number, totalSlides: number): void;
|
|
61
|
-
onSwipe(distance: number): void;
|
|
62
|
-
previous(): void;
|
|
63
|
-
next(): void;
|
|
64
|
-
goto(index: number): void;
|
|
65
|
-
private gotoAnimate;
|
|
66
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BsSwipeContainerDirective, never>;
|
|
67
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeContainerDirective, "[bsSwipeContainer]", ["bsSwipeContainer"], { "minimumOffset": { "alias": "minimumOffset"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "imageIndex": { "alias": "imageIndex"; "required": false; }; }, { "imageIndexChange": "imageIndexChange"; }, ["swipes"], never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
declare class BsSwipeDirective {
|
|
71
|
-
private container;
|
|
72
|
-
private destroy;
|
|
73
|
-
constructor(container: BsSwipeContainerDirective, observeSize: BsObserveSizeDirective, destroy: DestroyRef);
|
|
74
|
-
observeSize: BsObserveSizeDirective;
|
|
75
|
-
offside: i0.InputSignal<boolean>;
|
|
76
|
-
classes: boolean;
|
|
77
|
-
inlineBlock: boolean;
|
|
78
|
-
block: boolean;
|
|
79
|
-
slideHeight: number | null;
|
|
80
|
-
onTouchStart(ev: TouchEvent): void;
|
|
81
|
-
onTouchMove(ev: TouchEvent): void;
|
|
82
|
-
onTouchEnd(ev: TouchEvent): void;
|
|
83
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BsSwipeDirective, never>;
|
|
84
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BsSwipeDirective, "[bsSwipe]", never, { "offside": { "alias": "offside"; "required": false; "isSignal": true; }; }, {}, never, never, false, [{ directive: typeof i1.BsObserveSizeDirective; inputs: {}; outputs: {}; }]>;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
declare class BsSwiperModule {
|
|
88
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BsSwiperModule, never>;
|
|
89
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<BsSwiperModule, [typeof BsSwipeDirective, typeof BsSwipeContainerDirective], [typeof i3.CommonModule], [typeof BsSwipeDirective, typeof BsSwipeContainerDirective]>;
|
|
90
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<BsSwiperModule>;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export { BsSwipeContainerDirective, BsSwipeDirective, BsSwiperModule };
|
|
94
|
-
export type { LastTouch, Point, StartTouch };
|
|
File without changes
|