UNPKG

ngx-animations

Version:

An adaptation of Animate.css using @angular/animations

28 lines 3.83 kB
import { Injectable } from '@angular/core'; import { AnimationBuilder } from '@angular/animations'; import { animations, stylesToAnimation } from '../model/animations-list'; export class AnimationsService { constructor(_builder) { this._builder = _builder; this.animations = animations; } create(animation, element) { return this._builder.build(animation).create(element); } addAnimations(customAnimations) { customAnimations.forEach(animation => this.add(animation.name, animation.animation)); } add(name, animation) { if (this.animations[name] !== undefined) { throw new Error('There is already an animation named ' + name); } this.animations[name] = stylesToAnimation(animation); } } AnimationsService.decorators = [ { type: Injectable } ]; AnimationsService.ctorParameters = () => [ { type: AnimationBuilder } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LWFuaW1hdGlvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FuaW1hdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFJTCxnQkFBZ0IsRUFDakIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJekUsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUR2QyxlQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2tCLENBQUM7SUFDbEQsTUFBTSxDQUFDLFNBQWdFLEVBQUUsT0FBbUI7UUFDMUYsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELGFBQWEsQ0FBQyxnQkFBb0U7UUFDaEYsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDTyxHQUFHLENBQUMsSUFBWSxFQUFFLFNBQThCO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7O1lBZkYsVUFBVTs7O1lBTFQsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFuaW1hdGlvblN0eWxlTWV0YWRhdGEsXHJcbiAgQW5pbWF0aW9uQW5pbWF0ZU1ldGFkYXRhLFxyXG4gIEFuaW1hdGlvblBsYXllcixcclxuICBBbmltYXRpb25CdWlsZGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IGFuaW1hdGlvbnMsIHN0eWxlc1RvQW5pbWF0aW9uIH0gZnJvbSAnLi4vbW9kZWwvYW5pbWF0aW9ucy1saXN0JztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGVmaW5pdGlvbiB9IGZyb20gJy4uL21vZGVsL2FuaW1hdGlvbi1kZWZpbml0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbnNTZXJ2aWNlIHtcclxuICBwdWJsaWMgYW5pbWF0aW9ucyA9IGFuaW1hdGlvbnM7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlcikge31cclxuICBjcmVhdGUoYW5pbWF0aW9uOiAoQW5pbWF0aW9uU3R5bGVNZXRhZGF0YSB8IEFuaW1hdGlvbkFuaW1hdGVNZXRhZGF0YSlbXSwgZWxlbWVudDogRWxlbWVudFJlZik6IEFuaW1hdGlvblBsYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fYnVpbGRlci5idWlsZChhbmltYXRpb24pLmNyZWF0ZShlbGVtZW50KTtcclxuICB9XHJcbiAgYWRkQW5pbWF0aW9ucyhjdXN0b21BbmltYXRpb25zOiB7IG5hbWU6IHN0cmluZzsgYW5pbWF0aW9uOiBBbmltYXRpb25EZWZpbml0aW9uIH1bXSkge1xyXG4gICAgY3VzdG9tQW5pbWF0aW9ucy5mb3JFYWNoKGFuaW1hdGlvbiA9PiB0aGlzLmFkZChhbmltYXRpb24ubmFtZSwgYW5pbWF0aW9uLmFuaW1hdGlvbikpO1xyXG4gIH1cclxuICBwcml2YXRlIGFkZChuYW1lOiBzdHJpbmcsIGFuaW1hdGlvbjogQW5pbWF0aW9uRGVmaW5pdGlvbikge1xyXG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uc1tuYW1lXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlcmUgaXMgYWxyZWFkeSBhbiBhbmltYXRpb24gbmFtZWQgJyArIG5hbWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hbmltYXRpb25zW25hbWVdID0gc3R5bGVzVG9BbmltYXRpb24oYW5pbWF0aW9uKTtcclxuICB9XHJcbn1cclxuIl19