ng-marquee-improved
Version:
Angular 7/8 CSS-based Scrolling Marquee
75 lines (71 loc) • 3.26 kB
JavaScript
import { Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NgMarqueeComponent = /** @class */ (function () {
function NgMarqueeComponent() {
}
/**
* @return {?}
*/
NgMarqueeComponent.prototype.updateDuration = /**
* @return {?}
*/
function () {
if (!this.duration) {
return;
}
this.animationElem.style.animationDuration = this.duration + "s";
};
/**
* @return {?}
*/
NgMarqueeComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
NgMarqueeComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
this.animationElem = (/** @type {?} */ (document.querySelector(".ng-marquee-wrapper#" + this.marqueeId + " > div")));
this.updateDuration();
};
NgMarqueeComponent.decorators = [
{ type: Component, args: [{
selector: "ng-marquee",
template: "<div class=\"ng-marquee-wrapper\" id=\"{{ marqueeId }}\">\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [".ng-marquee-wrapper{overflow:hidden;position:relative}.ng-marquee-wrapper>div{height:100%;display:inline-block;margin:0;padding-left:100%;-webkit-animation:20s linear infinite marqueeAnimation;animation:20s linear infinite marqueeAnimation;white-space:nowrap}.ng-marquee-wrapper:hover>div{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes marqueeAnimation{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes marqueeAnimation{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:500px){.ng-marquee-wrapper>div{width:100%;height:100%;margin:0;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-animation:9s linear 1s infinite marqueeAnimation;animation:9s linear 1s infinite marqueeAnimation;white-space:nowrap}}"]
}] }
];
/** @nocollapse */
NgMarqueeComponent.ctorParameters = function () { return []; };
NgMarqueeComponent.propDecorators = {
duration: [{ type: Input }],
marqueeId: [{ type: Input }]
};
return NgMarqueeComponent;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NgMarqueeModule = /** @class */ (function () {
function NgMarqueeModule() {
}
NgMarqueeModule.decorators = [
{ type: NgModule, args: [{
imports: [],
declarations: [NgMarqueeComponent],
exports: [NgMarqueeComponent]
},] }
];
return NgMarqueeModule;
}());
export { NgMarqueeComponent, NgMarqueeModule };
//# sourceMappingURL=ng-marquee-improved.js.map