ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
921 lines • 80 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,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;
if (direction === 0) {
return;
}
/** @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: '100%',
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJjYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFFWixVQUFVLEVBRVYsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sS0FBSyxVQUFVLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQ7SUEwS0UsMkJBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFsS3BDLFVBQUssR0FBRztZQUNOLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLE1BQU07WUFDYixTQUFTLEVBQUUsNEJBQTRCO1lBQ3ZDLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNGLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBSXpCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBQy9CLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBTW5DLFVBQUssR0FBVyxHQUFHLENBQUM7UUFFcEIsU0FBSSxHQUFZLElBQUksQ0FBQztRQUVyQixhQUFRLEdBQVks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Ozs7OztZQUFDLFVBQUMsQ0FBQyxFQUFFLFNBQVM7Z0JBQ2pDLElBQUksS0FBSyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUMzRCxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUksQ0FBQyxXQUFXLEVBQUU7d0JBQzNDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUM7d0JBQ3BGLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BGO2lCQUNGO3FCQUFNLElBQUksS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNoRSxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUksQ0FBQyxXQUFXLEVBQUU7d0JBQzNDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUM7d0JBQzVFLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzVFO2lCQUNGO3FCQUFNLElBQUksS0FBSyxLQUFLLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLEtBQUssQ0FBQyxJQUFJLEtBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2pGLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUM7b0JBQ3BGLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7cUJBQU0sSUFBSSxLQUFLLEtBQUssS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFNBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsUUFBUSxFQUFFO29CQUNsRixDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO29CQUNwRixDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjthQUFNLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTzs7Ozs7WUFBQyxVQUFDLENBQUMsRUFBRSxTQUFTO2dCQUNqQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDekQsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO29CQUMzRCxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNLElBQUksS0FBSyxLQUFLLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDeEUsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDO29CQUMzRCxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUN6QyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO29CQUN2RSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtvQkFDcEIsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFJ