Files
pyrofetes-frontend/node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-carousel.mjs.map
CHEVALLIER Abel cb235644dc init
2025-11-13 16:23:22 +01:00

1 line
67 KiB
Plaintext

{"version":3,"file":"ng-zorro-antd-carousel.mjs","sources":["../../components/carousel/carousel-content.directive.ts","../../components/carousel/strategies/base-strategy.ts","../../components/carousel/strategies/opacity-strategy.ts","../../components/carousel/strategies/transform-strategy.ts","../../components/carousel/typings.ts","../../components/carousel/carousel.component.ts","../../components/carousel/carousel.module.ts","../../components/carousel/strategies/experimental/transform-no-loop-strategy.ts","../../components/carousel/strategies/experimental/flip-strategy.ts","../../components/carousel/public-api.ts","../../components/carousel/ng-zorro-antd-carousel.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, ElementRef, inject, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[nz-carousel-content]',\n exportAs: 'nzCarouselContent',\n host: {\n class: 'slick-slide'\n }\n})\nexport class NzCarouselContentDirective {\n private renderer = inject(Renderer2);\n readonly el: HTMLElement = inject(ElementRef<HTMLElement>).nativeElement;\n\n set isActive(value: boolean) {\n this._active = value;\n if (this.isActive) {\n this.renderer.addClass(this.el, 'slick-active');\n } else {\n this.renderer.removeClass(this.el, 'slick-active');\n }\n }\n\n get isActive(): boolean {\n return this._active;\n }\n\n private _active = false;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzCarouselContentDirective } from '../carousel-content.directive';\nimport { FromToInterface, NzCarouselComponentAsSource, PointerVector } from '../typings';\n\nexport abstract class NzCarouselBaseStrategy<T = NzSafeAny> {\n // Properties that strategies may want to use.\n protected carouselComponent: NzCarouselComponentAsSource | null;\n protected contents!: NzCarouselContentDirective[];\n protected slickListEl!: HTMLElement;\n protected slickTrackEl!: HTMLElement;\n protected length!: number;\n protected unitWidth!: number;\n protected unitHeight!: number;\n\n protected get maxIndex(): number {\n return this.length - 1;\n }\n\n protected get firstEl(): HTMLElement {\n return this.contents[0].el;\n }\n\n protected get lastEl(): HTMLElement {\n return this.contents[this.maxIndex].el;\n }\n\n constructor(\n carouselComponent: NzCarouselComponentAsSource,\n protected cdr: ChangeDetectorRef,\n protected renderer: Renderer2,\n protected platform: Platform,\n protected options?: T\n ) {\n this.carouselComponent = carouselComponent;\n }\n\n /**\n * Initialize dragging sequences.\n *\n * @param contents\n */\n withCarouselContents(contents: QueryList<NzCarouselContentDirective> | null): void {\n const carousel = this.carouselComponent!;\n this.slickListEl = carousel.slickListEl;\n this.slickTrackEl = carousel.slickTrackEl;\n this.contents = contents?.toArray() || [];\n this.length = this.contents.length;\n\n if (this.platform.isBrowser) {\n const rect = carousel.el.getBoundingClientRect();\n this.unitWidth = rect.width;\n this.unitHeight = rect.height;\n } else {\n // Since we cannot call getBoundingClientRect in server, we just hide all items except for the first one.\n contents?.forEach((content, index) => {\n if (index === 0) {\n this.renderer.setStyle(content.el, 'width', '100%');\n } else {\n this.renderer.setStyle(content.el, 'display', 'none');\n }\n });\n }\n }\n\n /**\n * Trigger transition.\n */\n abstract switch(_f: number, _t: number): Observable<void>;\n\n /**\n * When user drag the carousel component.\n *\n * @optional\n */\n dragging(_vector: PointerVector): void {}\n\n /**\n * Destroy a scroll strategy.\n */\n dispose(): void {}\n\n protected getFromToInBoundary(f: number, t: number): FromToInterface {\n const length = this.maxIndex + 1;\n return { from: (f + length) % length, to: (t + length) % length };\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { QueryList } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { NzCarouselContentDirective } from '../carousel-content.directive';\nimport { NzCarouselBaseStrategy } from './base-strategy';\n\nexport class NzCarouselOpacityStrategy extends NzCarouselBaseStrategy {\n override withCarouselContents(contents: QueryList<NzCarouselContentDirective> | null): void {\n super.withCarouselContents(contents);\n\n if (this.contents) {\n this.slickTrackEl.style.width = `${this.length * this.unitWidth}px`;\n\n this.contents.forEach((content: NzCarouselContentDirective, i: number) => {\n this.renderer.setStyle(content.el, 'opacity', this.carouselComponent!.activeIndex === i ? '1' : '0');\n this.renderer.setStyle(content.el, 'position', 'relative');\n this.renderer.setStyle(content.el, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(content.el, 'left', `${-this.unitWidth * i}px`);\n this.renderer.setStyle(content.el, 'transition', ['opacity 500ms ease 0s', 'visibility 500ms ease 0s']);\n });\n }\n }\n\n switch(_f: number, _t: number): Observable<void> {\n const { to: t } = this.getFromToInBoundary(_f, _t);\n const complete$ = new Subject<void>();\n\n this.contents.forEach((content: NzCarouselContentDirective, i: number) => {\n this.renderer.setStyle(content.el, 'opacity', t === i ? '1' : '0');\n });\n\n setTimeout(() => {\n complete$.next();\n complete$.complete();\n }, this.carouselComponent!.nzTransitionSpeed);\n\n return complete$;\n }\n\n override dispose(): void {\n this.contents.forEach((content: NzCarouselContentDirective) => {\n this.renderer.setStyle(content.el, 'transition', null);\n this.renderer.setStyle(content.el, 'opacity', null);\n this.renderer.setStyle(content.el, 'width', null);\n this.renderer.setStyle(content.el, 'left', null);\n });\n\n super.dispose();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { NzCarouselContentDirective } from '../carousel-content.directive';\nimport { NzCarouselComponentAsSource, PointerVector } from '../typings';\nimport { NzCarouselBaseStrategy } from './base-strategy';\n\ninterface NzCarouselTransformStrategyOptions {\n direction: 'left' | 'right';\n}\n\nexport class NzCarouselTransformStrategy extends NzCarouselBaseStrategy<NzCarouselTransformStrategyOptions> {\n private isDragging = false;\n private isTransitioning = false;\n\n private get vertical(): boolean {\n return this.carouselComponent!.vertical;\n }\n\n constructor(\n carouselComponent: NzCarouselComponentAsSource,\n cdr: ChangeDetectorRef,\n renderer: Renderer2,\n platform: Platform,\n options?: NzCarouselTransformStrategyOptions\n ) {\n super(carouselComponent, cdr, renderer, platform, options);\n }\n\n override dispose(): void {\n super.dispose();\n this.renderer.setStyle(this.slickTrackEl, 'transform', null);\n }\n\n override withCarouselContents(contents: QueryList<NzCarouselContentDirective> | null): void {\n super.withCarouselContents(contents);\n\n const carousel = this.carouselComponent!;\n const activeIndex = carousel.activeIndex;\n\n // We only do when we are in browser.\n if (this.platform.isBrowser && this.contents.length) {\n this.renderer.setStyle(this.slickListEl, 'height', `${this.unitHeight}px`);\n\n if (this.vertical) {\n this.renderer.setStyle(this.slickTrackEl, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(this.slickTrackEl, 'height', `${this.length * this.unitHeight}px`);\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(0, ${-activeIndex * this.unitHeight}px, 0)`\n );\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'height', `${this.unitHeight}px`);\n this.renderer.setStyle(this.slickTrackEl, 'width', `${this.length * this.unitWidth}px`);\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(${-activeIndex * this.unitWidth}px, 0, 0)`);\n }\n\n this.contents.forEach((content: NzCarouselContentDirective) => {\n this.renderer.setStyle(content.el, 'position', 'relative');\n this.renderer.setStyle(content.el, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(content.el, 'height', `${this.unitHeight}px`);\n });\n }\n }\n\n switch(_f: number, _t: number): Observable<void> {\n const { to: t } = this.getFromToInBoundary(_f, _t);\n const complete$ = new Subject<void>();\n\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transition',\n `transform ${this.carouselComponent!.nzTransitionSpeed}ms ease`\n );\n\n if (this.vertical) {\n this.verticalTransform(_f, _t);\n } else {\n this.horizontalTransform(_f, _t);\n }\n\n this.isTransitioning = true;\n this.isDragging = false;\n\n // TODO: use transitionEnd event instead of setTimeout\n setTimeout(() => {\n this.renderer.setStyle(this.slickTrackEl, 'transition', null);\n this.contents.forEach((content: NzCarouselContentDirective) => {\n this.renderer.setStyle(content.el, this.vertical ? 'top' : 'left', null);\n });\n\n if (this.vertical) {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(0, ${-t * this.unitHeight}px, 0)`);\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(${-t * this.unitWidth}px, 0, 0)`);\n }\n\n this.isTransitioning = false;\n\n complete$.next();\n complete$.complete();\n }, this.carouselComponent!.nzTransitionSpeed);\n\n return complete$.asObservable();\n }\n\n override dragging(_vector: PointerVector): void {\n if (this.isTransitioning) {\n return;\n }\n\n const activeIndex = this.carouselComponent!.activeIndex;\n\n if (this.carouselComponent!.vertical) {\n if (!this.isDragging && this.length > 2) {\n if (activeIndex === this.maxIndex) {\n this.prepareVerticalContext(true);\n } else if (activeIndex === 0) {\n this.prepareVerticalContext(false);\n }\n }\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(0, ${-activeIndex * this.unitHeight + _vector.x}px, 0)`\n );\n } else {\n if (!this.isDragging && this.length > 2) {\n if (activeIndex === this.maxIndex) {\n this.prepareHorizontalContext(true);\n } else if (activeIndex === 0) {\n this.prepareHorizontalContext(false);\n }\n }\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(${-activeIndex * this.unitWidth + _vector.x}px, 0, 0)`\n );\n }\n\n this.isDragging = true;\n }\n\n private verticalTransform(_f: number, _t: number): void {\n const { from: f, to: t } = this.getFromToInBoundary(_f, _t);\n const needToAdjust = this.length > 2 && _t !== t;\n\n if (needToAdjust) {\n this.prepareVerticalContext(t < f);\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(0, ${-_t * this.unitHeight}px, 0)`);\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(0, ${-t * this.unitHeight}px, 0`);\n }\n }\n\n private horizontalTransform(_f: number, _t: number): void {\n const { from: f, to: t } = this.getFromToInBoundary(_f, _t);\n const needToAdjust = this.length > 2 && _t !== t;\n\n if (needToAdjust) {\n this.prepareHorizontalContext(t < f);\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(${-_t * this.unitWidth}px, 0, 0)`);\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(${-t * this.unitWidth}px, 0, 0`);\n }\n }\n\n private prepareVerticalContext(lastToFirst: boolean): void {\n if (lastToFirst) {\n this.renderer.setStyle(this.firstEl, 'top', `${this.length * this.unitHeight}px`);\n this.renderer.setStyle(this.lastEl, 'top', null);\n } else {\n this.renderer.setStyle(this.firstEl, 'top', null);\n this.renderer.setStyle(this.lastEl, 'top', `${-this.unitHeight * this.length}px`);\n }\n }\n\n private prepareHorizontalContext(lastToFirst: boolean): void {\n if (lastToFirst) {\n this.renderer.setStyle(this.firstEl, 'left', `${this.length * this.unitWidth}px`);\n this.renderer.setStyle(this.lastEl, 'left', null);\n } else {\n this.renderer.setStyle(this.firstEl, 'left', null);\n this.renderer.setStyle(this.lastEl, 'left', `${-this.unitWidth * this.length}px`);\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction } from '@angular/cdk/bidi';\nimport { InjectionToken, NgZone, QueryList } from '@angular/core';\n\nimport { NzCarouselContentDirective } from './carousel-content.directive';\nimport { NzCarouselBaseStrategy } from './strategies/base-strategy';\n\nexport type NzCarouselEffects = 'fade' | 'scrollx' | string;\nexport type NzCarouselDotPosition = 'top' | 'bottom' | 'left' | 'right' | string;\n\nexport interface NzCarouselComponentAsSource {\n carouselContents: QueryList<NzCarouselContentDirective>;\n el: HTMLElement;\n nzTransitionSpeed: number;\n vertical: boolean;\n slickListEl: HTMLElement;\n slickTrackEl: HTMLElement;\n activeIndex: number;\n dir: Direction;\n ngZone: NgZone;\n}\n\nexport interface NzCarouselStrategyRegistryItem {\n name: string;\n strategy: NzCarouselBaseStrategy;\n}\n\nexport const NZ_CAROUSEL_CUSTOM_STRATEGIES = new InjectionToken<NzCarouselStrategyRegistryItem[]>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'nz-carousel-custom-strategies' : ''\n);\n\nexport interface PointerVector {\n x: number;\n y: number;\n}\n\nexport interface FromToInterface {\n from: number;\n to: number;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nimport { NzResizeObserver } from 'ng-zorro-antd/cdk/resize-observer';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzDragService, NzResizeService } from 'ng-zorro-antd/core/services';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { fromEventOutsideAngular } from 'ng-zorro-antd/core/util';\n\nimport { NzCarouselContentDirective } from './carousel-content.directive';\nimport { NzCarouselBaseStrategy } from './strategies/base-strategy';\nimport { NzCarouselOpacityStrategy } from './strategies/opacity-strategy';\nimport { NzCarouselTransformStrategy } from './strategies/transform-strategy';\nimport {\n FromToInterface,\n NZ_CAROUSEL_CUSTOM_STRATEGIES,\n NzCarouselDotPosition,\n NzCarouselEffects,\n PointerVector\n} from './typings';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'carousel';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-carousel',\n exportAs: 'nzCarousel',\n template: `\n <div\n class=\"slick-initialized slick-slider\"\n [class.slick-vertical]=\"nzDotPosition === 'left' || nzDotPosition === 'right'\"\n [dir]=\"'ltr'\"\n >\n @if (nzArrows) {\n <button\n type=\"button\"\n aria-label=\"prev\"\n class=\"slick-prev slick-arrow\"\n [class.slick-disabled]=\"this.activeIndex === 0\"\n (click)=\"pre()\"\n ></button>\n }\n <div\n #slickList\n class=\"slick-list\"\n tabindex=\"-1\"\n (mousedown)=\"pointerDown($event)\"\n (touchstart)=\"pointerDown($event)\"\n >\n <!-- Render carousel items. -->\n <div class=\"slick-track\" #slickTrack>\n <ng-content></ng-content>\n </div>\n </div>\n @if (nzArrows) {\n <button\n type=\"button\"\n aria-label=\"next\"\n class=\"slick-next slick-arrow\"\n [class.slick-disabled]=\"this.activeIndex === this.carouselContents.length - 1\"\n (click)=\"next()\"\n ></button>\n }\n <!-- Render dots. -->\n @if (nzDots) {\n <ul\n class=\"slick-dots\"\n [class.slick-dots-top]=\"nzDotPosition === 'top'\"\n [class.slick-dots-bottom]=\"nzDotPosition === 'bottom'\"\n [class.slick-dots-left]=\"nzDotPosition === 'left'\"\n [class.slick-dots-right]=\"nzDotPosition === 'right'\"\n >\n @for (content of carouselContents; track content) {\n <li [class.slick-active]=\"$index === activeIndex\" (click)=\"goTo($index)\">\n <ng-template\n [ngTemplateOutlet]=\"nzDotRender || renderDotTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: $index }\"\n ></ng-template>\n </li>\n }\n </ul>\n }\n </div>\n\n <ng-template #renderDotTemplate let-index>\n <button>{{ index + 1 }}</button>\n </ng-template>\n `,\n host: {\n class: 'ant-carousel',\n '[class.ant-carousel-vertical]': 'vertical',\n '[class.ant-carousel-rtl]': `dir === 'rtl'`\n },\n imports: [NgTemplateOutlet]\n})\nexport class NzCarouselComponent implements AfterContentInit, AfterViewInit, OnChanges, OnInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n public readonly nzConfigService = inject(NzConfigService);\n public readonly ngZone = inject(NgZone);\n private readonly renderer = inject(Renderer2);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly platform = inject(Platform);\n private readonly resizeService = inject(NzResizeService);\n private readonly nzDragService = inject(NzDragService);\n private nzResizeObserver = inject(NzResizeObserver);\n private destroyRef = inject(DestroyRef);\n\n @ContentChildren(NzCarouselContentDirective) carouselContents!: QueryList<NzCarouselContentDirective>;\n\n @ViewChild('slickList', { static: true }) slickList!: ElementRef<HTMLElement>;\n @ViewChild('slickTrack', { static: true }) slickTrack!: ElementRef<HTMLElement>;\n\n @Input() nzDotRender?: TemplateRef<{ $implicit: number }>;\n @Input() @WithConfig() nzEffect: NzCarouselEffects = 'scrollx';\n @Input({ transform: booleanAttribute }) @WithConfig() nzEnableSwipe: boolean = true;\n @Input({ transform: booleanAttribute }) @WithConfig() nzDots: boolean = true;\n @Input({ transform: booleanAttribute }) @WithConfig() nzAutoPlay: boolean = false;\n @Input({ transform: numberAttribute }) @WithConfig() nzAutoPlaySpeed: number = 3000;\n @Input({ transform: numberAttribute }) nzTransitionSpeed = 500;\n @Input() @WithConfig() nzLoop: boolean = true;\n @Input({ transform: booleanAttribute }) nzArrows = false;\n\n /**\n * this property is passed directly to an NzCarouselBaseStrategy\n */\n @Input() nzStrategyOptions: NzSafeAny = undefined;\n\n @Input() @WithConfig() nzDotPosition: NzCarouselDotPosition = 'bottom';\n\n @Output() readonly nzBeforeChange = new EventEmitter<FromToInterface>();\n @Output() readonly nzAfterChange = new EventEmitter<number>();\n\n activeIndex = 0;\n el: HTMLElement = inject(ElementRef<HTMLElement>).nativeElement;\n slickListEl!: HTMLElement;\n slickTrackEl!: HTMLElement;\n strategy?: NzCarouselBaseStrategy;\n vertical = false;\n transitionInProgress?: ReturnType<typeof setTimeout>;\n dir: Direction = 'ltr';\n\n private gestureRect: DOMRect | null = null;\n private pointerDelta: PointerVector | null = null;\n private isTransiting = false;\n private isDragging = false;\n private directionality = inject(Directionality);\n private customStrategies = inject(NZ_CAROUSEL_CUSTOM_STRATEGIES, { optional: true });\n\n constructor() {\n this.nzDotPosition = 'bottom';\n this.destroyRef.onDestroy(() => {\n this.clearScheduledTransition();\n this.strategy?.dispose();\n });\n }\n\n ngOnInit(): void {\n this.slickListEl = this.slickList!.nativeElement;\n this.slickTrackEl = this.slickTrack!.nativeElement;\n\n this.dir = this.directionality.value;\n\n this.directionality.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(direction => {\n this.dir = direction;\n this.markContentActive(this.activeIndex);\n this.cdr.detectChanges();\n });\n\n fromEventOutsideAngular<KeyboardEvent>(this.slickListEl, 'keydown')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(event => {\n const { keyCode } = event;\n\n if (keyCode !== LEFT_ARROW && keyCode !== RIGHT_ARROW) {\n return;\n }\n\n event.preventDefault();\n\n this.ngZone.run(() => {\n if (keyCode === LEFT_ARROW) {\n this.pre();\n } else {\n this.next();\n }\n this.cdr.markForCheck();\n });\n });\n\n this.nzResizeObserver\n .observe(this.el)\n .pipe(debounceTime(100), distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.layout());\n }\n\n ngAfterContentInit(): void {\n this.markContentActive(0);\n }\n\n ngAfterViewInit(): void {\n this.carouselContents.changes.subscribe(() => {\n this.markContentActive(0);\n this.layout();\n });\n\n this.resizeService\n .connect()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.layout());\n\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\n\n // If embedded in an entry component, it may do initial render at an inappropriate time.\n // ngZone.onStable won't do this trick\n // TODO: need to change this.\n Promise.resolve().then(() => this.layout());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzEffect, nzDotPosition } = changes;\n\n if (nzEffect && !nzEffect.isFirstChange()) {\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\n }\n\n if (nzDotPosition) {\n this.vertical = nzDotPosition.currentValue === 'left' || nzDotPosition.currentValue === 'right';\n if (!nzDotPosition.isFirstChange()) {\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\n }\n }\n\n if (!this.nzAutoPlay || !this.nzAutoPlaySpeed) {\n this.clearScheduledTransition();\n } else {\n this.scheduleNextTransition();\n }\n }\n\n next(): void {\n this.goTo(this.activeIndex + 1);\n }\n\n pre(): void {\n this.goTo(this.activeIndex - 1);\n }\n\n goTo(index: number): void {\n if (\n this.carouselContents &&\n this.carouselContents.length &&\n !this.isTransiting &&\n (this.nzLoop || (index >= 0 && index < this.carouselContents.length))\n ) {\n const length = this.carouselContents.length;\n const from = this.activeIndex;\n const to = (index + length) % length;\n this.isTransiting = true;\n this.nzBeforeChange.emit({ from, to });\n this.strategy!.switch(this.activeIndex, index).subscribe(() => {\n this.scheduleNextTransition();\n this.nzAfterChange.emit(to);\n this.isTransiting = false;\n });\n this.markContentActive(to);\n this.cdr.markForCheck();\n }\n }\n\n private switchStrategy(): void {\n if (this.strategy) {\n this.strategy.dispose();\n }\n\n // Load custom strategies first.\n const customStrategy = this.customStrategies ? this.customStrategies.find(s => s.name === this.nzEffect) : null;\n if (customStrategy) {\n this.strategy = new (customStrategy.strategy as NzSafeAny)(this, this.cdr, this.renderer, this.platform);\n return;\n }\n\n this.strategy =\n this.nzEffect === 'scrollx'\n ? new NzCarouselTransformStrategy(this, this.cdr, this.renderer, this.platform)\n : new NzCarouselOpacityStrategy(this, this.cdr, this.renderer, this.platform);\n }\n\n private scheduleNextTransition(): void {\n this.clearScheduledTransition();\n if (this.nzAutoPlay && this.nzAutoPlaySpeed > 0 && this.platform.isBrowser) {\n this.transitionInProgress = setTimeout(() => {\n this.goTo(this.activeIndex + 1);\n }, this.nzAutoPlaySpeed);\n }\n }\n\n private clearScheduledTransition(): void {\n if (this.transitionInProgress) {\n clearTimeout(this.transitionInProgress);\n this.transitionInProgress = undefined;\n }\n }\n\n private markContentActive(index: number): void {\n this.activeIndex = index;\n this.carouselContents?.forEach((slide, i) => (slide.isActive = index === i));\n this.cdr.markForCheck();\n }\n\n /**\n * Drag carousel.\n */\n pointerDown = (event: TouchEvent | MouseEvent): void => {\n if (!this.isDragging && !this.isTransiting && this.nzEnableSwipe) {\n this.clearScheduledTransition();\n this.gestureRect = this.slickListEl.getBoundingClientRect();\n\n this.nzDragService.requestDraggingSequence(event).subscribe({\n next: delta => {\n this.pointerDelta = delta;\n this.isDragging = true;\n this.strategy?.dragging(this.pointerDelta);\n },\n complete: () => {\n if (this.nzEnableSwipe && this.isDragging) {\n const xDelta = this.pointerDelta ? this.pointerDelta.x : 0;\n\n // Switch to another slide if delta is bigger than third of the width.\n if (\n Math.abs(xDelta) > this.gestureRect!.width / 3 &&\n (this.nzLoop ||\n (xDelta <= 0 && this.activeIndex + 1 < this.carouselContents.length) ||\n (xDelta > 0 && this.activeIndex > 0))\n ) {\n this.goTo(xDelta > 0 ? this.activeIndex - 1 : this.activeIndex + 1);\n } else {\n this.goTo(this.activeIndex);\n }\n\n this.gestureRect = null;\n this.pointerDelta = null;\n }\n\n this.isDragging = false;\n }\n });\n }\n };\n\n layout(): void {\n this.strategy?.withCarouselContents(this.carouselContents);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzCarouselContentDirective } from './carousel-content.directive';\nimport { NzCarouselComponent } from './carousel.component';\n\n@NgModule({\n imports: [NzCarouselComponent, NzCarouselContentDirective],\n exports: [NzCarouselComponent, NzCarouselContentDirective]\n})\nexport class NzCarouselModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { NzCarouselContentDirective } from '../../carousel-content.directive';\nimport { NzCarouselComponentAsSource, PointerVector } from '../../typings';\nimport { NzCarouselBaseStrategy } from '../base-strategy';\n\ninterface NzCarouselTransformOnLoopStrategyOptions {\n direction: 'left' | 'right';\n}\n\n/**\n * this strategy is very much like NzCarouselTransformStrategy, but it doesn't loop between the first and the last one\n */\nexport class NzCarouselTransformNoLoopStrategy extends NzCarouselBaseStrategy<NzCarouselTransformOnLoopStrategyOptions> {\n private isTransitioning = false;\n\n private get vertical(): boolean {\n return this.carouselComponent!.vertical;\n }\n\n constructor(\n carouselComponent: NzCarouselComponentAsSource,\n cdr: ChangeDetectorRef,\n renderer: Renderer2,\n platform: Platform,\n options?: NzCarouselTransformOnLoopStrategyOptions\n ) {\n super(carouselComponent, cdr, renderer, platform, options);\n }\n\n override dispose(): void {\n this.renderer.setStyle(this.slickTrackEl, 'transform', null);\n\n super.dispose();\n }\n\n override withCarouselContents(contents: QueryList<NzCarouselContentDirective> | null): void {\n super.withCarouselContents(contents);\n\n const carousel = this.carouselComponent!;\n const activeIndex = carousel.activeIndex;\n\n if (this.platform.isBrowser && this.contents.length) {\n this.renderer.setStyle(this.slickListEl, 'height', `${this.unitHeight}px`);\n\n if (this.platform.isBrowser && this.contents.length) {\n this.renderer.setStyle(this.slickListEl, 'height', `${this.unitHeight}px`);\n\n if (this.vertical) {\n this.renderer.setStyle(this.slickTrackEl, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(this.slickTrackEl, 'height', `${this.length * this.unitHeight}px`);\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(0, ${-activeIndex * this.unitHeight}px, 0)`\n );\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'height', `${this.unitHeight}px`);\n this.renderer.setStyle(this.slickTrackEl, 'width', `${this.length * this.unitWidth}px`);\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(${-activeIndex * this.unitWidth}px, 0, 0)`\n );\n }\n\n this.contents.forEach((content: NzCarouselContentDirective) => {\n this.renderer.setStyle(content.el, 'position', 'relative');\n this.renderer.setStyle(content.el, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(content.el, 'height', `${this.unitHeight}px`);\n });\n }\n }\n }\n\n switch(_f: number, _t: number): Observable<void> {\n const to = (_t + this.length) % this.length;\n const transitionSpeed = this.carouselComponent!.nzTransitionSpeed;\n const complete$ = new Subject<void>();\n\n this.renderer.setStyle(this.slickTrackEl, 'transition', `transform ${transitionSpeed}ms ease`);\n\n if (this.vertical) {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(0, ${-to * this.unitHeight}px, 0)`);\n } else {\n this.renderer.setStyle(this.slickTrackEl, 'transform', `translate3d(${-to * this.unitWidth}px, 0, 0)`);\n }\n\n this.isTransitioning = true;\n\n setTimeout(() => {\n // this strategy don't need to do a following adjust\n this.isTransitioning = false;\n\n complete$.next();\n complete$.complete();\n }, transitionSpeed);\n\n return complete$.asObservable();\n }\n\n override dragging(vector: PointerVector): void {\n if (this.isTransitioning) {\n return;\n }\n\n const activeIndex = this.carouselComponent!.activeIndex;\n\n if (this.vertical) {\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(0, ${-activeIndex * this.unitHeight + vector.x}px, 0)`\n );\n } else {\n this.renderer.setStyle(\n this.slickTrackEl,\n 'transform',\n `translate3d(${-activeIndex * this.unitWidth + vector.x}px, 0, 0)`\n );\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { QueryList } from '@angular/core';\nimport { type Observable, Subject } from 'rxjs';\n\nimport { NzCarouselContentDirective } from '../../carousel-content.directive';\nimport { NzCarouselBaseStrategy } from '../base-strategy';\n\nexport class NzCarouselFlipStrategy extends NzCarouselBaseStrategy {\n override withCarouselContents(contents: QueryList<NzCarouselContentDirective> | null): void {\n super.withCarouselContents(contents);\n\n if (this.contents) {\n this.renderer.setStyle(this.slickListEl, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(this.slickTrackEl, 'width', `${this.length * this.unitWidth}px`);\n\n this.contents.forEach((content: NzCarouselContentDirective, i: number) => {\n const cur = this.carouselComponent!.activeIndex === i;\n\n this.renderer.setStyle(content.el, 'transform', cur ? 'rotateY(0deg)' : 'rotateY(180deg)');\n this.renderer.setStyle(content.el, 'position', 'relative');\n this.renderer.setStyle(content.el, 'width', `${this.unitWidth}px`);\n this.renderer.setStyle(content.el, 'left', `${-this.unitWidth * i}px`);\n this.renderer.setStyle(content.el, 'transform-style', 'preserve-3d');\n this.renderer.setStyle(content.el, 'backface-visibility', 'hidden');\n });\n\n const { carouselComponent } = this;\n carouselComponent!.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.contents.forEach(c => this.renderer.setStyle(c.el, 'transition', ['transform 500ms ease 0s']));\n }, carouselComponent!.nzTransitionSpeed);\n });\n }\n }\n\n switch(rawF: number, rawT: number): Observable<void> {\n const { from, to } = this.getFromToInBoundary(rawF, rawT);\n const complete$ = new Subject<void>();\n const speed = this.carouselComponent!.nzTransitionSpeed;\n\n setTimeout(() => {\n complete$.next();\n complete$.complete();\n }, speed);\n\n if (rawF === rawT) {\n return complete$;\n }\n\n this.contents.forEach((content: NzCarouselContentDirective, i: number) => {\n if (i === from) {\n this.renderer.setStyle(content.el, 'transform', 'rotateY(180deg)');\n } else if (i === to) {\n this.renderer.setStyle(content.el, 'transform', 'rotateY(0deg)');\n }\n });\n\n return complete$.asObservable();\n }\n\n override dispose(): void {\n this.contents.forEach((content: NzCarouselContentDirective) => {\n this.renderer.setStyle(content.el, 'transition', null);\n this.renderer.setStyle(content.el, 'transform', null);\n this.renderer.setStyle(content.el, 'width', null);\n this.renderer.setStyle(content.el, 'left', null);\n this.renderer.setStyle(content.el, 'transform-style', null);\n this.renderer.setStyle(content.el, 'backface-visibility', null);\n });\n\n super.dispose();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './carousel.module';\nexport * from './carousel.component';\nexport * from './carousel-content.directive';\nexport * from './typings';\n\nexport * from './strategies/base-strategy';\nexport { NzCarouselOpacityStrategy } from './strategies/opacity-strategy';\nexport { NzCarouselTransformStrategy } from './strategies/transform-strategy';\nexport { NzCarouselTransformNoLoopStrategy } from './strategies/experimental/transform-no-loop-strategy';\nexport { NzCarouselFlipStrategy } from './strategies/experimental/flip-strategy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}