ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
918 lines • 80.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ContentChildren, HostBinding, Input, Output, HostListener, QueryList, EventEmitter, ElementRef, ViewEncapsulation } from '@angular/core';
import { CarouselSlideComponent } from './carousel-slide/carousel-slide.component';
import * as touchEvent from '../core/util/touch-event';
var CarouselComponent = /** @class */ (function () {
function CarouselComponent(_ele) {
this._ele = _ele;
this.style = {
height: 'auto',
width: '100%',
transform: 'translate3d(0px, 0px, 0px)',
margin: ''
};
this.lastIndex = 0;
this.currentSelectedIndex = 0;
this._nodeArr = [];
this._isMouseDown = false;
this._rationWidth = 0;
this._currentSlideWidth = 0;
this._currentSlideHeight = 0;
this._transition = '';
this._spaceWidth = 0;
this._dragging = true;
this._selectedIndex = 0;
this.speed = 500;
this.dots = true;
this.vertical = false;
this.autoplay = false;
this.autoplayInterval = 3000;
this.infinite = false;
this.dotStyle = {};
this.dotActiveStyle = {};
this.frameOverflow = 'hidden';
this.cellSpacing = 0;
this.slideWidth = 1;
this.swipeSpeed = 12;
this.dragging = true;
this.afterChange = new EventEmitter();
this.beforeChange = new EventEmitter();
this.carouselWrapper = true;
this.carouselwrap = true;
}
Object.defineProperty(CarouselComponent.prototype, "selectedIndex", {
get: /**
* @return {?}
*/
function () {
return this._selectedIndex;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._selectedIndex = Math.abs(value);
if (this._nodeArr.length > 0) {
this.carousel(1);
}
},
enumerable: true,
configurable: true
});
/**
* @param {?} event
* @return {?}
*/
CarouselComponent.prototype.panstart = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.stopPropagation();
if (!this._dragging) {
return;
}
this.stopTimer();
this._isMouseDown = true;
this.touchObject = {
startX: touchEvent.getEventTarget(event).pageX,
startY: touchEvent.getEventTarget(event).pageY,
direction: this.touchObject.direction
};
};
/**
* @param {?} event
* @return {?}
*/
CarouselComponent.prototype.panmove = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.stopPropagation();
if (!this._dragging || !this._isMouseDown) {
return;
}
var direction = this.swipeDirection(this.touchObject.startX, touchEvent.getEventTarget(event).pageX, this.touchObject.startY, touchEvent.getEventTarget(event).pageY).direction;
/** @type {?} */
var length = this.vertical
? Math.abs(touchEvent.getEventTarget(event).pageY - this.touchObject.startY)
: Math.abs(touchEvent.getEventTarget(event).pageX - this.touchObject.startX);
/** @type {?} */
var offset = -this.touchObject.direction * length - this.currentSelectedIndex * this._rationWidth;
this.touchObject = {
startX: this.touchObject.startX,
startY: this.touchObject.startY,
endX: touchEvent.getEventTarget(event).pageX,
endY: touchEvent.getEventTarget(event).pageY,
length: length,
direction: direction,
offset: offset
};
if (direction !== 0) {
this.setSlideStyles(this.currentSelectedIndex, this.touchObject.direction);
}
this.getListStyles(offset);
};
/**
* @param {?} event
* @return {?}
*/
CarouselComponent.prototype.panend = /**
* @param {?} event
* @return {?}
*/
function (event) {
var _this = this;
event.stopPropagation();
if (!this._dragging || !this._isMouseDown || !this.touchObject.length || this.touchObject.length === undefined) {
this._isMouseDown = false;
return;
}
this._isMouseDown = false;
if (this.touchObject.length > this.swipeSpeed) {
this.carousel(this.touchObject.direction);
}
else {
this.getListStyles(this.touchObject.direction * this.touchObject.length + this.touchObject.offset);
this.style['transition'] = this._transition;
}
setTimeout((/**
* @return {?}
*/
function () {
_this.startTimer();
}), this.speed);
};
/**
* @return {?}
*/
CarouselComponent.prototype.cancel = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout((/**
* @return {?}
*/
function () {
_this.startTimer();
}), this.speed);
};
/**
* @return {?}
*/
CarouselComponent.prototype.resize = /**
* @return {?}
*/
function () {
var _this = this;
if (this._resizeTimer) {
clearTimeout(this._resizeTimer);
}
this._resizeTimer = setTimeout((/**
* @return {?}
*/
function () {
_this.ngAfterViewInit();
clearTimeout(_this._resizeTimer);
}), 200);
};
/**
* @return {?}
*/
CarouselComponent.prototype.initCarouselSize = /**
* @return {?}
*/
function () {
/** @type {?} */
var nativeElement = this._ele.nativeElement;
this.slideHeight = nativeElement.querySelector('carouselslide').clientHeight;
this._currentSlideHeight = this.slideHeight * this.slideWidth;
this._currentSlideWidth = nativeElement.clientWidth;
this._rationWidth = this.vertical ? this._currentSlideHeight : this._currentSlideWidth * this.slideWidth;
this._spaceWidth = ((this.vertical ? this.slideHeight : this._currentSlideWidth) - this._rationWidth) / 2;
};
/**
* @param {?} items
* @return {?}
*/
CarouselComponent.prototype.carouselInit = /**
* @param {?} items
* @return {?}
*/
function (items) {
var _this = this;
this.infinite = this.infinite || true;
this._nodeArr = items['_results'];
/** @type {?} */
var shouldDragging = this._nodeArr.length > 1;
this._dragging = this.dragging && shouldDragging ? true : false;
if (this._nodeArr.length > 1) {
this.lastIndex = this._nodeArr.length - 1;
setTimeout((/**
* @return {?}
*/
function () {
_this._nodeArr.forEach((/**
* @param {?} v
* @param {?} index
* @return {?}
*/
function (v, index) {
v.width = _this.vertical ? 'auto' : _this._rationWidth - _this.cellSpacing;
v.left = _this.vertical ? 0 : index === _this.lastIndex ? -_this._rationWidth : index * _this._rationWidth;
v.top = _this.vertical ? (index === _this.lastIndex ? -_this._rationWidth : index * _this._rationWidth) : 0;
v.margin = _this.vertical ? _this.cellSpacing / 2 + "px auto" : "auto " + _this.cellSpacing / 2 + "px";
}));
_this.startTimer();
}), 0);
}
else if (this._nodeArr.length === 1) {
setTimeout((/**
* @return {?}
*/
function () {
_this._nodeArr.forEach((/**
* @param {?} v
* @return {?}
*/
function (v) {
v.width = _this.vertical ? 'auto' : _this._rationWidth - _this.cellSpacing;
v.left = 0;
v.top = 0;
v.margin = "auto " + _this.cellSpacing / 2 + "px";
}));
}), 0);
}
};
/**
* @return {?}
*/
CarouselComponent.prototype.startTimer = /**
* @return {?}
*/
function () {
var _this = this;
if (!this.autoplay) {
return;
}
this.stopTimer();
this._timer = this.autoplayInterval
? setInterval((/**
* @return {?}
*/
function () {
if (document.getElementsByTagName('carousel').length === 0) {
return;
}
_this.carousel(1);
}), this.autoplayInterval)
: 0;
};
/**
* @return {?}
*/
CarouselComponent.prototype.stopTimer = /**
* @return {?}
*/
function () {
clearInterval(this._timer);
};
/**
* @param {?} moveDirection
* @return {?}
*/
CarouselComponent.prototype.carousel = /**
* @param {?} moveDirection
* @return {?}
*/
function (moveDirection) {
if (this.vertical) {
if (moveDirection === 1) {
this.moveUp();
}
else if (moveDirection === -1) {
this.moveDown();
}
}
else {
if (moveDirection === 1) {
this.moveLeft();
}
else if (moveDirection === -1) {
this.moveRight();
}
}
this.style['transition'] = this._transition;
};
/**
* @return {?}
*/
CarouselComponent.prototype.moveUp = /**
* @return {?}
*/
function () {
this.gotoCarousel(this.getAfterNode(false));
};
/**
* @return {?}
*/
CarouselComponent.prototype.moveDown = /**
* @return {?}
*/
function () {
this.gotoCarousel(this.getAfterNode(true));
};
/**
* @return {?}
*/
CarouselComponent.prototype.moveLeft = /**
* @return {?}
*/
function () {
this.gotoCarousel(this.getAfterNode(false));
};
/**
* @return {?}
*/
CarouselComponent.prototype.moveRight = /**
* @return {?}
*/
function () {
this.gotoCarousel(this.getAfterNode(true));
};
/**
* @param {?} pre
* @return {?}
*/
CarouselComponent.prototype.getAfterNode = /**
* @param {?} pre
* @return {?}
*/
function (pre) {
var _this = this;
/** @type {?} */
var nextIndex;
if (pre) {
if (this.currentSelectedIndex <= 0) {
this.getListStyles(this._rationWidth);
setTimeout((/**
* @return {?}
*/
function () {
_this._nodeArr.forEach((/**
* @param {?} v
* @param {?} tempIndex
* @return {?}
*/
function (v, tempIndex) {
if (tempIndex === 0) {
v.left = _this.vertical ? 0 : _this._nodeArr.length * _this._rationWidth;
v.top = _this.vertical ? _this._nodeArr.length * _this._rationWidth : 0;
}
else {
v.left = _this.vertical ? 0 : tempIndex * _this._rationWidth;
v.top = _this.vertical ? tempIndex * _this._rationWidth : 0;
}
}));
_this.getListStyles(-_this._rationWidth * (_this.items.length - 1));
}), this.speed);
nextIndex = !this.infinite ? null : this.lastIndex;
this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });
return nextIndex;
}
nextIndex = this.currentSelectedIndex - 1;
this.getListStyles(nextIndex * this._rationWidth * this.touchObject.direction);
this._nodeArr.forEach((/**
* @param {?} v
* @param {?} tempIndex
* @return {?}
*/
function (v, tempIndex) {
if (0 === tempIndex && nextIndex === _this._nodeArr.length - 2) {
v.left = 0;
v.top = 0;
}
}));
this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });
return nextIndex;
}
else {
if (this.currentSelectedIndex >= this.lastIndex) {
this.setSlideStyles(this.currentSelectedIndex, 1);
this.getListStyles(-(this.lastIndex + 1) * this._rationWidth);
nextIndex = !this.infinite ? null : 0;
this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });
return nextIndex;
}
nextIndex = this.currentSelectedIndex + 1;
this.setSlideStyles(this.currentSelectedIndex, 1);
this.getListStyles(-nextIndex * this._rationWidth);
this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });
return nextIndex;
}
};
/**
* @return {?}
*/
CarouselComponent.prototype.caculateDirectionLeftCurrentIndex = /**
* @return {?}
*/
function () {
/** @type {?} */
var previousIndex = this.currentSelectedIndex;
this.currentSelectedIndex = (previousIndex + 1) % this.items.length;
};
/**
* @return {?}
*/
CarouselComponent.prototype.caculateDirectionRightCurrentIndex = /**
* @return {?}
*/
function () {
if (this.currentSelectedIndex === 0) {
this.currentSelectedIndex = this.items.length;
}
/** @type {?} */
var previousIndex = this.currentSelectedIndex;
this.currentSelectedIndex = (previousIndex - 1) % this.items.length;
};
/**
* @param {?} afterIndex
* @return {?}
*/
CarouselComponent.prototype.gotoCarousel = /**
* @param {?} afterIndex
* @return {?}
*/
function (afterIndex) {
var _this = this;
if (afterIndex === null) {
return;
}
this.getCurrentIndex();
if (afterIndex === 0) {
setTimeout((/**
* @return {?}
*/
function () {
_this._nodeArr.forEach((/**
* @param {?} v
* @param {?} index
* @return {?}
*/
function (v, index) {
if (index === _this._nodeArr.length - 1) {
v.left = _this.vertical ? 0 : -_this._rationWidth;
v.top = _this.vertical ? -_this._rationWidth : 0;
}
else {
v.left = _this.vertical ? 0 : index * _this._rationWidth;
v.top = _this.vertical ? index * _this._rationWidth : 0;
}
}));
_this.startTimer();
_this.getListStyles(0);
}), this.speed);
}
this.currentSelectedIndex = afterIndex;
this.afterChange.emit(this.currentSelectedIndex);
};
/**
* @return {?}
*/
CarouselComponent.prototype.getCurrentIndex = /**
* @return {?}
*/
function () {
if (this.touchObject.direction === 1) {
this.caculateDirectionLeftCurrentIndex();
}
else {
this.caculateDirectionRightCurrentIndex();
}
};
/**
* @param {?} index
* @param {?} direction
* @param {?=} xDist
* @return {?}
*/
CarouselComponent.prototype.setSlideStyles = /**
* @param {?} index
* @param {?} direction
* @param {?=} xDist
* @return {?}
*/
function (index, direction, xDist) {
var _this = this;
if (xDist === void 0) { xDist = 0; }
if (direction === 1) {
this._nodeArr.forEach((/**
* @param {?} v
* @param {?} tempIndex
* @return {?}
*/
function (v, tempIndex) {
if (index < _this._nodeArr.length && index - 1 === tempIndex) {
if (xDist === 0 || xDist > _this._spaceWidth) {
v.left = _this.vertical ? 0 : (_this._nodeArr.length + tempIndex) * _this._rationWidth;
v.top = _this.vertical ? (_this._nodeArr.length + tempIndex) * _this._rationWidth : 0;
}
}
else if (_this._nodeArr.length - 1 === tempIndex && index !== 2) {
if (xDist === 0 || xDist > _this._spaceWidth) {
v.left = _this.vertical ? 0 : (_this._nodeArr.length - 1) * _this._rationWidth;
v.top = _this.vertical ? (_this._nodeArr.length - 1) * _this._rationWidth : 0;
}
}
else if (index === _this._nodeArr.length - 1 && tempIndex === 1 && _this.autoplay) {
v.left = _this.vertical ? 0 : (_this._nodeArr.length + tempIndex) * _this._rationWidth;
v.top = _this.vertical ? tempIndex * _this._rationWidth : 0;
}
else if (index === _this._nodeArr.length - 1 && tempIndex === 0 && !_this.autoplay) {
v.left = _this.vertical ? 0 : (_this._nodeArr.length + tempIndex) * _this._rationWidth;
v.top = _this.vertical ? tempIndex * _this._rationWidth : 0;
}
}));
}
else if (direction === -1) {
this._nodeArr.forEach((/**
* @param {?} v
* @param {?} tempIndex
* @return {?}
*/
function (v, tempIndex) {
if (index === 0 && _this._nodeArr.length - 1 === tempIndex) {
v.left = _this.vertical ? 0 : direction * _this._rationWidth;
v.top = _this.vertical ? direction * _this._rationWidth : 0;
}
else if (index === _this._nodeArr.length - 2 && index + 1 === tempIndex) {
v.left = _this.vertical ? 0 : direction * _this._rationWidth;
v.top = _this.vertical ? direction * _this._rationWidth : 0;
}
else if (index === 1 && 0 === tempIndex) {
v.left = _this.vertical ? 0 : direction * _this._rationWidth * tempIndex;
v.top = _this.vertical ? direction * _this._rationWidth : 0;
}
else if (index > 1) {
v.left = _this.vertical ? 0 : tempIndex * _this._rationWidth;
v.top = _this.vertical ? tempIndex * _this._rationWidth : 0;
}
}));
}
};
/**
* @param {?=} offset
* @return {?}
*/
CarouselComponent.prototype.getListStyles = /**
* @param {?=} offset
* @return {?}
*/
function (offset) {
if (offset === void 0) { offset = 0; }
/** @type {?} */
var positionOffset = offset +
(this.vertical
? (this.slideHeight - this._currentSlideHeight) / 2
: (this._currentSlideWidth - this._rationWidth) / 2) -
this.cellSpacing;
this.style = {
height: this._currentSlideHeight + 'px',
width: this.vertical ? this._currentSlideWidth + 'px' : this.items.length * this._rationWidth + 'px',
transform: this.vertical
? "translate3d(0px, " + positionOffset + "px, 0px)"
: "translate3d(" + positionOffset + "px, 0px, 0px)",
margin: this.vertical ? (this.cellSpacing / 2) * -1 + "px 0px" : "0px " + (this.cellSpacing / 2) * -1 + "px"
};
};
/**
* @param {?} x1
* @param {?} x2
* @param {?} y1
* @param {?} y2
* @return {?}
*/
CarouselComponent.prototype.swipeDirection = /**
* @param {?} x1
* @param {?} x2
* @param {?} y1
* @param {?} y2
* @return {?}
*/
function (x1, x2, y1, y2) {
/** @type {?} */
var xDist = x1 - x2;
/** @type {?} */
var yDist = y1 - y2;
/** @type {?} */
var r = Math.atan2(yDist, xDist);
/** @type {?} */
var swipeAngle = Math.round((r * 180) / Math.PI);
if (swipeAngle < 0) {
swipeAngle = 360 - Math.abs(swipeAngle);
}
if (swipeAngle <= 45 && swipeAngle >= 0) {
return {
direction: 1,
xDist: xDist
};
}
if (swipeAngle <= 360 && swipeAngle >= 315) {
return {
direction: 1,
xDist: xDist
};
}
if (swipeAngle >= 135 && swipeAngle <= 225) {
return {
direction: -1,
xDist: xDist
};
}
if (this.vertical === true) {
if (swipeAngle >= 35 + 33 && swipeAngle <= 135) {
return {
direction: 1,
xDist: xDist
};
}
else {
return {
direction: -1,
xDist: xDist
};
}
}
return {
direction: 0,
xDist: xDist
};
};
Object.defineProperty(CarouselComponent.prototype, "page", {
get: /**
* @return {?}
*/
function () {
return this.dots ? this.currentSelectedIndex : 0;
},
enumerable: true,
configurable: true
});
Object.defineProperty(CarouselComponent.prototype, "pageCount", {
get: /**
* @return {?}
*/
function () {
return this.dots ? this.items.length : 0;
},
enumerable: true,
configurable: true
});
Object.defineProperty(CarouselComponent.prototype, "dotindicatorStatus", {
get: /**
* @return {?}
*/
function () {
return this.dots ? this.items.length > 1 : this.dots;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
CarouselComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
this.touchObject = { direction: 1 };
this._transition = "transform " + this.speed / 1000 + "s";
this.items.changes.subscribe((/**
* @param {?} items
* @return {?}
*/
function (items) {
_this.carouselInit(items);
}));
this.initCarouselSize();
this.selectedIndex = this.items.length - 1 < this.selectedIndex ? 0 : this.selectedIndex;
/** @type {?} */
var index = this.items.length > 1 ? (this.items.length - 1 === this.selectedIndex ? -1 : this.selectedIndex) : 0;
setTimeout((/**
* @return {?}
*/
function () {
_this.currentSelectedIndex = _this.selectedIndex;
}), 0);
this.getListStyles(-index * this._rationWidth);
this.carouselInit(this.items);
/** @type {?} */
var nativeElement = this._ele.nativeElement;
/** @type {?} */
var targetNode = nativeElement.querySelector('carouselslide');
/** @type {?} */
var config = { attributes: true, childList: true, subtree: true };
/** @type {?} */
var callback = (/**
* @param {?} mutationsList
* @return {?}
*/
function (mutationsList) {
var e_1, _a;
try {
for (var mutationsList_1 = tslib_1.__values(mutationsList), mutationsList_1_1 = mutationsList_1.next(); !mutationsList_1_1.done; mutationsList_1_1 = mutationsList_1.next()) {
var mutation = mutationsList_1_1.value;
if (mutation.type == 'attributes') {
if (_this.slideHeight !== nativeElement.querySelector('carouselslide').clientHeight) {
_this.initCarouselSize();
_this.getListStyles(-index * _this._rationWidth);
_this.carouselInit(_this.items);
}
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (mutationsList_1_1 && !mutationsList_1_1.done && (_a = mutationsList_1.return)) _a.call(mutationsList_1);
}
finally { if (e_1) throw e_1.error; }
}
});
this._observer = new MutationObserver(callback);
this._observer.observe(targetNode, config);
};
/**
* @return {?}
*/
CarouselComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this._observer.disconnect();
this._observer = null;
this.stopTimer();
};
CarouselComponent.decorators = [
{ type: Component, args: [{
selector: 'Carousel, nzm-carousel',
encapsulation: ViewEncapsulation.None,
template: "<div class=\"slider-frame\" [ngStyle]=\"{ overflow: frameOverflow }\">\n <ul class=\"slider-list\" [ngStyle]=\"style\">\n <ng-content></ng-content>\n </ul>\n</div>\n<DotIndicator\n *ngIf=\"dotindicatorStatus\"\n class=\"am-carousel-wrap-dot\"\n [page]=\"page\"\n [dotStyle]=\"dotStyle\"\n [pageCount]=\"pageCount\"\n [dotActiveStyle]=\"dotActiveStyle\"\n></DotIndicator>\n"
}] }
];
/** @nocollapse */
CarouselComponent.ctorParameters = function () { return [
{ type: ElementRef }
]; };
CarouselComponent.propDecorators = {
items: [{ type: ContentChildren, args: [CarouselSlideComponent,] }],
speed: [{ type: Input }],
dots: [{ type: Input }],
vertical: [{ type: Input }],
autoplay: [{ type: Input }],
autoplayInterval: [{ type: Input }],
infinite: [{ type: Input }],
dotStyle: [{ type: Input }],
dotActiveStyle: [{ type: Input }],
frameOverflow: [{ type: Input }],
cellSpacing: [{ type: Input }],
slideWidth: [{ type: Input }],
swipeSpeed: [{ type: Input }],
dragging: [{ type: Input }],
selectedIndex: [{ type: Input }],
afterChange: [{ type: Output }],
beforeChange: [{ type: Output }],
carouselWrapper: [{ type: HostBinding, args: ['class.am-carousel',] }],
carouselwrap: [{ type: HostBinding, args: ['class.carousel',] }],
panstart: [{ type: HostListener, args: ['mousedown', ['$event'],] }, { type: HostListener, args: ['touchstart', ['$event'],] }],
panmove: [{ type: HostListener, args: ['mousemove', ['$event'],] }, { type: HostListener, args: ['touchmove', ['$event'],] }],
panend: [{ type: HostListener, args: ['mouseleave', ['$event'],] }, { type: HostListener, args: ['mouseup', ['$event'],] }, { type: HostListener, args: ['touchend', ['$event'],] }],
cancel: [{ type: HostListener, args: ['touchcancel',] }],
resize: [{ type: HostListener, args: ['window:resize',] }]
};
return CarouselComponent;
}());
export { CarouselComponent };
if (false) {
/** @type {?} */
CarouselComponent.prototype.slideHeight;
/** @type {?} */
CarouselComponent.prototype.touchObject;
/** @type {?} */
CarouselComponent.prototype.style;
/** @type {?} */
CarouselComponent.prototype.lastIndex;
/** @type {?} */
CarouselComponent.prototype.currentSelectedIndex;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._timer;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._resizeTimer;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._nodeArr;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._isMouseDown;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._rationWidth;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._currentSlideWidth;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._currentSlideHeight;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._transition;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._spaceWidth;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._observer;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._dragging;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._selectedIndex;
/** @type {?} */
CarouselComponent.prototype.items;
/** @type {?} */
CarouselComponent.prototype.speed;
/** @type {?} */
CarouselComponent.prototype.dots;
/** @type {?} */
CarouselComponent.prototype.vertical;
/** @type {?} */
CarouselComponent.prototype.autoplay;
/** @type {?} */
CarouselComponent.prototype.autoplayInterval;
/** @type {?} */
CarouselComponent.prototype.infinite;
/** @type {?} */
CarouselComponent.prototype.dotStyle;
/** @type {?} */
CarouselComponent.prototype.dotActiveStyle;
/** @type {?} */
CarouselComponent.prototype.frameOverflow;
/** @type {?} */
CarouselComponent.prototype.cellSpacing;
/** @type {?} */
CarouselComponent.prototype.slideWidth;
/** @type {?} */
CarouselComponent.prototype.swipeSpeed;
/** @type {?} */
CarouselComponent.prototype.dragging;
/** @type {?} */
CarouselComponent.prototype.afterChange;
/** @type {?} */
CarouselComponent.prototype.beforeChange;
/** @type {?} */
CarouselComponent.prototype.carouselWrapper;
/** @type {?} */
CarouselComponent.prototype.carouselwrap;
/**
* @type {?}
* @private
*/
CarouselComponent.prototype._ele;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJjYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFFWixVQUFVLEVBRVYsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sS0FBSyxVQUFVLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQ7SUF3S0UsMkJBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFoS3BDLFVBQUssR0FBRztZQUNOLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLE1BQU07WUFDYixTQUFTLEVBQUUsNEJBQTRCO1lBQ3ZDLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNGLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBSXpCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBQy9CLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBTW5DLFVBQUssR0FBVyxHQUFHLENBQUM7UUFFcEIsU0FBSSxHQUFZLElBQUksQ0FBQztRQUVyQixhQUFRLEdBQVks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R0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDM0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxLQUFJLENBQUMsV0FBVyxFQUFFO3dCQUMzQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO3dCQUNwRixDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNwRjtpQkFDRjtxQkFBTSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtvQkFDaEUsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxLQUFJLENBQUMsV0FBVyxFQUFFO3dCQUMzQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO3dCQUM1RSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM1RTtpQkFDRjtxQkFBTSxJQUFJLEtBQUssS0FBSyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsSUFBSSxLQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqRixDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO29CQUNwRixDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNLElBQUksS0FBSyxLQUFLLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsRUFBRTtvQkFDbEYsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQztvQkFDcEYsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLFNBQVMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87Ozs7O1lBQUMsVUFBQyxDQUFDLEVBQUUsU0FBUztnQkFDakMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7b0JBQ3pELENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQztvQkFDM0QsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTSxJQUFJLEtBQUssS0FBSyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7b0JBQ3hFLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQztvQkFDM0QsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTSxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDekMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztvQkFDdkUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQ3BCLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM