{ "version": 3, "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-carousel.mjs"], "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Directive, InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, ContentChildren, ViewChild, Input, Output, NgModule } from '@angular/core';\nimport { __decorate } from 'tslib';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { NgIf, NgForOf, NgTemplateOutlet } from '@angular/common';\nimport { Subject, fromEvent, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i1 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { InputBoolean, InputNumber } from 'ng-zorro-antd/core/util';\nimport * as i2 from '@angular/cdk/platform';\nimport * as i3 from 'ng-zorro-antd/core/services';\nimport * as i4 from '@angular/cdk/bidi';\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 */\nconst _c0 = [\"slickList\"];\nconst _c1 = [\"slickTrack\"];\nfunction NzCarouselComponent_ul_6_li_1_ng_template_1_Template(rf, ctx) {}\nconst _c2 = a0 => ({\n $implicit: a0\n});\nfunction NzCarouselComponent_ul_6_li_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 9);\n i0.ɵɵlistener(\"click\", function NzCarouselComponent_ul_6_li_1_Template_li_click_0_listener() {\n const restoredCtx = i0.ɵɵrestoreView(_r10);\n const i_r7 = restoredCtx.index;\n const ctx_r9 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r9.onLiClick(i_r7));\n });\n i0.ɵɵtemplate(1, NzCarouselComponent_ul_6_li_1_ng_template_1_Template, 0, 0, \"ng-template\", 10);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const i_r7 = ctx.index;\n const ctx_r5 = i0.ɵɵnextContext(2);\n const _r4 = i0.ɵɵreference(8);\n i0.ɵɵclassProp(\"slick-active\", i_r7 === ctx_r5.activeIndex);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r5.nzDotRender || _r4)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(4, _c2, i_r7));\n }\n}\nfunction NzCarouselComponent_ul_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ul\", 7);\n i0.ɵɵtemplate(1, NzCarouselComponent_ul_6_li_1_Template, 2, 6, \"li\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"slick-dots-top\", ctx_r2.nzDotPosition === \"top\")(\"slick-dots-bottom\", ctx_r2.nzDotPosition === \"bottom\")(\"slick-dots-left\", ctx_r2.nzDotPosition === \"left\")(\"slick-dots-right\", ctx_r2.nzDotPosition === \"right\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r2.carouselContents);\n }\n}\nfunction NzCarouselComponent_ng_template_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"button\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const index_r11 = ctx.$implicit;\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(index_r11 + 1);\n }\n}\nconst _c3 = [\"*\"];\nclass NzCarouselContentDirective {\n set isActive(value) {\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 get isActive() {\n return this._active;\n }\n constructor(elementRef, renderer) {\n this.renderer = renderer;\n this._active = false;\n this.el = elementRef.nativeElement;\n }\n static {\n this.ɵfac = function NzCarouselContentDirective_Factory(t) {\n return new (t || NzCarouselContentDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzCarouselContentDirective,\n selectors: [[\"\", \"nz-carousel-content\", \"\"]],\n hostAttrs: [1, \"slick-slide\"],\n exportAs: [\"nzCarouselContent\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzCarouselContentDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-carousel-content]',\n exportAs: 'nzCarouselContent',\n host: {\n class: 'slick-slide'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }], null);\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 */\nclass NzCarouselBaseStrategy {\n get maxIndex() {\n return this.length - 1;\n }\n get firstEl() {\n return this.contents[0].el;\n }\n get lastEl() {\n return this.contents[this.maxIndex].el;\n }\n constructor(carouselComponent, cdr, renderer, platform, options) {\n this.cdr = cdr;\n this.renderer = renderer;\n this.platform = platform;\n this.options = options;\n this.carouselComponent = carouselComponent;\n }\n /**\n * Initialize dragging sequences.\n *\n * @param contents\n */\n withCarouselContents(contents) {\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 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 * When user drag the carousel component.\n *\n * @optional\n */\n dragging(_vector) {}\n /**\n * Destroy a scroll strategy.\n */\n dispose() {}\n getFromToInBoundary(f, t) {\n const length = this.maxIndex + 1;\n return {\n from: (f + length) % length,\n to: (t + length) % length\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 */\nclass NzCarouselOpacityStrategy extends NzCarouselBaseStrategy {\n withCarouselContents(contents) {\n super.withCarouselContents(contents);\n if (this.contents) {\n this.slickTrackEl.style.width = `${this.length * this.unitWidth}px`;\n this.contents.forEach((content, i) => {\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 switch(_f, _t) {\n const {\n to: t\n } = this.getFromToInBoundary(_f, _t);\n const complete$ = new Subject();\n this.contents.forEach((content, i) => {\n this.renderer.setStyle(content.el, 'opacity', t === i ? '1' : '0');\n });\n setTimeout(() => {\n complete$.next();\n complete$.complete();\n }, this.carouselComponent.nzTransitionSpeed);\n return complete$;\n }\n dispose() {\n this.contents.forEach(content => {\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 super.dispose();\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 */\nclass NzCarouselTransformStrategy extends NzCarouselBaseStrategy {\n get vertical() {\n return this.carouselComponent.vertical;\n }\n constructor(carouselComponent, cdr, renderer, platform, options) {\n super(carouselComponent, cdr, renderer, platform, options);\n this.isDragging = false;\n this.isTransitioning = false;\n }\n dispose() {\n super.dispose();\n this.renderer.setStyle(this.slickTrackEl, 'transform', null);\n }\n withCarouselContents(contents) {\n super.withCarouselContents(contents);\n const carousel = this.carouselComponent;\n const activeIndex = carousel.activeIndex;\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 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(this.slickTrackEl, 'transform', `translate3d(0, ${-activeIndex * this.unitHeight}px, 0)`);\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 this.contents.forEach(content => {\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 switch(_f, _t) {\n const {\n to: t\n } = this.getFromToInBoundary(_f, _t);\n const complete$ = new Subject();\n this.renderer.setStyle(this.slickTrackEl, 'transition', `transform ${this.carouselComponent.nzTransitionSpeed}ms ease`);\n if (this.vertical) {\n this.verticalTransform(_f, _t);\n } else {\n this.horizontalTransform(_f, _t);\n }\n this.isTransitioning = true;\n this.isDragging = false;\n // TODO@hullis: use transitionEnd event instead of setTimeout\n setTimeout(() => {\n this.renderer.setStyle(this.slickTrackEl, 'transition', null);\n this.contents.forEach(content => {\n this.renderer.setStyle(content.el, this.vertical ? 'top' : 'left', null);\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 this.isTransitioning = false;\n complete$.next();\n complete$.complete();\n }, this.carouselComponent.nzTransitionSpeed);\n return complete$.asObservable();\n }\n dragging(_vector) {\n if (this.isTransitioning) {\n return;\n }\n const activeIndex = this.carouselComponent.activeIndex;\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(this.slickTrackEl, 'transform', `translate3d(0, ${-activeIndex * this.unitHeight + _vector.x}px, 0)`);\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(this.slickTrackEl, 'transform', `translate3d(${-activeIndex * this.unitWidth + _vector.x}px, 0, 0)`);\n }\n this.isDragging = true;\n }\n verticalTransform(_f, _t) {\n const {\n from: f,\n to: t\n } = this.getFromToInBoundary(_f, _t);\n const needToAdjust = this.length > 2 && _t !== t;\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 horizontalTransform(_f, _t) {\n const {\n from: f,\n to: t\n } = this.getFromToInBoundary(_f, _t);\n const needToAdjust = this.length > 2 && _t !== t;\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 prepareVerticalContext(lastToFirst) {\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 prepareHorizontalContext(lastToFirst) {\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/**\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 */\nconst NZ_CAROUSEL_CUSTOM_STRATEGIES = new InjectionToken('nz-carousel-custom-strategies');\nconst NZ_CONFIG_MODULE_NAME = 'carousel';\nclass NzCarouselComponent {\n set nzDotPosition(value) {\n this._dotPosition = value;\n if (value === 'left' || value === 'right') {\n this.vertical = true;\n } else {\n this.vertical = false;\n }\n }\n get nzDotPosition() {\n return this._dotPosition;\n }\n constructor(elementRef, nzConfigService, ngZone, renderer, cdr, platform, resizeService, nzDragService, directionality, customStrategies) {\n this.nzConfigService = nzConfigService;\n this.ngZone = ngZone;\n this.renderer = renderer;\n this.cdr = cdr;\n this.platform = platform;\n this.resizeService = resizeService;\n this.nzDragService = nzDragService;\n this.directionality = directionality;\n this.customStrategies = customStrategies;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.nzEffect = 'scrollx';\n this.nzEnableSwipe = true;\n this.nzDots = true;\n this.nzAutoPlay = false;\n this.nzAutoPlaySpeed = 3000;\n this.nzTransitionSpeed = 500;\n this.nzLoop = true;\n /**\n * this property is passed directly to an NzCarouselBaseStrategy\n */\n this.nzStrategyOptions = undefined;\n this._dotPosition = 'bottom';\n this.nzBeforeChange = new EventEmitter();\n this.nzAfterChange = new EventEmitter();\n this.activeIndex = 0;\n this.vertical = false;\n this.transitionInProgress = null;\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n this.gestureRect = null;\n this.pointerDelta = null;\n this.isTransiting = false;\n this.isDragging = false;\n this.onLiClick = index => {\n if (this.dir === 'rtl') {\n this.goTo(this.carouselContents.length - 1 - index);\n } else {\n this.goTo(index);\n }\n };\n /**\n * Drag carousel.\n */\n this.pointerDown = event => {\n if (!this.isDragging && !this.isTransiting && this.nzEnableSwipe) {\n this.clearScheduledTransition();\n this.gestureRect = this.slickListEl.getBoundingClientRect();\n this.nzDragService.requestDraggingSequence(event).subscribe(delta => {\n this.pointerDelta = delta;\n this.isDragging = true;\n this.strategy?.dragging(this.pointerDelta);\n }, () => {}, () => {\n if (this.nzEnableSwipe && this.isDragging) {\n const xDelta = this.pointerDelta ? this.pointerDelta.x : 0;\n // Switch to another slide if delta is bigger than third of the width.\n if (Math.abs(xDelta) > this.gestureRect.width / 3 && (this.nzLoop || xDelta <= 0 && this.activeIndex + 1 < this.carouselContents.length || xDelta > 0 && this.activeIndex > 0)) {\n this.goTo(xDelta > 0 ? this.activeIndex - 1 : this.activeIndex + 1);\n } else {\n this.goTo(this.activeIndex);\n }\n this.gestureRect = null;\n this.pointerDelta = null;\n }\n this.isDragging = false;\n });\n }\n };\n this.nzDotPosition = 'bottom';\n this.el = elementRef.nativeElement;\n }\n ngOnInit() {\n this.slickListEl = this.slickList.nativeElement;\n this.slickTrackEl = this.slickTrack.nativeElement;\n this.dir = this.directionality.value;\n this.directionality.change.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.markContentActive(this.activeIndex);\n this.cdr.detectChanges();\n });\n this.ngZone.runOutsideAngular(() => {\n fromEvent(this.slickListEl, 'keydown').pipe(takeUntil(this.destroy$)).subscribe(event => {\n const {\n keyCode\n } = event;\n if (keyCode !== LEFT_ARROW && keyCode !== RIGHT_ARROW) {\n return;\n }\n event.preventDefault();\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 }\n ngAfterContentInit() {\n this.markContentActive(0);\n }\n ngAfterViewInit() {\n this.carouselContents.changes.subscribe(() => {\n this.markContentActive(0);\n this.layout();\n });\n this.resizeService.subscribe().pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.layout();\n });\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\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(() => {\n this.layout();\n });\n }\n ngOnChanges(changes) {\n const {\n nzEffect,\n nzDotPosition\n } = changes;\n if (nzEffect && !nzEffect.isFirstChange()) {\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\n }\n if (nzDotPosition && !nzDotPosition.isFirstChange()) {\n this.switchStrategy();\n this.markContentActive(0);\n this.layout();\n }\n if (!this.nzAutoPlay || !this.nzAutoPlaySpeed) {\n this.clearScheduledTransition();\n } else {\n this.scheduleNextTransition();\n }\n }\n ngOnDestroy() {\n this.clearScheduledTransition();\n if (this.strategy) {\n this.strategy.dispose();\n }\n this.destroy$.next();\n this.destroy$.complete();\n }\n next() {\n this.goTo(this.activeIndex + 1);\n }\n pre() {\n this.goTo(this.activeIndex - 1);\n }\n goTo(index) {\n if (this.carouselContents && this.carouselContents.length && !this.isTransiting && (this.nzLoop || index >= 0 && index < this.carouselContents.length)) {\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({\n from,\n to\n });\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 switchStrategy() {\n if (this.strategy) {\n this.strategy.dispose();\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(this, this.cdr, this.renderer, this.platform);\n return;\n }\n this.strategy = this.nzEffect === 'scrollx' ? new NzCarouselTransformStrategy(this, this.cdr, this.renderer, this.platform) : new NzCarouselOpacityStrategy(this, this.cdr, this.renderer, this.platform);\n }\n scheduleNextTransition() {\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 clearScheduledTransition() {\n if (this.transitionInProgress) {\n clearTimeout(this.transitionInProgress);\n this.transitionInProgress = null;\n }\n }\n markContentActive(index) {\n this.activeIndex = index;\n if (this.carouselContents) {\n this.carouselContents.forEach((slide, i) => {\n if (this.dir === 'rtl') {\n slide.isActive = index === this.carouselContents.length - 1 - i;\n } else {\n slide.isActive = index === i;\n }\n });\n }\n this.cdr.markForCheck();\n }\n layout() {\n if (this.strategy) {\n this.strategy.withCarouselContents(this.carouselContents);\n }\n }\n static {\n this.ɵfac = function NzCarouselComponent_Factory(t) {\n return new (t || NzCarouselComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.Platform), i0.ɵɵdirectiveInject(i3.NzResizeService), i0.ɵɵdirectiveInject(i3.NzDragService), i0.ɵɵdirectiveInject(i4.Directionality, 8), i0.ɵɵdirectiveInject(NZ_CAROUSEL_CUSTOM_STRATEGIES, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzCarouselComponent,\n selectors: [[\"nz-carousel\"]],\n contentQueries: function NzCarouselComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzCarouselContentDirective, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.carouselContents = _t);\n }\n },\n viewQuery: function NzCarouselComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7);\n i0.ɵɵviewQuery(_c1, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slickList = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slickTrack = _t.first);\n }\n },\n hostAttrs: [1, \"ant-carousel\"],\n hostVars: 4,\n hostBindings: function NzCarouselComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-carousel-vertical\", ctx.vertical)(\"ant-carousel-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n nzDotRender: \"nzDotRender\",\n nzEffect: \"nzEffect\",\n nzEnableSwipe: \"nzEnableSwipe\",\n nzDots: \"nzDots\",\n nzAutoPlay: \"nzAutoPlay\",\n nzAutoPlaySpeed: \"nzAutoPlaySpeed\",\n nzTransitionSpeed: \"nzTransitionSpeed\",\n nzLoop: \"nzLoop\",\n nzStrategyOptions: \"nzStrategyOptions\",\n nzDotPosition: \"nzDotPosition\"\n },\n outputs: {\n nzBeforeChange: \"nzBeforeChange\",\n nzAfterChange: \"nzAfterChange\"\n },\n exportAs: [\"nzCarousel\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c3,\n decls: 9,\n vars: 3,\n consts: [[1, \"slick-initialized\", \"slick-slider\"], [\"tabindex\", \"-1\", 1, \"slick-list\", 3, \"mousedown\", \"touchstart\"], [\"slickList\", \"\"], [1, \"slick-track\"], [\"slickTrack\", \"\"], [\"class\", \"slick-dots\", 3, \"slick-dots-top\", \"slick-dots-bottom\", \"slick-dots-left\", \"slick-dots-right\", 4, \"ngIf\"], [\"renderDotTemplate\", \"\"], [1, \"slick-dots\"], [3, \"slick-active\", \"click\", 4, \"ngFor\", \"ngForOf\"], [3, \"click\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function NzCarouselComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1, 2);\n i0.ɵɵlistener(\"mousedown\", function NzCarouselComponent_Template_div_mousedown_1_listener($event) {\n return ctx.pointerDown($event);\n })(\"touchstart\", function NzCarouselComponent_Template_div_touchstart_1_listener($event) {\n return ctx.pointerDown($event);\n });\n i0.ɵɵelementStart(3, \"div\", 3, 4);\n i0.ɵɵprojection(5);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(6, NzCarouselComponent_ul_6_Template, 2, 9, \"ul\", 5);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(7, NzCarouselComponent_ng_template_7_Template, 2, 1, \"ng-template\", null, 6, i0.ɵɵtemplateRefExtractor);\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"slick-vertical\", ctx.nzDotPosition === \"left\" || ctx.nzDotPosition === \"right\");\n i0.ɵɵadvance(6);\n i0.ɵɵproperty(\"ngIf\", ctx.nzDots);\n }\n },\n dependencies: [NgIf, NgForOf, NgTemplateOutlet],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n__decorate([WithConfig()], NzCarouselComponent.prototype, \"nzEffect\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzCarouselComponent.prototype, \"nzEnableSwipe\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzCarouselComponent.prototype, \"nzDots\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzCarouselComponent.prototype, \"nzAutoPlay\", void 0);\n__decorate([WithConfig(), InputNumber()], NzCarouselComponent.prototype, \"nzAutoPlaySpeed\", void 0);\n__decorate([InputNumber()], NzCarouselComponent.prototype, \"nzTransitionSpeed\", void 0);\n__decorate([WithConfig()], NzCarouselComponent.prototype, \"nzLoop\", void 0);\n__decorate([WithConfig()], NzCarouselComponent.prototype, \"nzDotPosition\", null);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzCarouselComponent, [{\n type: Component,\n args: [{\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-carousel',\n exportAs: 'nzCarousel',\n preserveWhitespaces: false,\n template: `\n