ngx-lottie
Advanced tools
Comparing version 5.0.0 to 5.1.0
@@ -209,2 +209,96 @@ (function (global, factory) { | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return "animation-" + animation.split('.json')[0]; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @param {?} animationCache | ||
* @return {?} | ||
*/ | ||
function mergeOptionsWithDefault(options, container, animationCache) { | ||
/** @type {?} */ | ||
var merged = Object.assign({ | ||
container: container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}, options); | ||
if (animationCache !== null) { | ||
return animationCache.transformOptions(merged); | ||
} | ||
return merged; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function isAnimationConfigWithData(options) { | ||
/** @type {?} */ | ||
var animationData = ((/** @type {?} */ (options))).animationData; | ||
return animationData !== null && typeof animationData === 'object'; | ||
} | ||
/** | ||
* @param {?} animationCache | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
function awaitConfigAndCache(animationCache, options, animationItem) { | ||
if (animationCache === null) { | ||
return; | ||
} | ||
animationItem.addEventListener('config_ready', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
animationCache.set(options, animationItem); | ||
})); | ||
} | ||
/** | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[name])); | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
@@ -291,46 +385,18 @@ */ | ||
} | ||
/** @type {?} */ | ||
var LOTTIE_PLAYER_FACTORY_OR_LOADER = new core.InjectionToken('LottiePlayerFactoryOrLoader'); | ||
/** @type {?} */ | ||
var IS_SAFARI = new core.InjectionToken('IsSafari'); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @record | ||
*/ | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return "animation-" + animation.split('.json')[0]; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @return {?} | ||
*/ | ||
function resolveOptions(options, container) { | ||
function LottieOptions() { } | ||
if (false) { | ||
/** @type {?} */ | ||
var defaultOptions = { | ||
container: container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}; | ||
return Object.assign(defaultOptions, options); | ||
LottieOptions.prototype.player; | ||
/** @type {?|undefined} */ | ||
LottieOptions.prototype.useCache; | ||
} | ||
/** @type {?} */ | ||
var IS_SAFARI = new core.InjectionToken('IsSafari'); | ||
/** @type {?} */ | ||
var LOTTIE_OPTIONS = new core.InjectionToken('LottieOptions'); | ||
/** @type {?} */ | ||
var ANIMATION_CACHE = new core.InjectionToken('AnimationCache'); | ||
@@ -345,3 +411,3 @@ /** | ||
var AnimationLoader = /** @class */ (function () { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, playerFactoryOrLoader) { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, options, animationCache) { | ||
this.ngZone = ngZone; | ||
@@ -351,3 +417,4 @@ this.platformId = platformId; | ||
this.isSafari = isSafari; | ||
this.playerFactoryOrLoader = playerFactoryOrLoader; | ||
this.options = options; | ||
this.animationCache = animationCache; | ||
this.cachedLottiePlayer$ = null; | ||
@@ -377,3 +444,3 @@ } | ||
/** @type {?} */ | ||
var resolvedOptions = resolveOptions(options, container); | ||
var mergedOptions = mergeOptionsWithDefault(options, container, this.animationCache); | ||
this.wrapPlayerOrLoaderIntoObservable().subscribe((/** | ||
@@ -384,3 +451,3 @@ * @param {?} player | ||
function (player) { | ||
_this.loadAnimation(player, resolvedOptions, eventsFacade, animationCreated, instance); | ||
_this.loadAnimation(player, mergedOptions, eventsFacade, animationCreated, instance); | ||
})); | ||
@@ -413,2 +480,3 @@ }; | ||
function () { return player.loadAnimation(options); })); | ||
awaitConfigAndCache(this.animationCache, options, animationItem); | ||
// Dispatch `animationCreated` event after animation is loaded successfully | ||
@@ -431,3 +499,3 @@ animationCreated.emit(animationItem); | ||
/** @type {?} */ | ||
var playerOrLoader = this.playerFactoryOrLoader(); | ||
var playerOrLoader = this.options.player(); | ||
if (playerOrLoader instanceof Promise) { | ||
@@ -461,3 +529,4 @@ this.cachedLottiePlayer$ = rxjs.from(playerOrLoader).pipe(operators.map((/** | ||
{ type: Boolean, decorators: [{ type: core.Inject, args: [IS_SAFARI,] }] }, | ||
{ type: undefined, decorators: [{ type: core.Inject, args: [LOTTIE_PLAYER_FACTORY_OR_LOADER,] }] } | ||
{ type: undefined, decorators: [{ type: core.Inject, args: [LOTTIE_OPTIONS,] }] }, | ||
{ type: undefined, decorators: [{ type: core.Inject, args: [ANIMATION_CACHE,] }] } | ||
]; }; | ||
@@ -496,3 +565,8 @@ return AnimationLoader; | ||
*/ | ||
AnimationLoader.prototype.playerFactoryOrLoader; | ||
AnimationLoader.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationLoader.prototype.animationCache; | ||
} | ||
@@ -688,2 +762,69 @@ | ||
*/ | ||
var AnimationCache = /** @class */ (function () { | ||
function AnimationCache() { | ||
this.cache = new Map(); | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
AnimationCache.create = /** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function (options) { | ||
if (options.useCache) { | ||
return new AnimationCache(); | ||
} | ||
return null; | ||
}; | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
AnimationCache.prototype.transformOptions = /** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function (options) { | ||
/** @type {?} */ | ||
var path = ((/** @type {?} */ (options))).path; | ||
if (path && this.cache.has(path)) { | ||
delete ((/** @type {?} */ (options))).path; | ||
((/** @type {?} */ (options))).animationData = this.cache.get(path); | ||
} | ||
return options; | ||
}; | ||
/** | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
AnimationCache.prototype.set = /** | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
function (options, animationItem) { | ||
if (isAnimationConfigWithData(options)) { | ||
return; | ||
} | ||
/** @type {?} */ | ||
var animationData = animationItem['animationData']; | ||
this.cache.set((/** @type {?} */ (options.path)), animationData); | ||
}; | ||
return AnimationCache; | ||
}()); | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationCache.prototype.cache; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var LottieEventsFacade = /** @class */ (function () { | ||
@@ -713,7 +854,2 @@ function LottieEventsFacade(ngZone, platformId) { | ||
this.eventNames = (/** @type {?} */ (Object.keys(this.eventsMap))); | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
this.listeners = new Map(); | ||
this.animationItem = null; | ||
@@ -746,9 +882,3 @@ } | ||
var name_1 = _c.value; | ||
/** @type {?} */ | ||
var listenerFn = this.addEventListener(instance, name_1); | ||
// We don't have to save `destroy` listener, because `AnimationItem` | ||
// is able to remove `destroy` event listener itself | ||
if (name_1 !== 'destroy') { | ||
this.listeners.set(name_1, listenerFn); | ||
} | ||
this.addEventListener(instance, name_1); | ||
} | ||
@@ -773,25 +903,8 @@ } | ||
function () { | ||
var e_2, _a; | ||
if (common.isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
try { | ||
for (var _b = __values(this.listeners.entries()), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var _d = __read(_c.value, 2), name_2 = _d[0], listenerFn = _d[1]; | ||
(/** @type {?} */ (this.animationItem)).removeEventListener(name_2, listenerFn); | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
// We cannot call `destroy` before removing event listeners | ||
// as after calling `destroy` - `removeEventListener` becomes unavailable | ||
// `destroy()` will remove all events listeners | ||
(/** @type {?} */ (this.animationItem)).destroy(); | ||
this.animationItem = null; | ||
// Release listeners as we don't need them | ||
this.listeners.clear(); | ||
}; | ||
@@ -813,3 +926,12 @@ /** | ||
/** @type {?} */ | ||
var listenerFn = this.handleEventClosure(instance, name); | ||
var camelizedName = this.eventsMap[name]; | ||
/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function listenerFn(event) { | ||
/** @type {?} */ | ||
var emitter = retrieveEventEmitter(instance, camelizedName); | ||
emitter.emit(event); | ||
} | ||
// `AnimationItem` triggers different events every ms, we have to listen | ||
@@ -825,58 +947,2 @@ // them outside Angular's context, thus it won't affect performance | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.handleEventClosure = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
var _this = this; | ||
return (/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
/** @type {?} */ | ||
var emitter = _this.retrieveEventEmitter(instance, name); | ||
emitter.emit(event); | ||
}); | ||
}; | ||
/** | ||
* @param name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @returns - Resolved event name in the `camelCase` | ||
*/ | ||
/** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
LottieEventsFacade.prototype.camelizeNativeEventName = /** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
function (name) { | ||
return this.eventsMap[name]; | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.retrieveEventEmitter = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
return (/** @type {?} */ (instance[this.camelizeNativeEventName(name)])); | ||
}; | ||
LottieEventsFacade.decorators = [ | ||
@@ -908,12 +974,5 @@ { type: core.Injectable } | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.listeners; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.animationItem; | ||
@@ -1058,18 +1117,2 @@ /** | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
var LottieModule = /** @class */ (function () { | ||
@@ -1092,4 +1135,4 @@ function LottieModule() { | ||
{ | ||
provide: LOTTIE_PLAYER_FACTORY_OR_LOADER, | ||
useValue: options.player | ||
provide: LOTTIE_OPTIONS, | ||
useValue: options | ||
}, | ||
@@ -1099,2 +1142,7 @@ { | ||
useFactory: isSafariFactory | ||
}, | ||
{ | ||
provide: ANIMATION_CACHE, | ||
useFactory: AnimationCache.create, | ||
deps: [LOTTIE_OPTIONS] | ||
} | ||
@@ -1119,4 +1167,4 @@ ] | ||
var LottieTransferState = /** @class */ (function () { | ||
function LottieTransferState(state) { | ||
this.state = state; | ||
function LottieTransferState(transferState) { | ||
this.transferState = transferState; | ||
} | ||
@@ -1137,4 +1185,4 @@ /** | ||
/** @type {?} */ | ||
var key = platformBrowser.makeStateKey(animationKey); | ||
return this.state.get(key, null); | ||
var stateKey = platformBrowser.makeStateKey(animationKey); | ||
return this.transferState.get(stateKey, null); | ||
}; | ||
@@ -1156,3 +1204,3 @@ LottieTransferState.decorators = [ | ||
*/ | ||
LottieTransferState.prototype.state; | ||
LottieTransferState.prototype.transferState; | ||
} | ||
@@ -1166,7 +1214,9 @@ | ||
exports.transformAnimationFilenameToKey = transformAnimationFilenameToKey; | ||
exports.ɵa = isSafariFactory; | ||
exports.ɵc = LOTTIE_PLAYER_FACTORY_OR_LOADER; | ||
exports.ɵd = IS_SAFARI; | ||
exports.ɵe = AnimationLoader; | ||
exports.ɵf = LottieEventsFacade; | ||
exports.ɵb = IS_SAFARI; | ||
exports.ɵc = LOTTIE_OPTIONS; | ||
exports.ɵd = ANIMATION_CACHE; | ||
exports.ɵe = isSafariFactory; | ||
exports.ɵf = AnimationLoader; | ||
exports.ɵg = AnimationCache; | ||
exports.ɵh = LottieEventsFacade; | ||
@@ -1173,0 +1223,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("ngx-lottie",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@angular/platform-browser"],e):e((t=t||self)["ngx-lottie"]={},t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.ng.platformBrowser)}(this,(function(t,e,r,n,o,i){"use strict";var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function s(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function c(t){var e="function"==typeof Symbol&&t[Symbol.iterator],r=0;return e?e.call(t):{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function p(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}var l=new e.InjectionToken("LottiePlayerFactoryOrLoader"),u=new e.InjectionToken("IsSafari");function d(t){return"animation-"+t.split(".json")[0]}var y=function(){function t(t,e,r,n,o){this.ngZone=t,this.platformId=e,this.document=r,this.isSafari=n,this.playerFactoryOrLoader=o,this.cachedLottiePlayer$=null}return t.prototype.resolveLoaderAndLoadAnimation=function(t,e,n,o,i){var a=this;if(!r.isPlatformServer(this.platformId)){var s=function(t,e){var r={container:e,renderer:"svg",loop:!0,autoplay:!0};return Object.assign(r,t)}(t,e);this.wrapPlayerOrLoaderIntoObservable().subscribe((function(t){a.loadAnimation(t,s,n,o,i)}))}},t.prototype.loadAnimation=function(t,e,r,n,o){!function(t,e,r){r&&t.setLocationHref(e)}(t,this.document.location.href,this.isSafari);var i=this.ngZone.runOutsideAngular((function(){return t.loadAnimation(e)}));n.emit(i),r.addEventListeners(o,i)},t.prototype.wrapPlayerOrLoaderIntoObservable=function(){if(null!==this.cachedLottiePlayer$)return this.cachedLottiePlayer$;var t=this.playerFactoryOrLoader();return t instanceof Promise?this.cachedLottiePlayer$=n.from(t).pipe(o.map((function(t){return t.default||t})),o.catchError((function(t){return console.error('\n Could not retrieve the "lottie-web" player, did you provide\n the "player" property correctly?\n export function playerFactory() {\n return import(\'lottie-web\');\n }\n LottieModule.forRoot({ player: playerFactory })\n '),n.throwError(t)})),o.shareReplay(1)):this.cachedLottiePlayer$=n.of(t),this.cachedLottiePlayer$},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:e.NgZone},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:Document,decorators:[{type:e.Inject,args:[r.DOCUMENT]}]},{type:Boolean,decorators:[{type:e.Inject,args:[u]}]},{type:void 0,decorators:[{type:e.Inject,args:[l]}]}]},t}();var f=function(){function t(t,r){this.platformId=t,this.animationLoader=r,this.options=null,this.containerClass=null,this.styles=null,this.width=null,this.height=null,this.animationCreated=new e.EventEmitter,this.complete=new e.EventEmitter,this.loopComplete=new e.EventEmitter,this.enterFrame=new e.EventEmitter,this.segmentStart=new e.EventEmitter,this.configReady=new e.EventEmitter,this.dataReady=new e.EventEmitter,this.domLoaded=new e.EventEmitter,this.destroy=new e.EventEmitter,this.error=new e.EventEmitter}return t.prototype.loadAnimation=function(t,e,n){r.isPlatformServer(this.platformId)||this.animationLoader.resolveLoaderAndLoadAnimation(this.options,t,e,this.animationCreated,n)},t.decorators=[{type:e.Directive,args:[{selector:"[lottie]"}]}],t.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:y}]},t.propDecorators={options:[{type:e.Input}],containerClass:[{type:e.Input}],styles:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],animationCreated:[{type:e.Output}],complete:[{type:e.Output}],loopComplete:[{type:e.Output}],enterFrame:[{type:e.Output}],segmentStart:[{type:e.Output}],configReady:[{type:e.Output}],dataReady:[{type:e.Output}],domLoaded:[{type:e.Output}],destroy:[{type:e.Output}],error:[{type:e.Output}]},t}();var h=function(){function t(t,e){this.ngZone=t,this.platformId=e,this.eventsMap={complete:"complete",loopComplete:"loopComplete",enterFrame:"enterFrame",segmentStart:"segmentStart",config_ready:"configReady",data_ready:"dataReady",DOMLoaded:"domLoaded",destroy:"destroy",error:"error"},this.eventNames=Object.keys(this.eventsMap),this.listeners=new Map,this.animationItem=null}return t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.addEventListeners=function(t,e){var r,n;this.animationItem=e;try{for(var o=c(this.eventNames),i=o.next();!i.done;i=o.next()){var a=i.value,s=this.addEventListener(t,a);"destroy"!==a&&this.listeners.set(a,s)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},t.prototype.dispose=function(){var t,e;if(!r.isPlatformServer(this.platformId)){try{for(var n=c(this.listeners.entries()),o=n.next();!o.done;o=n.next()){var i=p(o.value,2),a=i[0],s=i[1];this.animationItem.removeEventListener(a,s)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.animationItem.destroy(),this.animationItem=null,this.listeners.clear()}},t.prototype.addEventListener=function(t,e){var r=this,n=this.handleEventClosure(t,e);return this.ngZone.runOutsideAngular((function(){r.animationItem.addEventListener(e,n)})),n},t.prototype.handleEventClosure=function(t,e){var r=this;return function(n){r.retrieveEventEmitter(t,e).emit(n)}},t.prototype.camelizeNativeEventName=function(t){return this.eventsMap[t]},t.prototype.retrieveEventEmitter=function(t,e){return t[this.camelizeNativeEventName(e)]},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:e.NgZone},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]}]},t}();var m=function(t){function r(e,r,n,o){var i=t.call(this,e,o)||this;return i.host=r,i.eventsFacade=n,i}return s(r,t),r.prototype.ngOnInit=function(){t.prototype.loadAnimation.call(this,this.host.nativeElement,this.eventsFacade,this)},r.decorators=[{type:e.Directive,args:[{selector:"[lottie]",providers:[h]}]}],r.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:e.ElementRef,decorators:[{type:e.Self}]},{type:h,decorators:[{type:e.Self}]},{type:y}]},r}(f);var v=function(t){function r(e,r,n,o){var i=t.call(this,r,o)||this;return i.renderer=e,i.eventsFacade=n,i.container=null,i}return s(r,t),r.prototype.ngOnChanges=function(t){var e=t.containerClass;void 0!==e&&"string"==typeof e.currentValue&&this.renderer.addClass(this.container.nativeElement,e.currentValue)},r.prototype.ngOnInit=function(){t.prototype.loadAnimation.call(this,this.container.nativeElement,this.eventsFacade,this)},r.decorators=[{type:e.Component,args:[{selector:"ng-lottie",template:'\n <div\n #container\n [style.width.px]="width"\n [style.height.px]="height"\n style="margin: 0 auto"\n [ngStyle]="styles"\n ></div>\n ',changeDetection:e.ChangeDetectionStrategy.OnPush,providers:[h]}]}],r.ctorParameters=function(){return[{type:e.Renderer2},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:h,decorators:[{type:e.Self}]},{type:y}]},r.propDecorators={container:[{type:e.ViewChild,args:["container",{static:!0}]}]},r}(f);function g(){try{var t=navigator.vendor,e=navigator.userAgent;return t.indexOf("Apple")>-1&&-1===e.indexOf("CriOS")&&-1===e.indexOf("FxiOS")}catch(t){return!1}}var I=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[y,{provide:l,useValue:e.player},{provide:u,useFactory:g}]}},t.decorators=[{type:e.NgModule,args:[{imports:[r.CommonModule],declarations:[f,m,v],exports:[f,m,v]}]}],t}(),O=function(){function t(t){this.state=t}return t.prototype.get=function(t){var e=d(t),r=i.makeStateKey(e);return this.state.get(r,null)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.TransferState}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(i.TransferState))},token:t,providedIn:"root"}),t}();t.BaseDirective=f,t.LottieComponent=v,t.LottieDirective=m,t.LottieModule=I,t.LottieTransferState=O,t.transformAnimationFilenameToKey=d,t.ɵa=g,t.ɵc=l,t.ɵd=u,t.ɵe=y,t.ɵf=h,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("ngx-lottie",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@angular/platform-browser"],e):e((t=t||self)["ngx-lottie"]={},t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.ng.platformBrowser)}(this,(function(t,e,n,r,o,i){"use strict";var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function s(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function c(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function p(t){return"animation-"+t.split(".json")[0]}function u(){try{var t=navigator.vendor,e=navigator.userAgent;return t.indexOf("Apple")>-1&&-1===e.indexOf("CriOS")&&-1===e.indexOf("FxiOS")}catch(t){return!1}}var l=new e.InjectionToken("IsSafari"),d=new e.InjectionToken("LottieOptions"),y=new e.InjectionToken("AnimationCache"),f=function(){function t(t,e,n,r,o,i){this.ngZone=t,this.platformId=e,this.document=n,this.isSafari=r,this.options=o,this.animationCache=i,this.cachedLottiePlayer$=null}return t.prototype.resolveLoaderAndLoadAnimation=function(t,e,r,o,i){var a=this;if(!n.isPlatformServer(this.platformId)){var s=function(t,e,n){var r=Object.assign({container:e,renderer:"svg",loop:!0,autoplay:!0},t);return null!==n?n.transformOptions(r):r}(t,e,this.animationCache);this.wrapPlayerOrLoaderIntoObservable().subscribe((function(t){a.loadAnimation(t,s,r,o,i)}))}},t.prototype.loadAnimation=function(t,e,n,r,o){!function(t,e,n){n&&t.setLocationHref(e)}(t,this.document.location.href,this.isSafari);var i=this.ngZone.runOutsideAngular((function(){return t.loadAnimation(e)}));!function(t,e,n){null!==t&&n.addEventListener("config_ready",(function(){t.set(e,n)}))}(this.animationCache,e,i),r.emit(i),n.addEventListeners(o,i)},t.prototype.wrapPlayerOrLoaderIntoObservable=function(){if(null!==this.cachedLottiePlayer$)return this.cachedLottiePlayer$;var t=this.options.player();return t instanceof Promise?this.cachedLottiePlayer$=r.from(t).pipe(o.map((function(t){return t.default||t})),o.catchError((function(t){return console.error('\n Could not retrieve the "lottie-web" player, did you provide\n the "player" property correctly?\n export function playerFactory() {\n return import(\'lottie-web\');\n }\n LottieModule.forRoot({ player: playerFactory })\n '),r.throwError(t)})),o.shareReplay(1)):this.cachedLottiePlayer$=r.of(t),this.cachedLottiePlayer$},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:e.NgZone},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:Document,decorators:[{type:e.Inject,args:[n.DOCUMENT]}]},{type:Boolean,decorators:[{type:e.Inject,args:[l]}]},{type:void 0,decorators:[{type:e.Inject,args:[d]}]},{type:void 0,decorators:[{type:e.Inject,args:[y]}]}]},t}();var h=function(){function t(t,n){this.platformId=t,this.animationLoader=n,this.options=null,this.containerClass=null,this.styles=null,this.width=null,this.height=null,this.animationCreated=new e.EventEmitter,this.complete=new e.EventEmitter,this.loopComplete=new e.EventEmitter,this.enterFrame=new e.EventEmitter,this.segmentStart=new e.EventEmitter,this.configReady=new e.EventEmitter,this.dataReady=new e.EventEmitter,this.domLoaded=new e.EventEmitter,this.destroy=new e.EventEmitter,this.error=new e.EventEmitter}return t.prototype.loadAnimation=function(t,e,r){n.isPlatformServer(this.platformId)||this.animationLoader.resolveLoaderAndLoadAnimation(this.options,t,e,this.animationCreated,r)},t.decorators=[{type:e.Directive,args:[{selector:"[lottie]"}]}],t.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:f}]},t.propDecorators={options:[{type:e.Input}],containerClass:[{type:e.Input}],styles:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],animationCreated:[{type:e.Output}],complete:[{type:e.Output}],loopComplete:[{type:e.Output}],enterFrame:[{type:e.Output}],segmentStart:[{type:e.Output}],configReady:[{type:e.Output}],dataReady:[{type:e.Output}],domLoaded:[{type:e.Output}],destroy:[{type:e.Output}],error:[{type:e.Output}]},t}();var m=function(){function t(){this.cache=new Map}return t.create=function(e){return e.useCache?new t:null},t.prototype.transformOptions=function(t){var e=t.path;return e&&this.cache.has(e)&&(delete t.path,t.animationData=this.cache.get(e)),t},t.prototype.set=function(t,e){if(!function(t){var e=t.animationData;return null!==e&&"object"==typeof e}(t)){var n=e.animationData;this.cache.set(t.path,n)}},t}();var v=function(){function t(t,e){this.ngZone=t,this.platformId=e,this.eventsMap={complete:"complete",loopComplete:"loopComplete",enterFrame:"enterFrame",segmentStart:"segmentStart",config_ready:"configReady",data_ready:"dataReady",DOMLoaded:"domLoaded",destroy:"destroy",error:"error"},this.eventNames=Object.keys(this.eventsMap),this.animationItem=null}return t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.addEventListeners=function(t,e){var n,r;this.animationItem=e;try{for(var o=c(this.eventNames),i=o.next();!i.done;i=o.next()){var a=i.value;this.addEventListener(t,a)}}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},t.prototype.dispose=function(){n.isPlatformServer(this.platformId)||(this.animationItem.destroy(),this.animationItem=null)},t.prototype.addEventListener=function(t,e){var n=this,r=this.eventsMap[e];function o(e){(function(t,e){return t[e]})(t,r).emit(e)}return this.ngZone.runOutsideAngular((function(){n.animationItem.addEventListener(e,o)})),o},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:e.NgZone},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]}]},t}();var g=function(t){function n(e,n,r,o){var i=t.call(this,e,o)||this;return i.host=n,i.eventsFacade=r,i}return s(n,t),n.prototype.ngOnInit=function(){t.prototype.loadAnimation.call(this,this.host.nativeElement,this.eventsFacade,this)},n.decorators=[{type:e.Directive,args:[{selector:"[lottie]",providers:[v]}]}],n.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:e.ElementRef,decorators:[{type:e.Self}]},{type:v,decorators:[{type:e.Self}]},{type:f}]},n}(h);var I=function(t){function n(e,n,r,o){var i=t.call(this,n,o)||this;return i.renderer=e,i.eventsFacade=r,i.container=null,i}return s(n,t),n.prototype.ngOnChanges=function(t){var e=t.containerClass;void 0!==e&&"string"==typeof e.currentValue&&this.renderer.addClass(this.container.nativeElement,e.currentValue)},n.prototype.ngOnInit=function(){t.prototype.loadAnimation.call(this,this.container.nativeElement,this.eventsFacade,this)},n.decorators=[{type:e.Component,args:[{selector:"ng-lottie",template:'\n <div\n #container\n [style.width.px]="width"\n [style.height.px]="height"\n style="margin: 0 auto"\n [ngStyle]="styles"\n ></div>\n ',changeDetection:e.ChangeDetectionStrategy.OnPush,providers:[v]}]}],n.ctorParameters=function(){return[{type:e.Renderer2},{type:String,decorators:[{type:e.Inject,args:[e.PLATFORM_ID]}]},{type:v,decorators:[{type:e.Self}]},{type:f}]},n.propDecorators={container:[{type:e.ViewChild,args:["container",{static:!0}]}]},n}(h);var O=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[f,{provide:d,useValue:e},{provide:l,useFactory:u},{provide:y,useFactory:m.create,deps:[d]}]}},t.decorators=[{type:e.NgModule,args:[{imports:[n.CommonModule],declarations:[h,g,I],exports:[h,g,I]}]}],t}(),L=function(){function t(t){this.transferState=t}return t.prototype.get=function(t){var e=p(t),n=i.makeStateKey(e);return this.transferState.get(n,null)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.TransferState}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(i.TransferState))},token:t,providedIn:"root"}),t}();t.BaseDirective=h,t.LottieComponent=I,t.LottieDirective=g,t.LottieModule=O,t.LottieTransferState=L,t.transformAnimationFilenameToKey=p,t.ɵb=l,t.ɵc=d,t.ɵd=y,t.ɵe=u,t.ɵf=f,t.ɵg=m,t.ɵh=v,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ngx-lottie.umd.min.js.map |
@@ -9,6 +9,7 @@ /** | ||
export { LottieModule, BaseDirective, LottieDirective, LottieComponent, LottieTransferState, transformAnimationFilenameToKey } from './index'; | ||
export { AnimationLoader as ɵe } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵf } from './src/events-facade'; | ||
export { isSafariFactory as ɵa } from './src/lottie.module'; | ||
export { IS_SAFARI as ɵd, LOTTIE_PLAYER_FACTORY_OR_LOADER as ɵc } from './src/symbols'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxvdHRpZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJuZ3gtbG90dGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxvSUFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQW1DLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtBbmltYXRpb25Mb2FkZXIgYXMgybVlfSBmcm9tICcuL3NyYy9hbmltYXRpb24tbG9hZGVyJztcbmV4cG9ydCB7TG90dGllRXZlbnRzRmFjYWRlIGFzIMm1Zn0gZnJvbSAnLi9zcmMvZXZlbnRzLWZhY2FkZSc7XG5leHBvcnQge2lzU2FmYXJpRmFjdG9yeSBhcyDJtWF9IGZyb20gJy4vc3JjL2xvdHRpZS5tb2R1bGUnO1xuZXhwb3J0IHtJU19TQUZBUkkgYXMgybVkLExPVFRJRV9QTEFZRVJfRkFDVE9SWV9PUl9MT0FERVIgYXMgybVjLExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlciBhcyDJtWJ9IGZyb20gJy4vc3JjL3N5bWJvbHMnOyJdfQ== | ||
export { AnimationCache as ɵg } from './src/animation-cache'; | ||
export { AnimationLoader as ɵf } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵh } from './src/events-facade'; | ||
export { ANIMATION_CACHE as ɵd, IS_SAFARI as ɵb, LOTTIE_OPTIONS as ɵc } from './src/symbols'; | ||
export { isSafariFactory as ɵe } from './src/utils'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxvdHRpZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJuZ3gtbG90dGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxvSUFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxTQUFTLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtBbmltYXRpb25DYWNoZSBhcyDJtWd9IGZyb20gJy4vc3JjL2FuaW1hdGlvbi1jYWNoZSc7XG5leHBvcnQge0FuaW1hdGlvbkxvYWRlciBhcyDJtWZ9IGZyb20gJy4vc3JjL2FuaW1hdGlvbi1sb2FkZXInO1xuZXhwb3J0IHtMb3R0aWVFdmVudHNGYWNhZGUgYXMgybVofSBmcm9tICcuL3NyYy9ldmVudHMtZmFjYWRlJztcbmV4cG9ydCB7QU5JTUFUSU9OX0NBQ0hFIGFzIMm1ZCxJU19TQUZBUkkgYXMgybViLExPVFRJRV9PUFRJT05TIGFzIMm1YyxMb3R0aWVPcHRpb25zIGFzIMm1YX0gZnJvbSAnLi9zcmMvc3ltYm9scyc7XG5leHBvcnQge2lzU2FmYXJpRmFjdG9yeSBhcyDJtWV9IGZyb20gJy4vc3JjL3V0aWxzJzsiXX0= |
@@ -9,4 +9,4 @@ /** | ||
import { map, catchError, shareReplay } from 'rxjs/operators'; | ||
import { LOTTIE_PLAYER_FACTORY_OR_LOADER, IS_SAFARI } from './symbols'; | ||
import { setPlayerLocationHref, resolveOptions } from './utils'; | ||
import { IS_SAFARI, LOTTIE_OPTIONS, ANIMATION_CACHE } from './symbols'; | ||
import { setPlayerLocationHref, mergeOptionsWithDefault, awaitConfigAndCache } from './utils'; | ||
// This has to be dynamic as `Document` interface is not | ||
@@ -21,5 +21,6 @@ // accepted by the ngc compiler | ||
* @param {?} isSafari | ||
* @param {?} playerFactoryOrLoader | ||
* @param {?} options | ||
* @param {?} animationCache | ||
*/ | ||
constructor(ngZone, platformId, document, isSafari, playerFactoryOrLoader) { | ||
constructor(ngZone, platformId, document, isSafari, options, animationCache) { | ||
this.ngZone = ngZone; | ||
@@ -29,3 +30,4 @@ this.platformId = platformId; | ||
this.isSafari = isSafari; | ||
this.playerFactoryOrLoader = playerFactoryOrLoader; | ||
this.options = options; | ||
this.animationCache = animationCache; | ||
this.cachedLottiePlayer$ = null; | ||
@@ -46,3 +48,3 @@ } | ||
/** @type {?} */ | ||
const resolvedOptions = resolveOptions(options, container); | ||
const mergedOptions = mergeOptionsWithDefault(options, container, this.animationCache); | ||
this.wrapPlayerOrLoaderIntoObservable().subscribe((/** | ||
@@ -53,3 +55,3 @@ * @param {?} player | ||
player => { | ||
this.loadAnimation(player, resolvedOptions, eventsFacade, animationCreated, instance); | ||
this.loadAnimation(player, mergedOptions, eventsFacade, animationCreated, instance); | ||
})); | ||
@@ -73,2 +75,3 @@ } | ||
() => player.loadAnimation(options))); | ||
awaitConfigAndCache(this.animationCache, options, animationItem); | ||
// Dispatch `animationCreated` event after animation is loaded successfully | ||
@@ -87,3 +90,3 @@ animationCreated.emit(animationItem); | ||
/** @type {?} */ | ||
const playerOrLoader = this.playerFactoryOrLoader(); | ||
const playerOrLoader = this.options.player(); | ||
if (playerOrLoader instanceof Promise) { | ||
@@ -125,3 +128,4 @@ this.cachedLottiePlayer$ = from(playerOrLoader).pipe(map((/** | ||
{ type: Boolean, decorators: [{ type: Inject, args: [IS_SAFARI,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_PLAYER_FACTORY_OR_LOADER,] }] } | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_OPTIONS,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [ANIMATION_CACHE,] }] } | ||
]; | ||
@@ -158,4 +162,9 @@ if (false) { | ||
*/ | ||
AnimationLoader.prototype.playerFactoryOrLoader; | ||
AnimationLoader.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationLoader.prototype.animationCache; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvYW5pbWF0aW9uLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFnQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBT0wsK0JBQStCLEVBQy9CLFNBQVMsRUFDVixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBTWhFLE1BQU0sT0FBTyxlQUFlOzs7Ozs7OztJQUcxQixZQUNVLE1BQWMsRUFDTyxVQUFrQixFQUNyQixRQUFrQixFQUNqQixRQUFpQixFQUVwQyxxQkFBa0Q7UUFMbEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBRXBDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBNkI7UUFScEQsd0JBQW1CLEdBQW9DLElBQUksQ0FBQztJQVNqRSxDQUFDOzs7Ozs7Ozs7SUFFSiw2QkFBNkIsQ0FDM0IsT0FBZ0MsRUFDaEMsU0FBc0IsRUFDdEIsWUFBZ0MsRUFDaEMsZ0JBQTZDLEVBQzdDLFFBQXVCO1FBRXZCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE9BQU87U0FDUjs7Y0FFSyxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFFMUQsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEYsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7Ozs7O0lBRU8sYUFBYSxDQUNuQixNQUFvQixFQUNwQixPQUEwRCxFQUMxRCxZQUFnQyxFQUNoQyxnQkFBNkMsRUFDN0MsUUFBdUI7UUFFdkIscUJBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7O2NBQ3BFLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1FBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBQztRQUN4RiwyRUFBMkU7UUFDM0UsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFFTyxnQ0FBZ0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssSUFBSSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDOztjQUVLLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7UUFFbkQsSUFBSSxjQUFjLFlBQVksT0FBTyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHOzs7O1lBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sRUFBQyxFQUN2QyxVQUFVOzs7O1lBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7V0FPYixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxFQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7OztZQXpFRixVQUFVOzs7O1lBdkJVLE1BQU07eUNBNkJ0QixNQUFNLFNBQUMsV0FBVztZQUNpQixRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTswQ0FDZixNQUFNLFNBQUMsU0FBUzs0Q0FDaEIsTUFBTSxTQUFDLCtCQUErQjs7Ozs7OztJQVB6Qyw4Q0FBb0U7Ozs7O0lBR2xFLGlDQUFzQjs7Ozs7SUFDdEIscUNBQStDOzs7OztJQUMvQyxtQ0FBNEM7Ozs7O0lBQzVDLG1DQUE0Qzs7Ozs7SUFDNUMsZ0RBQzBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBJbmplY3QsIEV2ZW50RW1pdHRlciwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgZnJvbSwgb2YsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIExvdHRpZVBsYXllcixcbiAgQW5pbWF0aW9uSXRlbSxcbiAgQW5pbWF0aW9uT3B0aW9ucyxcbiAgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoLFxuICBMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXIsXG4gIExPVFRJRV9QTEFZRVJfRkFDVE9SWV9PUl9MT0FERVIsXG4gIElTX1NBRkFSSVxufSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG90dGllRXZlbnRzRmFjYWRlIH0gZnJvbSAnLi9ldmVudHMtZmFjYWRlJztcbmltcG9ydCB7IHNldFBsYXllckxvY2F0aW9uSHJlZiwgcmVzb2x2ZU9wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuLy8gVGhpcyBoYXMgdG8gYmUgZHluYW1pYyBhcyBgRG9jdW1lbnRgIGludGVyZmFjZSBpcyBub3Rcbi8vIGFjY2VwdGVkIGJ5IHRoZSBuZ2MgY29tcGlsZXJcbi8vIEBkeW5hbWljXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uTG9hZGVyIHtcbiAgcHJpdmF0ZSBjYWNoZWRMb3R0aWVQbGF5ZXIkOiBPYnNlcnZhYmxlPExvdHRpZVBsYXllcj4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoSVNfU0FGQVJJKSBwcml2YXRlIGlzU2FmYXJpOiBib29sZWFuLFxuICAgIEBJbmplY3QoTE9UVElFX1BMQVlFUl9GQUNUT1JZX09SX0xPQURFUilcbiAgICBwcml2YXRlIHBsYXllckZhY3RvcnlPckxvYWRlcjogTG90dGllUGxheWVyRmFjdG9yeU9yTG9hZGVyXG4gICkge31cblxuICByZXNvbHZlTG9hZGVyQW5kTG9hZEFuaW1hdGlvbihcbiAgICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zIHwgbnVsbCxcbiAgICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgIGV2ZW50c0ZhY2FkZTogTG90dGllRXZlbnRzRmFjYWRlLFxuICAgIGFuaW1hdGlvbkNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxBbmltYXRpb25JdGVtPixcbiAgICBpbnN0YW5jZTogQmFzZURpcmVjdGl2ZVxuICApIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0gcmVzb2x2ZU9wdGlvbnMob3B0aW9ucywgY29udGFpbmVyKTtcblxuICAgIHRoaXMud3JhcFBsYXllck9yTG9hZGVySW50b09ic2VydmFibGUoKS5zdWJzY3JpYmUocGxheWVyID0+IHtcbiAgICAgIHRoaXMubG9hZEFuaW1hdGlvbihwbGF5ZXIsIHJlc29sdmVkT3B0aW9ucywgZXZlbnRzRmFjYWRlLCBhbmltYXRpb25DcmVhdGVkLCBpbnN0YW5jZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRBbmltYXRpb24oXG4gICAgcGxheWVyOiBMb3R0aWVQbGF5ZXIsXG4gICAgb3B0aW9uczogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKTogdm9pZCB7XG4gICAgc2V0UGxheWVyTG9jYXRpb25IcmVmKHBsYXllciwgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmLCB0aGlzLmlzU2FmYXJpKTtcbiAgICBjb25zdCBhbmltYXRpb25JdGVtID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gcGxheWVyLmxvYWRBbmltYXRpb24ob3B0aW9ucykpO1xuICAgIC8vIERpc3BhdGNoIGBhbmltYXRpb25DcmVhdGVkYCBldmVudCBhZnRlciBhbmltYXRpb24gaXMgbG9hZGVkIHN1Y2Nlc3NmdWxseVxuICAgIGFuaW1hdGlvbkNyZWF0ZWQuZW1pdChhbmltYXRpb25JdGVtKTtcbiAgICBldmVudHNGYWNhZGUuYWRkRXZlbnRMaXN0ZW5lcnMoaW5zdGFuY2UsIGFuaW1hdGlvbkl0ZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSB3cmFwUGxheWVyT3JMb2FkZXJJbnRvT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPExvdHRpZVBsYXllcj4ge1xuICAgIGlmICh0aGlzLmNhY2hlZExvdHRpZVBsYXllciQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlZExvdHRpZVBsYXllciQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGxheWVyT3JMb2FkZXIgPSB0aGlzLnBsYXllckZhY3RvcnlPckxvYWRlcigpO1xuXG4gICAgaWYgKHBsYXllck9yTG9hZGVyIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgdGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkID0gZnJvbShwbGF5ZXJPckxvYWRlcikucGlwZShcbiAgICAgICAgbWFwKG1vZHVsZSA9PiBtb2R1bGUuZGVmYXVsdCB8fCBtb2R1bGUpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBcbiAgICAgICAgICAgIENvdWxkIG5vdCByZXRyaWV2ZSB0aGUgXCJsb3R0aWUtd2ViXCIgcGxheWVyLCBkaWQgeW91IHByb3ZpZGVcbiAgICAgICAgICAgIHRoZSBcInBsYXllclwiIHByb3BlcnR5IGNvcnJlY3RseT9cbiAgICAgICAgICAgIGV4cG9ydCBmdW5jdGlvbiBwbGF5ZXJGYWN0b3J5KCkge1xuICAgICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdsb3R0aWUtd2ViJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMb3R0aWVNb2R1bGUuZm9yUm9vdCh7IHBsYXllcjogcGxheWVyRmFjdG9yeSB9KVxuICAgICAgICAgIGApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhY2hlZExvdHRpZVBsYXllciQgPSBvZihwbGF5ZXJPckxvYWRlcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJDtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvYW5pbWF0aW9uLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFnQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBT0wsU0FBUyxFQUNULGNBQWMsRUFDZCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBSW5CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQU05RixNQUFNLE9BQU8sZUFBZTs7Ozs7Ozs7O0lBRzFCLFlBQ1UsTUFBYyxFQUNPLFVBQWtCLEVBQ3JCLFFBQWtCLEVBQ2pCLFFBQWlCLEVBQ1osT0FBc0IsRUFDckIsY0FBcUM7UUFMOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFSaEUsd0JBQW1CLEdBQW9DLElBQUksQ0FBQztJQVNqRSxDQUFDOzs7Ozs7Ozs7SUFFSiw2QkFBNkIsQ0FDM0IsT0FBZ0MsRUFDaEMsU0FBc0IsRUFDdEIsWUFBZ0MsRUFDaEMsZ0JBQTZDLEVBQzdDLFFBQXVCO1FBRXZCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE9BQU87U0FDUjs7Y0FFSyxhQUFhLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXRGLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7Ozs7OztJQUVPLGFBQWEsQ0FDbkIsTUFBb0IsRUFDcEIsT0FBMEQsRUFDMUQsWUFBZ0MsRUFDaEMsZ0JBQTZDLEVBQzdDLFFBQXVCO1FBRXZCLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztjQUNwRSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztRQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUM7UUFDeEYsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDakUsMkVBQTJFO1FBQzNFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFELENBQUM7Ozs7O0lBRU8sZ0NBQWdDO1FBQ3RDLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLElBQUksRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUNqQzs7Y0FFSyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFFNUMsSUFBSSxjQUFjLFlBQVksT0FBTyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHOzs7O1lBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sRUFBQyxFQUN2QyxVQUFVOzs7O1lBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7V0FPYixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxFQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7OztZQTFFRixVQUFVOzs7O1lBekJVLE1BQU07eUNBK0J0QixNQUFNLFNBQUMsV0FBVztZQUNpQixRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTswQ0FDZixNQUFNLFNBQUMsU0FBUzs0Q0FDaEIsTUFBTSxTQUFDLGNBQWM7NENBQ3JCLE1BQU0sU0FBQyxlQUFlOzs7Ozs7O0lBUnpCLDhDQUFvRTs7Ozs7SUFHbEUsaUNBQXNCOzs7OztJQUN0QixxQ0FBK0M7Ozs7O0lBQy9DLG1DQUE0Qzs7Ozs7SUFDNUMsbUNBQTRDOzs7OztJQUM1QyxrQ0FBc0Q7Ozs7O0lBQ3RELHlDQUFzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IGZyb20sIG9mLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBMb3R0aWVQbGF5ZXIsXG4gIExvdHRpZU9wdGlvbnMsXG4gIEFuaW1hdGlvbkl0ZW0sXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgSVNfU0FGQVJJLFxuICBMT1RUSUVfT1BUSU9OUyxcbiAgQU5JTUFUSU9OX0NBQ0hFXG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcbmltcG9ydCB7IExvdHRpZUV2ZW50c0ZhY2FkZSB9IGZyb20gJy4vZXZlbnRzLWZhY2FkZSc7XG5pbXBvcnQgeyBzZXRQbGF5ZXJMb2NhdGlvbkhyZWYsIG1lcmdlT3B0aW9uc1dpdGhEZWZhdWx0LCBhd2FpdENvbmZpZ0FuZENhY2hlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIFRoaXMgaGFzIHRvIGJlIGR5bmFtaWMgYXMgYERvY3VtZW50YCBpbnRlcmZhY2UgaXMgbm90XG4vLyBhY2NlcHRlZCBieSB0aGUgbmdjIGNvbXBpbGVyXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkxvYWRlciB7XG4gIHByaXZhdGUgY2FjaGVkTG90dGllUGxheWVyJDogT2JzZXJ2YWJsZTxMb3R0aWVQbGF5ZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KElTX1NBRkFSSSkgcHJpdmF0ZSBpc1NhZmFyaTogYm9vbGVhbixcbiAgICBASW5qZWN0KExPVFRJRV9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IExvdHRpZU9wdGlvbnMsXG4gICAgQEluamVjdChBTklNQVRJT05fQ0FDSEUpIHByaXZhdGUgYW5pbWF0aW9uQ2FjaGU6IEFuaW1hdGlvbkNhY2hlIHwgbnVsbFxuICApIHt9XG5cbiAgcmVzb2x2ZUxvYWRlckFuZExvYWRBbmltYXRpb24oXG4gICAgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyB8IG51bGwsXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSBtZXJnZU9wdGlvbnNXaXRoRGVmYXVsdChvcHRpb25zLCBjb250YWluZXIsIHRoaXMuYW5pbWF0aW9uQ2FjaGUpO1xuXG4gICAgdGhpcy53cmFwUGxheWVyT3JMb2FkZXJJbnRvT2JzZXJ2YWJsZSgpLnN1YnNjcmliZShwbGF5ZXIgPT4ge1xuICAgICAgdGhpcy5sb2FkQW5pbWF0aW9uKHBsYXllciwgbWVyZ2VkT3B0aW9ucywgZXZlbnRzRmFjYWRlLCBhbmltYXRpb25DcmVhdGVkLCBpbnN0YW5jZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRBbmltYXRpb24oXG4gICAgcGxheWVyOiBMb3R0aWVQbGF5ZXIsXG4gICAgb3B0aW9uczogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKTogdm9pZCB7XG4gICAgc2V0UGxheWVyTG9jYXRpb25IcmVmKHBsYXllciwgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmLCB0aGlzLmlzU2FmYXJpKTtcbiAgICBjb25zdCBhbmltYXRpb25JdGVtID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gcGxheWVyLmxvYWRBbmltYXRpb24ob3B0aW9ucykpO1xuICAgIGF3YWl0Q29uZmlnQW5kQ2FjaGUodGhpcy5hbmltYXRpb25DYWNoZSwgb3B0aW9ucywgYW5pbWF0aW9uSXRlbSk7XG4gICAgLy8gRGlzcGF0Y2ggYGFuaW1hdGlvbkNyZWF0ZWRgIGV2ZW50IGFmdGVyIGFuaW1hdGlvbiBpcyBsb2FkZWQgc3VjY2Vzc2Z1bGx5XG4gICAgYW5pbWF0aW9uQ3JlYXRlZC5lbWl0KGFuaW1hdGlvbkl0ZW0pO1xuICAgIGV2ZW50c0ZhY2FkZS5hZGRFdmVudExpc3RlbmVycyhpbnN0YW5jZSwgYW5pbWF0aW9uSXRlbSk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBQbGF5ZXJPckxvYWRlckludG9PYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8TG90dGllUGxheWVyPiB7XG4gICAgaWYgKHRoaXMuY2FjaGVkTG90dGllUGxheWVyJCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJDtcbiAgICB9XG5cbiAgICBjb25zdCBwbGF5ZXJPckxvYWRlciA9IHRoaXMub3B0aW9ucy5wbGF5ZXIoKTtcblxuICAgIGlmIChwbGF5ZXJPckxvYWRlciBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJCA9IGZyb20ocGxheWVyT3JMb2FkZXIpLnBpcGUoXG4gICAgICAgIG1hcChtb2R1bGUgPT4gbW9kdWxlLmRlZmF1bHQgfHwgbW9kdWxlKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgXG4gICAgICAgICAgICBDb3VsZCBub3QgcmV0cmlldmUgdGhlIFwibG90dGllLXdlYlwiIHBsYXllciwgZGlkIHlvdSBwcm92aWRlXG4gICAgICAgICAgICB0aGUgXCJwbGF5ZXJcIiBwcm9wZXJ0eSBjb3JyZWN0bHk/XG4gICAgICAgICAgICBleHBvcnQgZnVuY3Rpb24gcGxheWVyRmFjdG9yeSgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnbG90dGllLXdlYicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTG90dGllTW9kdWxlLmZvclJvb3QoeyBwbGF5ZXI6IHBsYXllckZhY3RvcnkgfSlcbiAgICAgICAgICBgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkID0gb2YocGxheWVyT3JMb2FkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlZExvdHRpZVBsYXllciQ7XG4gIH1cbn1cbiJdfQ== |
@@ -7,2 +7,3 @@ /** | ||
import { isPlatformServer } from '@angular/common'; | ||
import { retrieveEventEmitter } from './utils'; | ||
export class LottieEventsFacade { | ||
@@ -36,7 +37,2 @@ /** | ||
this.eventNames = (/** @type {?} */ (Object.keys(this.eventsMap))); | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
this.listeners = new Map(); | ||
this.animationItem = null; | ||
@@ -58,9 +54,3 @@ } | ||
for (const name of this.eventNames) { | ||
/** @type {?} */ | ||
const listenerFn = this.addEventListener(instance, name); | ||
// We don't have to save `destroy` listener, because `AnimationItem` | ||
// is able to remove `destroy` event listener itself | ||
if (name !== 'destroy') { | ||
this.listeners.set(name, listenerFn); | ||
} | ||
this.addEventListener(instance, name); | ||
} | ||
@@ -76,11 +66,5 @@ } | ||
} | ||
for (const [name, listenerFn] of this.listeners.entries()) { | ||
(/** @type {?} */ (this.animationItem)).removeEventListener(name, listenerFn); | ||
} | ||
// We cannot call `destroy` before removing event listeners | ||
// as after calling `destroy` - `removeEventListener` becomes unavailable | ||
// `destroy()` will remove all events listeners | ||
(/** @type {?} */ (this.animationItem)).destroy(); | ||
this.animationItem = null; | ||
// Release listeners as we don't need them | ||
this.listeners.clear(); | ||
} | ||
@@ -95,3 +79,12 @@ /** | ||
/** @type {?} */ | ||
const listenerFn = this.handleEventClosure(instance, name); | ||
const camelizedName = this.eventsMap[name]; | ||
/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function listenerFn(event) { | ||
/** @type {?} */ | ||
const emitter = retrieveEventEmitter(instance, camelizedName); | ||
emitter.emit(event); | ||
} | ||
// `AnimationItem` triggers different events every ms, we have to listen | ||
@@ -107,36 +100,2 @@ // them outside Angular's context, thus it won't affect performance | ||
} | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
handleEventClosure(instance, name) { | ||
return (/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
(event) => { | ||
/** @type {?} */ | ||
const emitter = this.retrieveEventEmitter(instance, name); | ||
emitter.emit(event); | ||
}); | ||
} | ||
/** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
camelizeNativeEventName(name) { | ||
return this.eventsMap[name]; | ||
} | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[this.camelizeNativeEventName(name)])); | ||
} | ||
} | ||
@@ -167,12 +126,5 @@ LottieEventsFacade.decorators = [ | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.listeners; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.animationItem; | ||
@@ -190,2 +142,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvZXZlbnRzLWZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUEyQixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXbkQsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUErQjdCLFlBQW9CLE1BQWMsRUFBK0IsVUFBa0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFROzs7OztRQTFCM0UsY0FBUyxHQUFpRTtZQUNoRixRQUFRLEVBQUUsVUFBVTtZQUNwQixZQUFZLEVBQUUsY0FBYztZQUM1QixVQUFVLEVBQUUsWUFBWTtZQUN4QixZQUFZLEVBQUUsY0FBYztZQUM1QixZQUFZLEVBQUUsYUFBYTtZQUMzQixVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTLEVBQUUsV0FBVztZQUN0QixPQUFPLEVBQUUsU0FBUztZQUNsQixLQUFLLEVBQUUsT0FBTztTQUNmLENBQUM7Ozs7O1FBTU0sZUFBVSxHQUFHLG1CQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFpQyxDQUFDOzs7OztRQU0xRSxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQW9ELENBQUM7UUFFeEUsa0JBQWEsR0FBeUIsSUFBSSxDQUFDO0lBRW1DLENBQUM7Ozs7SUFFdkYsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxRQUF1QixFQUFFLGFBQTRCO1FBQ3JFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRW5DLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTs7a0JBQzVCLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUN4RCxvRUFBb0U7WUFDcEUsb0RBQW9EO1lBQ3BELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7SUFDSCxDQUFDOzs7OztJQUVPLE9BQU87UUFDYixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6RCxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsMkRBQTJEO1FBQzNELHlFQUF5RTtRQUN6RSxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7Ozs7OztJQUVPLGdCQUFnQixDQUN0QixRQUF1QixFQUN2QixJQUF3Qjs7Y0FFbEIsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1FBQzFELHdFQUF3RTtRQUN4RSxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztRQUFDLEdBQUcsRUFBRTtZQUNqQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Ozs7OztJQUVPLGtCQUFrQixDQUFDLFFBQXVCLEVBQUUsSUFBd0I7UUFDMUU7Ozs7UUFBTyxDQUFDLEtBQWtCLEVBQUUsRUFBRTs7a0JBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsRUFBQztJQUNKLENBQUM7Ozs7OztJQU1PLHVCQUF1QixDQUFDLElBQXdCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7Ozs7O0lBRU8sb0JBQW9CLENBQzFCLFFBQXVCLEVBQ3ZCLElBQXdCO1FBRXhCLE9BQU8sbUJBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUE2QixDQUFDO0lBQ25GLENBQUM7OztZQXRHRixVQUFVOzs7O1lBWG1DLE1BQU07eUNBMkNiLE1BQU0sU0FBQyxXQUFXOzs7Ozs7Ozs7SUExQnZELHVDQVVFOzs7Ozs7O0lBTUYsd0NBQWtGOzs7Ozs7O0lBTWxGLHVDQUFnRjs7Ozs7SUFFaEYsMkNBQW1EOzs7OztJQUV2QyxvQ0FBc0I7Ozs7O0lBQUUsd0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSxcbiAgTG90dGllRXZlbnQsXG4gIEFuaW1hdGlvbkV2ZW50TmFtZSxcbiAgQW5pbWF0aW9uSXRlbVxufSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG90dGllRXZlbnRzRmFjYWRlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFNvbWUgZGlzcGF0Y2hlZCBldmVudHMgYXJlIGluIHRoZSBgc25ha2VfY2FzZWAgcmVnaXN0cnksIGZvciBjb252ZW5pZW5jZSxcbiAgICogd2UgY3JlYXRlIHRoaXMgb2JqZWN0IHRoYXQgd2lsbCBtYXAgZXZlbnQgbmFtZSB0byB0aGUgYGNhbWVsQ2FzZWAgcmVnaXN0cnlcbiAgICovXG4gIHByaXZhdGUgZXZlbnRzTWFwOiB7IFtrZXkgaW4gQW5pbWF0aW9uRXZlbnROYW1lXTogQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lIH0gPSB7XG4gICAgY29tcGxldGU6ICdjb21wbGV0ZScsXG4gICAgbG9vcENvbXBsZXRlOiAnbG9vcENvbXBsZXRlJyxcbiAgICBlbnRlckZyYW1lOiAnZW50ZXJGcmFtZScsXG4gICAgc2VnbWVudFN0YXJ0OiAnc2VnbWVudFN0YXJ0JyxcbiAgICBjb25maWdfcmVhZHk6ICdjb25maWdSZWFkeScsXG4gICAgZGF0YV9yZWFkeTogJ2RhdGFSZWFkeScsXG4gICAgRE9NTG9hZGVkOiAnZG9tTG9hZGVkJyxcbiAgICBkZXN0cm95OiAnZGVzdHJveScsXG4gICAgZXJyb3I6ICdlcnJvcidcbiAgfTtcblxuICAvKipcbiAgICogRXZlbnRzIHRoYXQgY2FuIGJlIGRpc3BhdGNoZWQgYnkgYEFuaW1hdGlvbml0ZW1gXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FpcmJuYi9sb3R0aWUtd2ViI2V2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBldmVudE5hbWVzID0gT2JqZWN0LmtleXModGhpcy5ldmVudHNNYXApIGFzIHJlYWRvbmx5IEFuaW1hdGlvbkV2ZW50TmFtZVtdO1xuXG4gIC8qKlxuICAgKiBTYXZlIGxpc3RlbmVycyBzbyB3ZSdyZSBhYmxlIHRvIHJlbW92ZSB0aGVtIGZyb20gYEFuaW1hdGlvbkl0ZW1gXG4gICAqIGJ5IHJlZmVyZW5jZXMgaW4gdGhlIGZ1dHVyZSB3aGVuIHRoaXMgc2VydmljZSBpcyBkZXN0cm95ZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuZXJzID0gbmV3IE1hcDxBbmltYXRpb25FdmVudE5hbWUsIChldmVudDogTG90dGllRXZlbnQpID0+IHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBhbmltYXRpb25JdGVtOiBBbmltYXRpb25JdGVtIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICBhZGRFdmVudExpc3RlbmVycyhpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSwgYW5pbWF0aW9uSXRlbTogQW5pbWF0aW9uSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uSXRlbSA9IGFuaW1hdGlvbkl0ZW07XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5ldmVudE5hbWVzKSB7XG4gICAgICBjb25zdCBsaXN0ZW5lckZuID0gdGhpcy5hZGRFdmVudExpc3RlbmVyKGluc3RhbmNlLCBuYW1lKTtcbiAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gc2F2ZSBgZGVzdHJveWAgbGlzdGVuZXIsIGJlY2F1c2UgYEFuaW1hdGlvbkl0ZW1gXG4gICAgICAvLyBpcyBhYmxlIHRvIHJlbW92ZSBgZGVzdHJveWAgZXZlbnQgbGlzdGVuZXIgaXRzZWxmXG4gICAgICBpZiAobmFtZSAhPT0gJ2Rlc3Ryb3knKSB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldChuYW1lLCBsaXN0ZW5lckZuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW25hbWUsIGxpc3RlbmVyRm5dIG9mIHRoaXMubGlzdGVuZXJzLmVudHJpZXMoKSkge1xuICAgICAgdGhpcy5hbmltYXRpb25JdGVtIS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyRm4pO1xuICAgIH1cblxuICAgIC8vIFdlIGNhbm5vdCBjYWxsIGBkZXN0cm95YCBiZWZvcmUgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzXG4gICAgLy8gYXMgYWZ0ZXIgY2FsbGluZyBgZGVzdHJveWAgLSBgcmVtb3ZlRXZlbnRMaXN0ZW5lcmAgYmVjb21lcyB1bmF2YWlsYWJsZVxuICAgIHRoaXMuYW5pbWF0aW9uSXRlbSEuZGVzdHJveSgpO1xuICAgIHRoaXMuYW5pbWF0aW9uSXRlbSA9IG51bGw7XG4gICAgLy8gUmVsZWFzZSBsaXN0ZW5lcnMgYXMgd2UgZG9uJ3QgbmVlZCB0aGVtXG4gICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lcihcbiAgICBpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSxcbiAgICBuYW1lOiBBbmltYXRpb25FdmVudE5hbWVcbiAgKTogKGV2ZW50OiBMb3R0aWVFdmVudCkgPT4gdm9pZCB7XG4gICAgY29uc3QgbGlzdGVuZXJGbiA9IHRoaXMuaGFuZGxlRXZlbnRDbG9zdXJlKGluc3RhbmNlLCBuYW1lKTtcbiAgICAvLyBgQW5pbWF0aW9uSXRlbWAgdHJpZ2dlcnMgZGlmZmVyZW50IGV2ZW50cyBldmVyeSBtcywgd2UgaGF2ZSB0byBsaXN0ZW5cbiAgICAvLyB0aGVtIG91dHNpZGUgQW5ndWxhcidzIGNvbnRleHQsIHRodXMgaXQgd29uJ3QgYWZmZWN0IHBlcmZvcm1hbmNlXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb25JdGVtIS5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyRm4pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpc3RlbmVyRm47XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUV2ZW50Q2xvc3VyZShpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSwgbmFtZTogQW5pbWF0aW9uRXZlbnROYW1lKSB7XG4gICAgcmV0dXJuIChldmVudDogTG90dGllRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSB0aGlzLnJldHJpZXZlRXZlbnRFbWl0dGVyKGluc3RhbmNlLCBuYW1lKTtcbiAgICAgIGVtaXR0ZXIuZW1pdChldmVudCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZSAtIE5hbWUgb2YgdGhlIGV2ZW50IGluIHRoZSBgc25ha2VfY2FzZWAgZGlzcGF0Y2hlZCBieSBMb3R0aWVcbiAgICogQHJldHVybnMgLSBSZXNvbHZlZCBldmVudCBuYW1lIGluIHRoZSBgY2FtZWxDYXNlYFxuICAgKi9cbiAgcHJpdmF0ZSBjYW1lbGl6ZU5hdGl2ZUV2ZW50TmFtZShuYW1lOiBBbmltYXRpb25FdmVudE5hbWUpOiBDYW1lbGl6ZWRBbmltYXRpb25FdmVudE5hbWUge1xuICAgIHJldHVybiB0aGlzLmV2ZW50c01hcFtuYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0cmlldmVFdmVudEVtaXR0ZXIoXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmUsXG4gICAgbmFtZTogQW5pbWF0aW9uRXZlbnROYW1lXG4gICk6IEV2ZW50RW1pdHRlcjxMb3R0aWVFdmVudD4ge1xuICAgIHJldHVybiBpbnN0YW5jZVt0aGlzLmNhbWVsaXplTmF0aXZlRXZlbnROYW1lKG5hbWUpXSBhcyBFdmVudEVtaXR0ZXI8TG90dGllRXZlbnQ+O1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvZXZlbnRzLWZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVFuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJL0MsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUF5QjdCLFlBQW9CLE1BQWMsRUFBK0IsVUFBa0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFROzs7OztRQXBCM0UsY0FBUyxHQUFpRTtZQUNoRixRQUFRLEVBQUUsVUFBVTtZQUNwQixZQUFZLEVBQUUsY0FBYztZQUM1QixVQUFVLEVBQUUsWUFBWTtZQUN4QixZQUFZLEVBQUUsY0FBYztZQUM1QixZQUFZLEVBQUUsYUFBYTtZQUMzQixVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTLEVBQUUsV0FBVztZQUN0QixPQUFPLEVBQUUsU0FBUztZQUNsQixLQUFLLEVBQUUsT0FBTztTQUNmLENBQUM7Ozs7O1FBTU0sZUFBVSxHQUFHLG1CQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFpQyxDQUFDO1FBRTFFLGtCQUFhLEdBQXlCLElBQUksQ0FBQztJQUVtQyxDQUFDOzs7O0lBRXZGLFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Ozs7O0lBRUQsaUJBQWlCLENBQUMsUUFBdUIsRUFBRSxhQUE0QjtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7Ozs7O0lBRU8sT0FBTztRQUNiLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELCtDQUErQztRQUMvQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQzs7Ozs7OztJQUVPLGdCQUFnQixDQUN0QixRQUF1QixFQUN2QixJQUF3Qjs7Y0FFbEIsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDOzs7OztRQUUxQyxTQUFTLFVBQVUsQ0FBQyxLQUFrQjs7a0JBQzlCLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO1lBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUVELHdFQUF3RTtRQUN4RSxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztRQUFDLEdBQUcsRUFBRTtZQUNqQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7O1lBcEVGLFVBQVU7Ozs7WUFacUIsTUFBTTt5Q0FzQ0MsTUFBTSxTQUFDLFdBQVc7Ozs7Ozs7OztJQXBCdkQsdUNBVUU7Ozs7Ozs7SUFNRix3Q0FBa0Y7Ozs7O0lBRWxGLDJDQUFtRDs7Ozs7SUFFdkMsb0NBQXNCOzs7OztJQUFFLHdDQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgSW5qZWN0YWJsZSwgTmdab25lLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgTG90dGllRXZlbnQsXG4gIEFuaW1hdGlvbkl0ZW0sXG4gIEFuaW1hdGlvbkV2ZW50TmFtZSxcbiAgQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lXG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyByZXRyaWV2ZUV2ZW50RW1pdHRlciB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG90dGllRXZlbnRzRmFjYWRlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFNvbWUgZGlzcGF0Y2hlZCBldmVudHMgYXJlIGluIHRoZSBgc25ha2VfY2FzZWAgcmVnaXN0cnksIGZvciBjb252ZW5pZW5jZSxcbiAgICogd2UgY3JlYXRlIHRoaXMgb2JqZWN0IHRoYXQgd2lsbCBtYXAgZXZlbnQgbmFtZSB0byB0aGUgYGNhbWVsQ2FzZWAgcmVnaXN0cnlcbiAgICovXG4gIHByaXZhdGUgZXZlbnRzTWFwOiB7IFtrZXkgaW4gQW5pbWF0aW9uRXZlbnROYW1lXTogQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lIH0gPSB7XG4gICAgY29tcGxldGU6ICdjb21wbGV0ZScsXG4gICAgbG9vcENvbXBsZXRlOiAnbG9vcENvbXBsZXRlJyxcbiAgICBlbnRlckZyYW1lOiAnZW50ZXJGcmFtZScsXG4gICAgc2VnbWVudFN0YXJ0OiAnc2VnbWVudFN0YXJ0JyxcbiAgICBjb25maWdfcmVhZHk6ICdjb25maWdSZWFkeScsXG4gICAgZGF0YV9yZWFkeTogJ2RhdGFSZWFkeScsXG4gICAgRE9NTG9hZGVkOiAnZG9tTG9hZGVkJyxcbiAgICBkZXN0cm95OiAnZGVzdHJveScsXG4gICAgZXJyb3I6ICdlcnJvcidcbiAgfTtcblxuICAvKipcbiAgICogRXZlbnRzIHRoYXQgY2FuIGJlIGRpc3BhdGNoZWQgYnkgYEFuaW1hdGlvbml0ZW1gXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FpcmJuYi9sb3R0aWUtd2ViI2V2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBldmVudE5hbWVzID0gT2JqZWN0LmtleXModGhpcy5ldmVudHNNYXApIGFzIHJlYWRvbmx5IEFuaW1hdGlvbkV2ZW50TmFtZVtdO1xuXG4gIHByaXZhdGUgYW5pbWF0aW9uSXRlbTogQW5pbWF0aW9uSXRlbSB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgYWRkRXZlbnRMaXN0ZW5lcnMoaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmUsIGFuaW1hdGlvbkl0ZW06IEFuaW1hdGlvbkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbkl0ZW0gPSBhbmltYXRpb25JdGVtO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIHRoaXMuZXZlbnROYW1lcykge1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGluc3RhbmNlLCBuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGBkZXN0cm95KClgIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgbGlzdGVuZXJzXG4gICAgdGhpcy5hbmltYXRpb25JdGVtIS5kZXN0cm95KCk7XG4gICAgdGhpcy5hbmltYXRpb25JdGVtID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lcihcbiAgICBpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSxcbiAgICBuYW1lOiBBbmltYXRpb25FdmVudE5hbWVcbiAgKTogKGV2ZW50OiBMb3R0aWVFdmVudCkgPT4gdm9pZCB7XG4gICAgY29uc3QgY2FtZWxpemVkTmFtZSA9IHRoaXMuZXZlbnRzTWFwW25hbWVdO1xuXG4gICAgZnVuY3Rpb24gbGlzdGVuZXJGbihldmVudDogTG90dGllRXZlbnQpIHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSByZXRyaWV2ZUV2ZW50RW1pdHRlcihpbnN0YW5jZSwgY2FtZWxpemVkTmFtZSk7XG4gICAgICBlbWl0dGVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIGBBbmltYXRpb25JdGVtYCB0cmlnZ2VycyBkaWZmZXJlbnQgZXZlbnRzIGV2ZXJ5IG1zLCB3ZSBoYXZlIHRvIGxpc3RlblxuICAgIC8vIHRoZW0gb3V0c2lkZSBBbmd1bGFyJ3MgY29udGV4dCwgdGh1cyBpdCB3b24ndCBhZmZlY3QgcGVyZm9ybWFuY2VcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbkl0ZW0hLmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgbGlzdGVuZXJGbik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGlzdGVuZXJGbjtcbiAgfVxufVxuIl19 |
@@ -7,23 +7,9 @@ /** | ||
import { CommonModule } from '@angular/common'; | ||
import { isSafariFactory } from './utils'; | ||
import { BaseDirective } from './base.directive'; | ||
import { AnimationCache } from './animation-cache'; | ||
import { AnimationLoader } from './animation-loader'; | ||
import { LottieDirective } from './lottie.directive'; | ||
import { LottieComponent } from './lottie.component'; | ||
import { LOTTIE_PLAYER_FACTORY_OR_LOADER, IS_SAFARI } from './symbols'; | ||
/** | ||
* @return {?} | ||
*/ | ||
export function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
const { vendor, userAgent } = navigator; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
import { LOTTIE_OPTIONS, IS_SAFARI, ANIMATION_CACHE } from './symbols'; | ||
export class LottieModule { | ||
@@ -40,4 +26,4 @@ /** | ||
{ | ||
provide: LOTTIE_PLAYER_FACTORY_OR_LOADER, | ||
useValue: options.player | ||
provide: LOTTIE_OPTIONS, | ||
useValue: options | ||
}, | ||
@@ -47,2 +33,7 @@ { | ||
useFactory: isSafariFactory | ||
}, | ||
{ | ||
provide: ANIMATION_CACHE, | ||
useFactory: AnimationCache.create, | ||
deps: [LOTTIE_OPTIONS] | ||
} | ||
@@ -60,2 +51,2 @@ ] | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvbG90dGllLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQStCLCtCQUErQixFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUVwRyxNQUFNLFVBQVUsZUFBZTtJQUM3QixnRUFBZ0U7SUFDaEUseUNBQXlDO0lBQ3pDLElBQUk7Y0FDSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTO1FBQ3ZDLE9BQU8sQ0FDTCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0tBQ0g7SUFBQyxXQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFPRCxNQUFNLE9BQU8sWUFBWTs7Ozs7SUFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUVkO1FBQ0MsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmO29CQUNFLE9BQU8sRUFBRSwrQkFBK0I7b0JBQ3hDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTTtpQkFDekI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLFVBQVUsRUFBRSxlQUFlO2lCQUM1QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXZCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7YUFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uTG9hZGVyIH0gZnJvbSAnLi9hbmltYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IExvdHRpZURpcmVjdGl2ZSB9IGZyb20gJy4vbG90dGllLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMb3R0aWVDb21wb25lbnQgfSBmcm9tICcuL2xvdHRpZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG90dGllUGxheWVyRmFjdG9yeU9yTG9hZGVyLCBMT1RUSUVfUExBWUVSX0ZBQ1RPUllfT1JfTE9BREVSLCBJU19TQUZBUkkgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNTYWZhcmlGYWN0b3J5KCk6IGJvb2xlYW4ge1xuICAvLyBUaGlzIGB0cnktY2F0Y2hgIGJsb2NrIHdpbGwgYWxzbyBoYW5kbGUgc2VydmVyLXNpZGUgcmVuZGVyaW5nXG4gIC8vIGFzIGBuYXZpZ2F0b3JgIGlzIG5vdCBhY2Nlc3NhYmxlIHRoZXJlXG4gIHRyeSB7XG4gICAgY29uc3QgeyB2ZW5kb3IsIHVzZXJBZ2VudCB9ID0gbmF2aWdhdG9yO1xuICAgIHJldHVybiAoXG4gICAgICB2ZW5kb3IuaW5kZXhPZignQXBwbGUnKSA+IC0xICYmXG4gICAgICB1c2VyQWdlbnQuaW5kZXhPZignQ3JpT1MnKSA9PT0gLTEgJiZcbiAgICAgIHVzZXJBZ2VudC5pbmRleE9mKCdGeGlPUycpID09PSAtMVxuICAgICk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQmFzZURpcmVjdGl2ZSwgTG90dGllRGlyZWN0aXZlLCBMb3R0aWVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQmFzZURpcmVjdGl2ZSwgTG90dGllRGlyZWN0aXZlLCBMb3R0aWVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIExvdHRpZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IHtcbiAgICBwbGF5ZXI6IExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlcjtcbiAgfSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TG90dGllTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBMb3R0aWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQW5pbWF0aW9uTG9hZGVyLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTE9UVElFX1BMQVlFUl9GQUNUT1JZX09SX0xPQURFUixcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5wbGF5ZXJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IElTX1NBRkFSSSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBpc1NhZmFyaUZhY3RvcnlcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvbG90dGllLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQWlCLGNBQWMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBT3RGLE1BQU0sT0FBTyxZQUFZOzs7OztJQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXNCO1FBQ25DLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1QsZUFBZTtnQkFDZjtvQkFDRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxTQUFTO29CQUNsQixVQUFVLEVBQUUsZUFBZTtpQkFDNUI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxjQUFjLENBQUMsTUFBTTtvQkFDakMsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUN2QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQTFCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7YUFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgaXNTYWZhcmlGYWN0b3J5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcbmltcG9ydCB7IEFuaW1hdGlvbkxvYWRlciB9IGZyb20gJy4vYW5pbWF0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBMb3R0aWVEaXJlY3RpdmUgfSBmcm9tICcuL2xvdHRpZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG90dGllQ29tcG9uZW50IH0gZnJvbSAnLi9sb3R0aWUuY29tcG9uZW50JztcbmltcG9ydCB7IExvdHRpZU9wdGlvbnMsIExPVFRJRV9PUFRJT05TLCBJU19TQUZBUkksIEFOSU1BVElPTl9DQUNIRSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTG90dGllTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogTG90dGllT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TG90dGllTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBMb3R0aWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQW5pbWF0aW9uTG9hZGVyLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTE9UVElFX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IElTX1NBRkFSSSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBpc1NhZmFyaUZhY3RvcnlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFOSU1BVElPTl9DQUNIRSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBBbmltYXRpb25DYWNoZS5jcmVhdGUsXG4gICAgICAgICAgZGVwczogW0xPVFRJRV9PUFRJT05TXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19 |
@@ -88,6 +88,18 @@ /** | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function LottieOptions() { } | ||
if (false) { | ||
/** @type {?} */ | ||
LottieOptions.prototype.player; | ||
/** @type {?|undefined} */ | ||
LottieOptions.prototype.useCache; | ||
} | ||
/** @type {?} */ | ||
export const LOTTIE_PLAYER_FACTORY_OR_LOADER = new InjectionToken('LottiePlayerFactoryOrLoader'); | ||
export const IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** @type {?} */ | ||
export const IS_SAFARI = new InjectionToken('IsSafari'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyx1Q0FLQzs7O0lBSkMsd0NBQW9COztJQUNwQixxQ0FBaUI7O0lBQ2pCLHNDQUFrQjs7SUFDbEIsaUNBQW1COzs7OztBQUdyQix5Q0FLQzs7O0lBSkMsbUNBQXFCOztJQUNyQixtQ0FBYTs7SUFDYix3Q0FBa0I7O0lBQ2xCLHdDQUFrQjs7Ozs7QUFHcEIscUNBR0M7OztJQUZDLCtCQUFpQjs7SUFDakIsbUNBQWlCOzs7OztBQUduQix5Q0FJQzs7O0lBSEMsbUNBQXFCOztJQUNyQix5Q0FBbUI7O0lBQ25CLDBDQUFvQjs7Ozs7QUFHdEIsb0NBR0M7OztJQUZDLGdDQUFzQjs7SUFDdEIsOEJBQWdCOzs7OztBQUdsQiw2Q0FJQzs7O0lBSEMsdUNBQXlCOztJQUN6Qiw4Q0FBbUI7O0lBQ25CLDhDQUFvQjs7Ozs7QUFHdEIsd0NBR0M7OztJQUZDLGtDQUFvQjs7SUFDcEIseUNBQW1COzs7QUFtRHJCLE1BQU0sT0FBTywrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDL0QsNkJBQTZCLENBQzlCOztBQUVELE1BQU0sT0FBTyxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQVUsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCTUVudGVyRnJhbWVFdmVudCB7XG4gIGN1cnJlbnRUaW1lOiBudW1iZXI7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIHRvdGFsVGltZTogbnVtYmVyO1xuICB0eXBlOiAnZW50ZXJGcmFtZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1Db21wbGV0ZUxvb3BFdmVudCB7XG4gIHR5cGU6ICdsb29wQ29tcGxldGUnO1xuICBsb29wOiBudW1iZXI7XG4gIHBsYXlDb3VudDogbnVtYmVyO1xuICBmcmFtZU11bHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbXBsZXRlRXZlbnQge1xuICB0eXBlOiAnY29tcGxldGUnO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNU2VnbWVudFN0YXJ0RXZlbnQge1xuICB0eXBlOiAnc2VnbWVudFN0YXJ0JztcbiAgZmlyc3RGcmFtZTogbnVtYmVyO1xuICB0b3RhbEZyYW1lczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNRGVzdHJveUV2ZW50IHtcbiAgdGFyZ2V0OiBBbmltYXRpb25JdGVtO1xuICB0eXBlOiAnZGVzdHJveSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQge1xuICB0eXBlOiAncmVuZGVyRnJhbWVFcnJvcic7XG4gIG5hdGl2ZUVycm9yOiBFcnJvcjtcbiAgY3VycmVudFRpbWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbmZpZ0Vycm9yRXZlbnQge1xuICB0eXBlOiAnY29uZmlnRXJyb3InO1xuICBuYXRpdmVFcnJvcjogRXJyb3I7XG59XG5cbmV4cG9ydCB0eXBlIExvdHRpZUV2ZW50ID1cbiAgfCBCTUVudGVyRnJhbWVFdmVudFxuICB8IEJNQ29tcGxldGVMb29wRXZlbnRcbiAgfCBCTUNvbXBsZXRlRXZlbnRcbiAgfCBCTVNlZ21lbnRTdGFydEV2ZW50XG4gIHwgQk1EZXN0cm95RXZlbnRcbiAgfCBCTVJlbmRlckZyYW1lRXJyb3JFdmVudFxuICB8IEJNQ29uZmlnRXJyb3JFdmVudFxuICB8IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSA9XG4gIHwgJ2NvbXBsZXRlJ1xuICB8ICdsb29wQ29tcGxldGUnXG4gIHwgJ2VudGVyRnJhbWUnXG4gIHwgJ3NlZ21lbnRTdGFydCdcbiAgfCAnY29uZmlnUmVhZHknXG4gIHwgJ2RhdGFSZWFkeSdcbiAgfCAnZG9tTG9hZGVkJ1xuICB8ICdkZXN0cm95J1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkZpbGVuYW1lID0gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25FdmVudE5hbWUgPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25FdmVudE5hbWU7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkl0ZW0gPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25JdGVtO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25Db25maWdXaXRoRGF0YTtcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoID0gaW1wb3J0KCdsb3R0aWUtd2ViJykuQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGg7XG5cbmV4cG9ydCB0eXBlIExvdHRpZVBsYXllciA9IHR5cGVvZiBpbXBvcnQoJ2xvdHRpZS13ZWInKS5kZWZhdWx0O1xuXG4vKipcbiAqIFRoaXMgbG9va3MgYXMgZm9sbG93c1xuICogQGV4YW1wbGVcbiAqIGltcG9ydCBwbGF5ZXIgZnJvbSAnbG90dGllLXdlYic7XG4gKiBjb25zdCBmYWN0b3J5ID0gKCkgPT4gcGxheWVyO1xuICovXG5leHBvcnQgdHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5ID0gKCkgPT4gdHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpLmRlZmF1bHQ7XG5cbi8qKlxuICogVGhpcyBsb29rcyBhcyBmb2xsb3dzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IGltcG9ydCgnbG90dGllLXdlYicpO1xuICovXG5leHBvcnQgdHlwZSBMb3R0aWVMb2FkZXIgPSAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ2xvdHRpZS13ZWInKT47XG5cbmV4cG9ydCB0eXBlIExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlciA9IExvdHRpZVBsYXllckZhY3RvcnkgfCBMb3R0aWVMb2FkZXI7XG5cbmV4cG9ydCBjb25zdCBMT1RUSUVfUExBWUVSX0ZBQ1RPUllfT1JfTE9BREVSID0gbmV3IEluamVjdGlvblRva2VuPExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlcj4oXG4gICdMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXInXG4pO1xuXG5leHBvcnQgY29uc3QgSVNfU0FGQVJJID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdJc1NhZmFyaScpO1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25PcHRpb25zID0gUGFydGlhbDxBbmltYXRpb25Db25maWdXaXRoRGF0YT4gfCBQYXJ0aWFsPEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoPjtcbiJdfQ== | ||
export const LOTTIE_OPTIONS = new InjectionToken('LottieOptions'); | ||
/** @type {?} */ | ||
export const ANIMATION_CACHE = new InjectionToken('AnimationCache'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUkvQyx1Q0FLQzs7O0lBSkMsd0NBQW9COztJQUNwQixxQ0FBaUI7O0lBQ2pCLHNDQUFrQjs7SUFDbEIsaUNBQW1COzs7OztBQUdyQix5Q0FLQzs7O0lBSkMsbUNBQXFCOztJQUNyQixtQ0FBYTs7SUFDYix3Q0FBa0I7O0lBQ2xCLHdDQUFrQjs7Ozs7QUFHcEIscUNBR0M7OztJQUZDLCtCQUFpQjs7SUFDakIsbUNBQWlCOzs7OztBQUduQix5Q0FJQzs7O0lBSEMsbUNBQXFCOztJQUNyQix5Q0FBbUI7O0lBQ25CLDBDQUFvQjs7Ozs7QUFHdEIsb0NBR0M7OztJQUZDLGdDQUFzQjs7SUFDdEIsOEJBQWdCOzs7OztBQUdsQiw2Q0FJQzs7O0lBSEMsdUNBQXlCOztJQUN6Qiw4Q0FBbUI7O0lBQ25CLDhDQUFvQjs7Ozs7QUFHdEIsd0NBR0M7OztJQUZDLGtDQUFvQjs7SUFDcEIseUNBQW1COzs7OztBQThDckIsbUNBR0M7OztJQUZDLCtCQUFvQzs7SUFDcEMsaUNBQW1COzs7QUFPckIsTUFBTSxPQUFPLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUM7O0FBQ2hFLE1BQU0sT0FBTyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQzs7QUFDaEYsTUFBTSxPQUFPLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcblxuZXhwb3J0IGludGVyZmFjZSBCTUVudGVyRnJhbWVFdmVudCB7XG4gIGN1cnJlbnRUaW1lOiBudW1iZXI7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIHRvdGFsVGltZTogbnVtYmVyO1xuICB0eXBlOiAnZW50ZXJGcmFtZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1Db21wbGV0ZUxvb3BFdmVudCB7XG4gIHR5cGU6ICdsb29wQ29tcGxldGUnO1xuICBsb29wOiBudW1iZXI7XG4gIHBsYXlDb3VudDogbnVtYmVyO1xuICBmcmFtZU11bHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbXBsZXRlRXZlbnQge1xuICB0eXBlOiAnY29tcGxldGUnO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNU2VnbWVudFN0YXJ0RXZlbnQge1xuICB0eXBlOiAnc2VnbWVudFN0YXJ0JztcbiAgZmlyc3RGcmFtZTogbnVtYmVyO1xuICB0b3RhbEZyYW1lczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNRGVzdHJveUV2ZW50IHtcbiAgdGFyZ2V0OiBBbmltYXRpb25JdGVtO1xuICB0eXBlOiAnZGVzdHJveSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQge1xuICB0eXBlOiAncmVuZGVyRnJhbWVFcnJvcic7XG4gIG5hdGl2ZUVycm9yOiBFcnJvcjtcbiAgY3VycmVudFRpbWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbmZpZ0Vycm9yRXZlbnQge1xuICB0eXBlOiAnY29uZmlnRXJyb3InO1xuICBuYXRpdmVFcnJvcjogRXJyb3I7XG59XG5cbmV4cG9ydCB0eXBlIExvdHRpZUV2ZW50ID1cbiAgfCBCTUVudGVyRnJhbWVFdmVudFxuICB8IEJNQ29tcGxldGVMb29wRXZlbnRcbiAgfCBCTUNvbXBsZXRlRXZlbnRcbiAgfCBCTVNlZ21lbnRTdGFydEV2ZW50XG4gIHwgQk1EZXN0cm95RXZlbnRcbiAgfCBCTVJlbmRlckZyYW1lRXJyb3JFdmVudFxuICB8IEJNQ29uZmlnRXJyb3JFdmVudFxuICB8IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSA9XG4gIHwgJ2NvbXBsZXRlJ1xuICB8ICdsb29wQ29tcGxldGUnXG4gIHwgJ2VudGVyRnJhbWUnXG4gIHwgJ3NlZ21lbnRTdGFydCdcbiAgfCAnY29uZmlnUmVhZHknXG4gIHwgJ2RhdGFSZWFkeSdcbiAgfCAnZG9tTG9hZGVkJ1xuICB8ICdkZXN0cm95J1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkZpbGVuYW1lID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uRXZlbnROYW1lID0gaW1wb3J0KCdsb3R0aWUtd2ViJykuQW5pbWF0aW9uRXZlbnROYW1lO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uSXRlbSA9IGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkl0ZW07XG5leHBvcnQgdHlwZSBMb3R0aWVQbGF5ZXIgPSB0eXBlb2YgaW1wb3J0KCdsb3R0aWUtd2ViJykuZGVmYXVsdDtcblxuLyoqXG4gKiBUaGlzIGxvb2tzIGFzIGZvbGxvd3NcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgcGxheWVyIGZyb20gJ2xvdHRpZS13ZWInO1xuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IHBsYXllcjtcbiAqL1xudHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5ID0gKCkgPT4gdHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpLmRlZmF1bHQ7XG5cbi8qKlxuICogVGhpcyBsb29rcyBhcyBmb2xsb3dzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IGltcG9ydCgnbG90dGllLXdlYicpO1xuICovXG50eXBlIExvdHRpZUxvYWRlciA9ICgpID0+IFByb21pc2U8dHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpPjtcblxudHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXIgPSBMb3R0aWVQbGF5ZXJGYWN0b3J5IHwgTG90dGllTG9hZGVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvdHRpZU9wdGlvbnMge1xuICBwbGF5ZXI6IExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlcjtcbiAgdXNlQ2FjaGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25Db25maWdXaXRoRGF0YSA9IGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGggPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25Db25maWdXaXRoUGF0aDtcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbk9wdGlvbnMgPSBQYXJ0aWFsPEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhPiB8IFBhcnRpYWw8QW5pbWF0aW9uQ29uZmlnV2l0aFBhdGg+O1xuXG5leHBvcnQgY29uc3QgSVNfU0FGQVJJID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdJc1NhZmFyaScpO1xuZXhwb3J0IGNvbnN0IExPVFRJRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPExvdHRpZU9wdGlvbnM+KCdMb3R0aWVPcHRpb25zJyk7XG5leHBvcnQgY29uc3QgQU5JTUFUSU9OX0NBQ0hFID0gbmV3IEluamVjdGlvblRva2VuPEFuaW1hdGlvbkNhY2hlIHwgbnVsbD4oJ0FuaW1hdGlvbkNhY2hlJyk7XG4iXX0= |
@@ -12,6 +12,6 @@ /** | ||
/** | ||
* @param {?} state | ||
* @param {?} transferState | ||
*/ | ||
constructor(state) { | ||
this.state = state; | ||
constructor(transferState) { | ||
this.transferState = transferState; | ||
} | ||
@@ -27,4 +27,4 @@ /** | ||
/** @type {?} */ | ||
const key = makeStateKey(animationKey); | ||
return this.state.get(key, null); | ||
const stateKey = makeStateKey(animationKey); | ||
return this.transferState.get(stateKey, null); | ||
} | ||
@@ -45,4 +45,4 @@ } | ||
*/ | ||
LottieTransferState.prototype.state; | ||
LottieTransferState.prototype.transferState; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3RyYW5zZmVyLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFHMUQsTUFBTSxPQUFPLG1CQUFtQjs7OztJQUM5QixZQUFvQixLQUFvQjtRQUFwQixVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQUcsQ0FBQzs7Ozs7O0lBRTVDLEdBQUcsQ0FBSSxTQUE0Qjs7Y0FDM0IsWUFBWSxHQUFHLCtCQUErQixDQUFDLFNBQVMsQ0FBQzs7Y0FDekQsR0FBRyxHQUFHLFlBQVksQ0FBSSxZQUFZLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7O1lBUkYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztZQUx6QixhQUFhOzs7Ozs7OztJQU9SLG9DQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zZmVyU3RhdGUsIG1ha2VTdGF0ZUtleSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBbmltYXRpb25GaWxlbmFtZSB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BbmltYXRpb25GaWxlbmFtZVRvS2V5IH0gZnJvbSAnLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTG90dGllVHJhbnNmZXJTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RhdGU6IFRyYW5zZmVyU3RhdGUpIHt9XG5cbiAgZ2V0PFQ+KGFuaW1hdGlvbjogQW5pbWF0aW9uRmlsZW5hbWUpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgYW5pbWF0aW9uS2V5ID0gdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleShhbmltYXRpb24pO1xuICAgIGNvbnN0IGtleSA9IG1ha2VTdGF0ZUtleTxUPihhbmltYXRpb25LZXkpO1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldChrZXksIG51bGwpO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3RyYW5zZmVyLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFHMUQsTUFBTSxPQUFPLG1CQUFtQjs7OztJQUM5QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7Ozs7OztJQUVwRCxHQUFHLENBQUksU0FBNEI7O2NBQzNCLFlBQVksR0FBRywrQkFBK0IsQ0FBQyxTQUFTLENBQUM7O2NBQ3pELFFBQVEsR0FBRyxZQUFZLENBQUksWUFBWSxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQVJGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7WUFMekIsYUFBYTs7Ozs7Ozs7SUFPUiw0Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlclN0YXRlLCBtYWtlU3RhdGVLZXkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQW5pbWF0aW9uRmlsZW5hbWUgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleSB9IGZyb20gJy4vdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvdHRpZVRyYW5zZmVyU3RhdGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUpIHt9XG5cbiAgZ2V0PFQ+KGFuaW1hdGlvbjogQW5pbWF0aW9uRmlsZW5hbWUpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgYW5pbWF0aW9uS2V5ID0gdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleShhbmltYXRpb24pO1xuICAgIGNvbnN0IHN0YXRlS2V5ID0gbWFrZVN0YXRlS2V5PFQ+KGFuaW1hdGlvbktleSk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmZXJTdGF0ZS5nZXQoc3RhdGVLZXksIG51bGwpO1xuICB9XG59XG4iXX0= |
@@ -28,7 +28,8 @@ /** | ||
* @param {?} container | ||
* @param {?} animationCache | ||
* @return {?} | ||
*/ | ||
export function resolveOptions(options, container) { | ||
export function mergeOptionsWithDefault(options, container, animationCache) { | ||
/** @type {?} */ | ||
const defaultOptions = { | ||
const merged = Object.assign({ | ||
container, | ||
@@ -38,5 +39,58 @@ renderer: 'svg', | ||
autoplay: true | ||
}; | ||
return Object.assign(defaultOptions, options); | ||
}, options); | ||
if (animationCache !== null) { | ||
return animationCache.transformOptions(merged); | ||
} | ||
return merged; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsTUFBTSxVQUFVLCtCQUErQixDQUFDLFNBQTRCO0lBQzFFLE9BQU8sYUFBYSxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEQsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFvQixFQUFFLElBQVksRUFBRSxRQUFpQjtJQUN6RiwyQ0FBMkM7SUFDM0MsbURBQW1EO0lBQ25ELElBQUksUUFBUSxFQUFFO1FBQ1osQ0FBQyxtQkFBQSxDQUFDLG1CQUFBLE1BQU0sRUFBVyxDQUFDLEVBQStDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDNUY7QUFDSCxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixPQUFnQyxFQUNoQyxTQUFzQjs7VUFFaEIsY0FBYyxHQUFHO1FBQ3JCLFNBQVM7UUFDVCxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7S0FDZjtJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkZpbGVuYW1lLFxuICBMb3R0aWVQbGF5ZXIsXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aFxufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleShhbmltYXRpb246IEFuaW1hdGlvbkZpbGVuYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBhbmltYXRpb24tJHthbmltYXRpb24uc3BsaXQoJy5qc29uJylbMF19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFBsYXllckxvY2F0aW9uSHJlZihwbGF5ZXI6IExvdHRpZVBsYXllciwgaHJlZjogc3RyaW5nLCBpc1NhZmFyaTogYm9vbGVhbik6IHZvaWQge1xuICAvLyBUaGlzIGlzIGEgZml4IGZvciB0aGUgbWFzayBvbiBTYWZhcmkvaU9TXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9haXJibmIvbG90dGllLXdlYi9pc3N1ZXMvMTE5OFxuICBpZiAoaXNTYWZhcmkpIHtcbiAgICAoKHBsYXllciBhcyB1bmtub3duKSBhcyB7IHNldExvY2F0aW9uSHJlZjogKGhyZWY6IHN0cmluZykgPT4gdm9pZCB9KS5zZXRMb2NhdGlvbkhyZWYoaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPcHRpb25zKFxuICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zIHwgbnVsbCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudFxuKTogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCB7XG4gIGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAgIGNvbnRhaW5lcixcbiAgICByZW5kZXJlcjogJ3N2ZycsXG4gICAgbG9vcDogdHJ1ZSxcbiAgICBhdXRvcGxheTogdHJ1ZVxuICB9O1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKGRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcbn1cbiJdfQ== | ||
/** | ||
* @return {?} | ||
*/ | ||
export function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
const { vendor, userAgent } = navigator; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
export function isAnimationConfigWithData(options) { | ||
/** @type {?} */ | ||
const animationData = ((/** @type {?} */ (options))).animationData; | ||
return animationData !== null && typeof animationData === 'object'; | ||
} | ||
/** | ||
* @param {?} animationCache | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
export function awaitConfigAndCache(animationCache, options, animationItem) { | ||
if (animationCache === null) { | ||
return; | ||
} | ||
animationItem.addEventListener('config_ready', (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
animationCache.set(options, animationItem); | ||
})); | ||
} | ||
/** | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
export function retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[name])); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBZUEsTUFBTSxVQUFVLCtCQUErQixDQUFDLFNBQTRCO0lBQzFFLE9BQU8sYUFBYSxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEQsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFvQixFQUFFLElBQVksRUFBRSxRQUFpQjtJQUN6RiwyQ0FBMkM7SUFDM0MsbURBQW1EO0lBQ25ELElBQUksUUFBUSxFQUFFO1FBQ1osQ0FBQyxtQkFBQSxDQUFDLG1CQUFBLE1BQU0sRUFBVyxDQUFDLEVBQStDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDNUY7QUFDSCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxPQUFnQyxFQUNoQyxTQUFzQixFQUN0QixjQUFxQzs7VUFFL0IsTUFBTSxHQUFzRCxNQUFNLENBQUMsTUFBTSxDQUM3RTtRQUNFLFNBQVM7UUFDVCxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7S0FDZixFQUNELE9BQU8sQ0FDUjtJQUVELElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNoRDtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsZUFBZTtJQUM3QixnRUFBZ0U7SUFDaEUseUNBQXlDO0lBQ3pDLElBQUk7Y0FDSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTO1FBQ3ZDLE9BQU8sQ0FDTCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0tBQ0g7SUFBQyxXQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxPQUEwRDs7VUFFcEQsYUFBYSxHQUFHLENBQUMsbUJBQUEsT0FBTyxFQUEyQixDQUFDLENBQUMsYUFBYTtJQUN4RSxPQUFPLGFBQWEsS0FBSyxJQUFJLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxDQUFDO0FBQ3JFLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGNBQXFDLEVBQ3JDLE9BQTBELEVBQzFELGFBQTRCO0lBRTVCLElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0tBQ1I7SUFFRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsY0FBYzs7O0lBQUUsR0FBRyxFQUFFO1FBQ2xELGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxRQUF1QixFQUN2QixJQUFpQztJQUVqQyxPQUFPLG1CQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBNkIsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIExvdHRpZVBsYXllcixcbiAgQW5pbWF0aW9uT3B0aW9ucyxcbiAgQW5pbWF0aW9uRmlsZW5hbWUsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgQW5pbWF0aW9uSXRlbSxcbiAgTG90dGllRXZlbnQsXG4gIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZVxufSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uQ2FjaGUgfSBmcm9tICcuL2FuaW1hdGlvbi1jYWNoZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BbmltYXRpb25GaWxlbmFtZVRvS2V5KGFuaW1hdGlvbjogQW5pbWF0aW9uRmlsZW5hbWUpOiBzdHJpbmcge1xuICByZXR1cm4gYGFuaW1hdGlvbi0ke2FuaW1hdGlvbi5zcGxpdCgnLmpzb24nKVswXX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UGxheWVyTG9jYXRpb25IcmVmKHBsYXllcjogTG90dGllUGxheWVyLCBocmVmOiBzdHJpbmcsIGlzU2FmYXJpOiBib29sZWFuKTogdm9pZCB7XG4gIC8vIFRoaXMgaXMgYSBmaXggZm9yIHRoZSBtYXNrIG9uIFNhZmFyaS9pT1NcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FpcmJuYi9sb3R0aWUtd2ViL2lzc3Vlcy8xMTk4XG4gIGlmIChpc1NhZmFyaSkge1xuICAgICgocGxheWVyIGFzIHVua25vd24pIGFzIHsgc2V0TG9jYXRpb25IcmVmOiAoaHJlZjogc3RyaW5nKSA9PiB2b2lkIH0pLnNldExvY2F0aW9uSHJlZihocmVmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VPcHRpb25zV2l0aERlZmF1bHQoXG4gIG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMgfCBudWxsLFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBhbmltYXRpb25DYWNoZTogQW5pbWF0aW9uQ2FjaGUgfCBudWxsXG4pOiBBbmltYXRpb25Db25maWdXaXRoRGF0YSB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoIHtcbiAgY29uc3QgbWVyZ2VkOiBBbmltYXRpb25Db25maWdXaXRoRGF0YSB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoID0gT2JqZWN0LmFzc2lnbihcbiAgICB7XG4gICAgICBjb250YWluZXIsXG4gICAgICByZW5kZXJlcjogJ3N2ZycsXG4gICAgICBsb29wOiB0cnVlLFxuICAgICAgYXV0b3BsYXk6IHRydWVcbiAgICB9LFxuICAgIG9wdGlvbnNcbiAgKTtcblxuICBpZiAoYW5pbWF0aW9uQ2FjaGUgIT09IG51bGwpIHtcbiAgICByZXR1cm4gYW5pbWF0aW9uQ2FjaGUudHJhbnNmb3JtT3B0aW9ucyhtZXJnZWQpO1xuICB9XG5cbiAgcmV0dXJuIG1lcmdlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FmYXJpRmFjdG9yeSgpOiBib29sZWFuIHtcbiAgLy8gVGhpcyBgdHJ5LWNhdGNoYCBibG9jayB3aWxsIGFsc28gaGFuZGxlIHNlcnZlci1zaWRlIHJlbmRlcmluZ1xuICAvLyBhcyBgbmF2aWdhdG9yYCBpcyBub3QgYWNjZXNzYWJsZSB0aGVyZVxuICB0cnkge1xuICAgIGNvbnN0IHsgdmVuZG9yLCB1c2VyQWdlbnQgfSA9IG5hdmlnYXRvcjtcbiAgICByZXR1cm4gKFxuICAgICAgdmVuZG9yLmluZGV4T2YoJ0FwcGxlJykgPiAtMSAmJlxuICAgICAgdXNlckFnZW50LmluZGV4T2YoJ0NyaU9TJykgPT09IC0xICYmXG4gICAgICB1c2VyQWdlbnQuaW5kZXhPZignRnhpT1MnKSA9PT0gLTFcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEoXG4gIG9wdGlvbnM6IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoIHwgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGFcbik6IG9wdGlvbnMgaXMgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEge1xuICBjb25zdCBhbmltYXRpb25EYXRhID0gKG9wdGlvbnMgYXMgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEpLmFuaW1hdGlvbkRhdGE7XG4gIHJldHVybiBhbmltYXRpb25EYXRhICE9PSBudWxsICYmIHR5cGVvZiBhbmltYXRpb25EYXRhID09PSAnb2JqZWN0Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF3YWl0Q29uZmlnQW5kQ2FjaGUoXG4gIGFuaW1hdGlvbkNhY2hlOiBBbmltYXRpb25DYWNoZSB8IG51bGwsXG4gIG9wdGlvbnM6IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoIHwgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEsXG4gIGFuaW1hdGlvbkl0ZW06IEFuaW1hdGlvbkl0ZW1cbik6IHZvaWQge1xuICBpZiAoYW5pbWF0aW9uQ2FjaGUgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhbmltYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbmZpZ19yZWFkeScsICgpID0+IHtcbiAgICBhbmltYXRpb25DYWNoZS5zZXQob3B0aW9ucywgYW5pbWF0aW9uSXRlbSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0cmlldmVFdmVudEVtaXR0ZXIoXG4gIGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlLFxuICBuYW1lOiBDYW1lbGl6ZWRBbmltYXRpb25FdmVudE5hbWVcbik6IEV2ZW50RW1pdHRlcjxMb3R0aWVFdmVudD4ge1xuICByZXR1cm4gaW5zdGFuY2VbbmFtZV0gYXMgRXZlbnRFbWl0dGVyPExvdHRpZUV2ZW50Pjtcbn1cbiJdfQ== |
@@ -9,6 +9,7 @@ /** | ||
export { LottieModule, BaseDirective, LottieDirective, LottieComponent, LottieTransferState, transformAnimationFilenameToKey } from './index'; | ||
export { AnimationLoader as ɵe } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵf } from './src/events-facade'; | ||
export { isSafariFactory as ɵa } from './src/lottie.module'; | ||
export { IS_SAFARI as ɵd, LOTTIE_PLAYER_FACTORY_OR_LOADER as ɵc } from './src/symbols'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxvdHRpZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJuZ3gtbG90dGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxvSUFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQW1DLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtBbmltYXRpb25Mb2FkZXIgYXMgybVlfSBmcm9tICcuL3NyYy9hbmltYXRpb24tbG9hZGVyJztcbmV4cG9ydCB7TG90dGllRXZlbnRzRmFjYWRlIGFzIMm1Zn0gZnJvbSAnLi9zcmMvZXZlbnRzLWZhY2FkZSc7XG5leHBvcnQge2lzU2FmYXJpRmFjdG9yeSBhcyDJtWF9IGZyb20gJy4vc3JjL2xvdHRpZS5tb2R1bGUnO1xuZXhwb3J0IHtJU19TQUZBUkkgYXMgybVkLExPVFRJRV9QTEFZRVJfRkFDVE9SWV9PUl9MT0FERVIgYXMgybVjLExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlciBhcyDJtWJ9IGZyb20gJy4vc3JjL3N5bWJvbHMnOyJdfQ== | ||
export { AnimationCache as ɵg } from './src/animation-cache'; | ||
export { AnimationLoader as ɵf } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵh } from './src/events-facade'; | ||
export { ANIMATION_CACHE as ɵd, IS_SAFARI as ɵb, LOTTIE_OPTIONS as ɵc } from './src/symbols'; | ||
export { isSafariFactory as ɵe } from './src/utils'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxvdHRpZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJuZ3gtbG90dGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxvSUFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxTQUFTLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtBbmltYXRpb25DYWNoZSBhcyDJtWd9IGZyb20gJy4vc3JjL2FuaW1hdGlvbi1jYWNoZSc7XG5leHBvcnQge0FuaW1hdGlvbkxvYWRlciBhcyDJtWZ9IGZyb20gJy4vc3JjL2FuaW1hdGlvbi1sb2FkZXInO1xuZXhwb3J0IHtMb3R0aWVFdmVudHNGYWNhZGUgYXMgybVofSBmcm9tICcuL3NyYy9ldmVudHMtZmFjYWRlJztcbmV4cG9ydCB7QU5JTUFUSU9OX0NBQ0hFIGFzIMm1ZCxJU19TQUZBUkkgYXMgybViLExPVFRJRV9PUFRJT05TIGFzIMm1YyxMb3R0aWVPcHRpb25zIGFzIMm1YX0gZnJvbSAnLi9zcmMvc3ltYm9scyc7XG5leHBvcnQge2lzU2FmYXJpRmFjdG9yeSBhcyDJtWV9IGZyb20gJy4vc3JjL3V0aWxzJzsiXX0= |
@@ -9,4 +9,4 @@ /** | ||
import { map, catchError, shareReplay } from 'rxjs/operators'; | ||
import { LOTTIE_PLAYER_FACTORY_OR_LOADER, IS_SAFARI } from './symbols'; | ||
import { setPlayerLocationHref, resolveOptions } from './utils'; | ||
import { IS_SAFARI, LOTTIE_OPTIONS, ANIMATION_CACHE } from './symbols'; | ||
import { setPlayerLocationHref, mergeOptionsWithDefault, awaitConfigAndCache } from './utils'; | ||
// This has to be dynamic as `Document` interface is not | ||
@@ -16,3 +16,3 @@ // accepted by the ngc compiler | ||
var AnimationLoader = /** @class */ (function () { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, playerFactoryOrLoader) { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, options, animationCache) { | ||
this.ngZone = ngZone; | ||
@@ -22,3 +22,4 @@ this.platformId = platformId; | ||
this.isSafari = isSafari; | ||
this.playerFactoryOrLoader = playerFactoryOrLoader; | ||
this.options = options; | ||
this.animationCache = animationCache; | ||
this.cachedLottiePlayer$ = null; | ||
@@ -48,3 +49,3 @@ } | ||
/** @type {?} */ | ||
var resolvedOptions = resolveOptions(options, container); | ||
var mergedOptions = mergeOptionsWithDefault(options, container, this.animationCache); | ||
this.wrapPlayerOrLoaderIntoObservable().subscribe((/** | ||
@@ -55,3 +56,3 @@ * @param {?} player | ||
function (player) { | ||
_this.loadAnimation(player, resolvedOptions, eventsFacade, animationCreated, instance); | ||
_this.loadAnimation(player, mergedOptions, eventsFacade, animationCreated, instance); | ||
})); | ||
@@ -84,2 +85,3 @@ }; | ||
function () { return player.loadAnimation(options); })); | ||
awaitConfigAndCache(this.animationCache, options, animationItem); | ||
// Dispatch `animationCreated` event after animation is loaded successfully | ||
@@ -102,3 +104,3 @@ animationCreated.emit(animationItem); | ||
/** @type {?} */ | ||
var playerOrLoader = this.playerFactoryOrLoader(); | ||
var playerOrLoader = this.options.player(); | ||
if (playerOrLoader instanceof Promise) { | ||
@@ -132,3 +134,4 @@ this.cachedLottiePlayer$ = from(playerOrLoader).pipe(map((/** | ||
{ type: Boolean, decorators: [{ type: Inject, args: [IS_SAFARI,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_PLAYER_FACTORY_OR_LOADER,] }] } | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_OPTIONS,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [ANIMATION_CACHE,] }] } | ||
]; }; | ||
@@ -168,4 +171,9 @@ return AnimationLoader; | ||
*/ | ||
AnimationLoader.prototype.playerFactoryOrLoader; | ||
AnimationLoader.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationLoader.prototype.animationCache; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvYW5pbWF0aW9uLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFnQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBT0wsK0JBQStCLEVBQy9CLFNBQVMsRUFDVixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBS2hFO0lBSUUseUJBQ1UsTUFBYyxFQUNPLFVBQWtCLEVBQ3JCLFFBQWtCLEVBQ2pCLFFBQWlCLEVBRXBDLHFCQUFrRDtRQUxsRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFFcEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE2QjtRQVJwRCx3QkFBbUIsR0FBb0MsSUFBSSxDQUFDO0lBU2pFLENBQUM7Ozs7Ozs7OztJQUVKLHVEQUE2Qjs7Ozs7Ozs7SUFBN0IsVUFDRSxPQUFnQyxFQUNoQyxTQUFzQixFQUN0QixZQUFnQyxFQUNoQyxnQkFBNkMsRUFDN0MsUUFBdUI7UUFMekIsaUJBZ0JDO1FBVEMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsT0FBTztTQUNSOztZQUVLLGVBQWUsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUUxRCxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxNQUFNO1lBQ3RELEtBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEYsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7Ozs7O0lBRU8sdUNBQWE7Ozs7Ozs7OztJQUFyQixVQUNFLE1BQW9CLEVBQ3BCLE9BQTBELEVBQzFELFlBQWdDLEVBQ2hDLGdCQUE2QyxFQUM3QyxRQUF1QjtRQUV2QixxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7WUFDcEUsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7UUFBQyxjQUFNLE9BQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBN0IsQ0FBNkIsRUFBQztRQUN4RiwyRUFBMkU7UUFDM0UsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFFTywwREFBZ0M7Ozs7SUFBeEM7UUFDRSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDakM7O1lBRUssY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtRQUVuRCxJQUFJLGNBQWMsWUFBWSxPQUFPLEVBQUU7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ2xELEdBQUc7Ozs7WUFBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxFQUF4QixDQUF3QixFQUFDLEVBQ3ZDLFVBQVU7Ozs7WUFBQyxVQUFBLEtBQUs7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxnVEFPYixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxFQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7O2dCQXpFRixVQUFVOzs7O2dCQXZCVSxNQUFNOzZDQTZCdEIsTUFBTSxTQUFDLFdBQVc7Z0JBQ2lCLFFBQVEsdUJBQTNDLE1BQU0sU0FBQyxRQUFROzhDQUNmLE1BQU0sU0FBQyxTQUFTO2dEQUNoQixNQUFNLFNBQUMsK0JBQStCOztJQWlFM0Msc0JBQUM7Q0FBQSxBQTFFRCxJQTBFQztTQXpFWSxlQUFlOzs7Ozs7SUFDMUIsOENBQW9FOzs7OztJQUdsRSxpQ0FBc0I7Ozs7O0lBQ3RCLHFDQUErQzs7Ozs7SUFDL0MsbUNBQTRDOzs7OztJQUM1QyxtQ0FBNEM7Ozs7O0lBQzVDLGdEQUMwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IGZyb20sIG9mLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBMb3R0aWVQbGF5ZXIsXG4gIEFuaW1hdGlvbkl0ZW0sXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgTG90dGllUGxheWVyRmFjdG9yeU9yTG9hZGVyLFxuICBMT1RUSUVfUExBWUVSX0ZBQ1RPUllfT1JfTE9BREVSLFxuICBJU19TQUZBUklcbn0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Jhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IExvdHRpZUV2ZW50c0ZhY2FkZSB9IGZyb20gJy4vZXZlbnRzLWZhY2FkZSc7XG5pbXBvcnQgeyBzZXRQbGF5ZXJMb2NhdGlvbkhyZWYsIHJlc29sdmVPcHRpb25zIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIFRoaXMgaGFzIHRvIGJlIGR5bmFtaWMgYXMgYERvY3VtZW50YCBpbnRlcmZhY2UgaXMgbm90XG4vLyBhY2NlcHRlZCBieSB0aGUgbmdjIGNvbXBpbGVyXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkxvYWRlciB7XG4gIHByaXZhdGUgY2FjaGVkTG90dGllUGxheWVyJDogT2JzZXJ2YWJsZTxMb3R0aWVQbGF5ZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KElTX1NBRkFSSSkgcHJpdmF0ZSBpc1NhZmFyaTogYm9vbGVhbixcbiAgICBASW5qZWN0KExPVFRJRV9QTEFZRVJfRkFDVE9SWV9PUl9MT0FERVIpXG4gICAgcHJpdmF0ZSBwbGF5ZXJGYWN0b3J5T3JMb2FkZXI6IExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlclxuICApIHt9XG5cbiAgcmVzb2x2ZUxvYWRlckFuZExvYWRBbmltYXRpb24oXG4gICAgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyB8IG51bGwsXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMsIGNvbnRhaW5lcik7XG5cbiAgICB0aGlzLndyYXBQbGF5ZXJPckxvYWRlckludG9PYnNlcnZhYmxlKCkuc3Vic2NyaWJlKHBsYXllciA9PiB7XG4gICAgICB0aGlzLmxvYWRBbmltYXRpb24ocGxheWVyLCByZXNvbHZlZE9wdGlvbnMsIGV2ZW50c0ZhY2FkZSwgYW5pbWF0aW9uQ3JlYXRlZCwgaW5zdGFuY2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQW5pbWF0aW9uKFxuICAgIHBsYXllcjogTG90dGllUGxheWVyLFxuICAgIG9wdGlvbnM6IEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhIHwgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGgsXG4gICAgZXZlbnRzRmFjYWRlOiBMb3R0aWVFdmVudHNGYWNhZGUsXG4gICAgYW5pbWF0aW9uQ3JlYXRlZDogRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkl0ZW0+LFxuICAgIGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlXG4gICk6IHZvaWQge1xuICAgIHNldFBsYXllckxvY2F0aW9uSHJlZihwbGF5ZXIsIHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiwgdGhpcy5pc1NhZmFyaSk7XG4gICAgY29uc3QgYW5pbWF0aW9uSXRlbSA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHBsYXllci5sb2FkQW5pbWF0aW9uKG9wdGlvbnMpKTtcbiAgICAvLyBEaXNwYXRjaCBgYW5pbWF0aW9uQ3JlYXRlZGAgZXZlbnQgYWZ0ZXIgYW5pbWF0aW9uIGlzIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICBhbmltYXRpb25DcmVhdGVkLmVtaXQoYW5pbWF0aW9uSXRlbSk7XG4gICAgZXZlbnRzRmFjYWRlLmFkZEV2ZW50TGlzdGVuZXJzKGluc3RhbmNlLCBhbmltYXRpb25JdGVtKTtcbiAgfVxuXG4gIHByaXZhdGUgd3JhcFBsYXllck9yTG9hZGVySW50b09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxMb3R0aWVQbGF5ZXI+IHtcbiAgICBpZiAodGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkO1xuICAgIH1cblxuICAgIGNvbnN0IHBsYXllck9yTG9hZGVyID0gdGhpcy5wbGF5ZXJGYWN0b3J5T3JMb2FkZXIoKTtcblxuICAgIGlmIChwbGF5ZXJPckxvYWRlciBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJCA9IGZyb20ocGxheWVyT3JMb2FkZXIpLnBpcGUoXG4gICAgICAgIG1hcChtb2R1bGUgPT4gbW9kdWxlLmRlZmF1bHQgfHwgbW9kdWxlKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgXG4gICAgICAgICAgICBDb3VsZCBub3QgcmV0cmlldmUgdGhlIFwibG90dGllLXdlYlwiIHBsYXllciwgZGlkIHlvdSBwcm92aWRlXG4gICAgICAgICAgICB0aGUgXCJwbGF5ZXJcIiBwcm9wZXJ0eSBjb3JyZWN0bHk/XG4gICAgICAgICAgICBleHBvcnQgZnVuY3Rpb24gcGxheWVyRmFjdG9yeSgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnbG90dGllLXdlYicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTG90dGllTW9kdWxlLmZvclJvb3QoeyBwbGF5ZXI6IHBsYXllckZhY3RvcnkgfSlcbiAgICAgICAgICBgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkID0gb2YocGxheWVyT3JMb2FkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlZExvdHRpZVBsYXllciQ7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvYW5pbWF0aW9uLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFnQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBT0wsU0FBUyxFQUNULGNBQWMsRUFDZCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBSW5CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUs5RjtJQUlFLHlCQUNVLE1BQWMsRUFDTyxVQUFrQixFQUNyQixRQUFrQixFQUNqQixRQUFpQixFQUNaLE9BQXNCLEVBQ3JCLGNBQXFDO1FBTDlELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNaLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBUmhFLHdCQUFtQixHQUFvQyxJQUFJLENBQUM7SUFTakUsQ0FBQzs7Ozs7Ozs7O0lBRUosdURBQTZCOzs7Ozs7OztJQUE3QixVQUNFLE9BQWdDLEVBQ2hDLFNBQXNCLEVBQ3RCLFlBQWdDLEVBQ2hDLGdCQUE2QyxFQUM3QyxRQUF1QjtRQUx6QixpQkFnQkM7UUFUQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxPQUFPO1NBQ1I7O1lBRUssYUFBYSxHQUFHLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUV0RixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxNQUFNO1lBQ3RELEtBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEYsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7Ozs7O0lBRU8sdUNBQWE7Ozs7Ozs7OztJQUFyQixVQUNFLE1BQW9CLEVBQ3BCLE9BQTBELEVBQzFELFlBQWdDLEVBQ2hDLGdCQUE2QyxFQUM3QyxRQUF1QjtRQUV2QixxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7WUFDcEUsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7UUFBQyxjQUFNLE9BQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBN0IsQ0FBNkIsRUFBQztRQUN4RixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRSwyRUFBMkU7UUFDM0UsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFFTywwREFBZ0M7Ozs7SUFBeEM7UUFDRSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDakM7O1lBRUssY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBRTVDLElBQUksY0FBYyxZQUFZLE9BQU8sRUFBRTtZQUNyQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDbEQsR0FBRzs7OztZQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLEVBQXhCLENBQXdCLEVBQUMsRUFDdkMsVUFBVTs7OztZQUFDLFVBQUEsS0FBSztnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLGdUQU9iLENBQUMsQ0FBQztnQkFDSCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQzs7Z0JBMUVGLFVBQVU7Ozs7Z0JBekJVLE1BQU07NkNBK0J0QixNQUFNLFNBQUMsV0FBVztnQkFDaUIsUUFBUSx1QkFBM0MsTUFBTSxTQUFDLFFBQVE7OENBQ2YsTUFBTSxTQUFDLFNBQVM7Z0RBQ2hCLE1BQU0sU0FBQyxjQUFjO2dEQUNyQixNQUFNLFNBQUMsZUFBZTs7SUFpRTNCLHNCQUFDO0NBQUEsQUEzRUQsSUEyRUM7U0ExRVksZUFBZTs7Ozs7O0lBQzFCLDhDQUFvRTs7Ozs7SUFHbEUsaUNBQXNCOzs7OztJQUN0QixxQ0FBK0M7Ozs7O0lBQy9DLG1DQUE0Qzs7Ozs7SUFDNUMsbUNBQTRDOzs7OztJQUM1QyxrQ0FBc0Q7Ozs7O0lBQ3RELHlDQUFzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IGZyb20sIG9mLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBMb3R0aWVQbGF5ZXIsXG4gIExvdHRpZU9wdGlvbnMsXG4gIEFuaW1hdGlvbkl0ZW0sXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgSVNfU0FGQVJJLFxuICBMT1RUSUVfT1BUSU9OUyxcbiAgQU5JTUFUSU9OX0NBQ0hFXG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcbmltcG9ydCB7IExvdHRpZUV2ZW50c0ZhY2FkZSB9IGZyb20gJy4vZXZlbnRzLWZhY2FkZSc7XG5pbXBvcnQgeyBzZXRQbGF5ZXJMb2NhdGlvbkhyZWYsIG1lcmdlT3B0aW9uc1dpdGhEZWZhdWx0LCBhd2FpdENvbmZpZ0FuZENhY2hlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIFRoaXMgaGFzIHRvIGJlIGR5bmFtaWMgYXMgYERvY3VtZW50YCBpbnRlcmZhY2UgaXMgbm90XG4vLyBhY2NlcHRlZCBieSB0aGUgbmdjIGNvbXBpbGVyXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkxvYWRlciB7XG4gIHByaXZhdGUgY2FjaGVkTG90dGllUGxheWVyJDogT2JzZXJ2YWJsZTxMb3R0aWVQbGF5ZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KElTX1NBRkFSSSkgcHJpdmF0ZSBpc1NhZmFyaTogYm9vbGVhbixcbiAgICBASW5qZWN0KExPVFRJRV9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IExvdHRpZU9wdGlvbnMsXG4gICAgQEluamVjdChBTklNQVRJT05fQ0FDSEUpIHByaXZhdGUgYW5pbWF0aW9uQ2FjaGU6IEFuaW1hdGlvbkNhY2hlIHwgbnVsbFxuICApIHt9XG5cbiAgcmVzb2x2ZUxvYWRlckFuZExvYWRBbmltYXRpb24oXG4gICAgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyB8IG51bGwsXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSBtZXJnZU9wdGlvbnNXaXRoRGVmYXVsdChvcHRpb25zLCBjb250YWluZXIsIHRoaXMuYW5pbWF0aW9uQ2FjaGUpO1xuXG4gICAgdGhpcy53cmFwUGxheWVyT3JMb2FkZXJJbnRvT2JzZXJ2YWJsZSgpLnN1YnNjcmliZShwbGF5ZXIgPT4ge1xuICAgICAgdGhpcy5sb2FkQW5pbWF0aW9uKHBsYXllciwgbWVyZ2VkT3B0aW9ucywgZXZlbnRzRmFjYWRlLCBhbmltYXRpb25DcmVhdGVkLCBpbnN0YW5jZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRBbmltYXRpb24oXG4gICAgcGxheWVyOiBMb3R0aWVQbGF5ZXIsXG4gICAgb3B0aW9uczogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgICBldmVudHNGYWNhZGU6IExvdHRpZUV2ZW50c0ZhY2FkZSxcbiAgICBhbmltYXRpb25DcmVhdGVkOiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uSXRlbT4sXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmVcbiAgKTogdm9pZCB7XG4gICAgc2V0UGxheWVyTG9jYXRpb25IcmVmKHBsYXllciwgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmLCB0aGlzLmlzU2FmYXJpKTtcbiAgICBjb25zdCBhbmltYXRpb25JdGVtID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gcGxheWVyLmxvYWRBbmltYXRpb24ob3B0aW9ucykpO1xuICAgIGF3YWl0Q29uZmlnQW5kQ2FjaGUodGhpcy5hbmltYXRpb25DYWNoZSwgb3B0aW9ucywgYW5pbWF0aW9uSXRlbSk7XG4gICAgLy8gRGlzcGF0Y2ggYGFuaW1hdGlvbkNyZWF0ZWRgIGV2ZW50IGFmdGVyIGFuaW1hdGlvbiBpcyBsb2FkZWQgc3VjY2Vzc2Z1bGx5XG4gICAgYW5pbWF0aW9uQ3JlYXRlZC5lbWl0KGFuaW1hdGlvbkl0ZW0pO1xuICAgIGV2ZW50c0ZhY2FkZS5hZGRFdmVudExpc3RlbmVycyhpbnN0YW5jZSwgYW5pbWF0aW9uSXRlbSk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBQbGF5ZXJPckxvYWRlckludG9PYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8TG90dGllUGxheWVyPiB7XG4gICAgaWYgKHRoaXMuY2FjaGVkTG90dGllUGxheWVyJCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJDtcbiAgICB9XG5cbiAgICBjb25zdCBwbGF5ZXJPckxvYWRlciA9IHRoaXMub3B0aW9ucy5wbGF5ZXIoKTtcblxuICAgIGlmIChwbGF5ZXJPckxvYWRlciBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHRoaXMuY2FjaGVkTG90dGllUGxheWVyJCA9IGZyb20ocGxheWVyT3JMb2FkZXIpLnBpcGUoXG4gICAgICAgIG1hcChtb2R1bGUgPT4gbW9kdWxlLmRlZmF1bHQgfHwgbW9kdWxlKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgXG4gICAgICAgICAgICBDb3VsZCBub3QgcmV0cmlldmUgdGhlIFwibG90dGllLXdlYlwiIHBsYXllciwgZGlkIHlvdSBwcm92aWRlXG4gICAgICAgICAgICB0aGUgXCJwbGF5ZXJcIiBwcm9wZXJ0eSBjb3JyZWN0bHk/XG4gICAgICAgICAgICBleHBvcnQgZnVuY3Rpb24gcGxheWVyRmFjdG9yeSgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnbG90dGllLXdlYicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTG90dGllTW9kdWxlLmZvclJvb3QoeyBwbGF5ZXI6IHBsYXllckZhY3RvcnkgfSlcbiAgICAgICAgICBgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWNoZWRMb3R0aWVQbGF5ZXIkID0gb2YocGxheWVyT3JMb2FkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlZExvdHRpZVBsYXllciQ7XG4gIH1cbn1cbiJdfQ== |
@@ -8,2 +8,3 @@ /** | ||
import { isPlatformServer } from '@angular/common'; | ||
import { retrieveEventEmitter } from './utils'; | ||
var LottieEventsFacade = /** @class */ (function () { | ||
@@ -33,7 +34,2 @@ function LottieEventsFacade(ngZone, platformId) { | ||
this.eventNames = (/** @type {?} */ (Object.keys(this.eventsMap))); | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
this.listeners = new Map(); | ||
this.animationItem = null; | ||
@@ -66,9 +62,3 @@ } | ||
var name_1 = _c.value; | ||
/** @type {?} */ | ||
var listenerFn = this.addEventListener(instance, name_1); | ||
// We don't have to save `destroy` listener, because `AnimationItem` | ||
// is able to remove `destroy` event listener itself | ||
if (name_1 !== 'destroy') { | ||
this.listeners.set(name_1, listenerFn); | ||
} | ||
this.addEventListener(instance, name_1); | ||
} | ||
@@ -93,25 +83,8 @@ } | ||
function () { | ||
var e_2, _a; | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
try { | ||
for (var _b = tslib_1.__values(this.listeners.entries()), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var _d = tslib_1.__read(_c.value, 2), name_2 = _d[0], listenerFn = _d[1]; | ||
(/** @type {?} */ (this.animationItem)).removeEventListener(name_2, listenerFn); | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
// We cannot call `destroy` before removing event listeners | ||
// as after calling `destroy` - `removeEventListener` becomes unavailable | ||
// `destroy()` will remove all events listeners | ||
(/** @type {?} */ (this.animationItem)).destroy(); | ||
this.animationItem = null; | ||
// Release listeners as we don't need them | ||
this.listeners.clear(); | ||
}; | ||
@@ -133,3 +106,12 @@ /** | ||
/** @type {?} */ | ||
var listenerFn = this.handleEventClosure(instance, name); | ||
var camelizedName = this.eventsMap[name]; | ||
/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function listenerFn(event) { | ||
/** @type {?} */ | ||
var emitter = retrieveEventEmitter(instance, camelizedName); | ||
emitter.emit(event); | ||
} | ||
// `AnimationItem` triggers different events every ms, we have to listen | ||
@@ -145,58 +127,2 @@ // them outside Angular's context, thus it won't affect performance | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.handleEventClosure = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
var _this = this; | ||
return (/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
/** @type {?} */ | ||
var emitter = _this.retrieveEventEmitter(instance, name); | ||
emitter.emit(event); | ||
}); | ||
}; | ||
/** | ||
* @param name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @returns - Resolved event name in the `camelCase` | ||
*/ | ||
/** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
LottieEventsFacade.prototype.camelizeNativeEventName = /** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
function (name) { | ||
return this.eventsMap[name]; | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.retrieveEventEmitter = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
return (/** @type {?} */ (instance[this.camelizeNativeEventName(name)])); | ||
}; | ||
LottieEventsFacade.decorators = [ | ||
@@ -229,12 +155,5 @@ { type: Injectable } | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.listeners; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.animationItem; | ||
@@ -252,2 +171,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvZXZlbnRzLWZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBMkIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBVW5EO0lBZ0NFLDRCQUFvQixNQUFjLEVBQStCLFVBQWtCO1FBQS9ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBUTs7Ozs7UUExQjNFLGNBQVMsR0FBaUU7WUFDaEYsUUFBUSxFQUFFLFVBQVU7WUFDcEIsWUFBWSxFQUFFLGNBQWM7WUFDNUIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsWUFBWSxFQUFFLGNBQWM7WUFDNUIsWUFBWSxFQUFFLGFBQWE7WUFDM0IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDOzs7OztRQU1NLGVBQVUsR0FBRyxtQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBaUMsQ0FBQzs7Ozs7UUFNMUUsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFvRCxDQUFDO1FBRXhFLGtCQUFhLEdBQXlCLElBQUksQ0FBQztJQUVtQyxDQUFDOzs7O0lBRXZGLHdDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7Ozs7SUFFRCw4Q0FBaUI7Ozs7O0lBQWpCLFVBQWtCLFFBQXVCLEVBQUUsYUFBNEI7O1FBQ3JFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOztZQUVuQyxLQUFtQixJQUFBLEtBQUEsaUJBQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQSxnQkFBQSw0QkFBRTtnQkFBL0IsSUFBTSxNQUFJLFdBQUE7O29CQUNQLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQUksQ0FBQztnQkFDeEQsb0VBQW9FO2dCQUNwRSxvREFBb0Q7Z0JBQ3BELElBQUksTUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2lCQUN0QzthQUNGOzs7Ozs7Ozs7SUFDSCxDQUFDOzs7OztJQUVPLG9DQUFPOzs7O0lBQWY7O1FBQ0UsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsT0FBTztTQUNSOztZQUVELEtBQWlDLElBQUEsS0FBQSxpQkFBQSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFBLGdCQUFBLDRCQUFFO2dCQUFoRCxJQUFBLGdDQUFrQixFQUFqQixjQUFJLEVBQUUsa0JBQVU7Z0JBQzFCLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDM0Q7Ozs7Ozs7OztRQUVELDJEQUEyRDtRQUMzRCx5RUFBeUU7UUFDekUsbUJBQUEsSUFBSSxDQUFDLGFBQWEsRUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7Ozs7Ozs7SUFFTyw2Q0FBZ0I7Ozs7OztJQUF4QixVQUNFLFFBQXVCLEVBQ3ZCLElBQXdCO1FBRjFCLGlCQVlDOztZQVJPLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztRQUMxRCx3RUFBd0U7UUFDeEUsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7UUFBQztZQUM1QixtQkFBQSxLQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Ozs7OztJQUVPLCtDQUFrQjs7Ozs7O0lBQTFCLFVBQTJCLFFBQXVCLEVBQUUsSUFBd0I7UUFBNUUsaUJBS0M7UUFKQzs7OztRQUFPLFVBQUMsS0FBa0I7O2dCQUNsQixPQUFPLEdBQUcsS0FBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDLEVBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7SUFDSyxvREFBdUI7Ozs7O0lBQS9CLFVBQWdDLElBQXdCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7Ozs7O0lBRU8saURBQW9COzs7Ozs7SUFBNUIsVUFDRSxRQUF1QixFQUN2QixJQUF3QjtRQUV4QixPQUFPLG1CQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBNkIsQ0FBQztJQUNuRixDQUFDOztnQkF0R0YsVUFBVTs7OztnQkFYbUMsTUFBTTs2Q0EyQ2IsTUFBTSxTQUFDLFdBQVc7O0lBdUV6RCx5QkFBQztDQUFBLEFBdkdELElBdUdDO1NBdEdZLGtCQUFrQjs7Ozs7Ozs7SUFLN0IsdUNBVUU7Ozs7Ozs7SUFNRix3Q0FBa0Y7Ozs7Ozs7SUFNbEYsdUNBQWdGOzs7OztJQUVoRiwyQ0FBbUQ7Ozs7O0lBRXZDLG9DQUFzQjs7Ozs7SUFBRSx3Q0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lLFxuICBMb3R0aWVFdmVudCxcbiAgQW5pbWF0aW9uRXZlbnROYW1lLFxuICBBbmltYXRpb25JdGVtXG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb3R0aWVFdmVudHNGYWNhZGUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogU29tZSBkaXNwYXRjaGVkIGV2ZW50cyBhcmUgaW4gdGhlIGBzbmFrZV9jYXNlYCByZWdpc3RyeSwgZm9yIGNvbnZlbmllbmNlLFxuICAgKiB3ZSBjcmVhdGUgdGhpcyBvYmplY3QgdGhhdCB3aWxsIG1hcCBldmVudCBuYW1lIHRvIHRoZSBgY2FtZWxDYXNlYCByZWdpc3RyeVxuICAgKi9cbiAgcHJpdmF0ZSBldmVudHNNYXA6IHsgW2tleSBpbiBBbmltYXRpb25FdmVudE5hbWVdOiBDYW1lbGl6ZWRBbmltYXRpb25FdmVudE5hbWUgfSA9IHtcbiAgICBjb21wbGV0ZTogJ2NvbXBsZXRlJyxcbiAgICBsb29wQ29tcGxldGU6ICdsb29wQ29tcGxldGUnLFxuICAgIGVudGVyRnJhbWU6ICdlbnRlckZyYW1lJyxcbiAgICBzZWdtZW50U3RhcnQ6ICdzZWdtZW50U3RhcnQnLFxuICAgIGNvbmZpZ19yZWFkeTogJ2NvbmZpZ1JlYWR5JyxcbiAgICBkYXRhX3JlYWR5OiAnZGF0YVJlYWR5JyxcbiAgICBET01Mb2FkZWQ6ICdkb21Mb2FkZWQnLFxuICAgIGRlc3Ryb3k6ICdkZXN0cm95JyxcbiAgICBlcnJvcjogJ2Vycm9yJ1xuICB9O1xuXG4gIC8qKlxuICAgKiBFdmVudHMgdGhhdCBjYW4gYmUgZGlzcGF0Y2hlZCBieSBgQW5pbWF0aW9uaXRlbWBcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYWlyYm5iL2xvdHRpZS13ZWIjZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIGV2ZW50TmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLmV2ZW50c01hcCkgYXMgcmVhZG9ubHkgQW5pbWF0aW9uRXZlbnROYW1lW107XG5cbiAgLyoqXG4gICAqIFNhdmUgbGlzdGVuZXJzIHNvIHdlJ3JlIGFibGUgdG8gcmVtb3ZlIHRoZW0gZnJvbSBgQW5pbWF0aW9uSXRlbWBcbiAgICogYnkgcmVmZXJlbmNlcyBpbiB0aGUgZnV0dXJlIHdoZW4gdGhpcyBzZXJ2aWNlIGlzIGRlc3Ryb3llZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBuZXcgTWFwPEFuaW1hdGlvbkV2ZW50TmFtZSwgKGV2ZW50OiBMb3R0aWVFdmVudCkgPT4gdm9pZD4oKTtcblxuICBwcml2YXRlIGFuaW1hdGlvbkl0ZW06IEFuaW1hdGlvbkl0ZW0gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZykge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXJzKGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlLCBhbmltYXRpb25JdGVtOiBBbmltYXRpb25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb25JdGVtID0gYW5pbWF0aW9uSXRlbTtcblxuICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmV2ZW50TmFtZXMpIHtcbiAgICAgIGNvbnN0IGxpc3RlbmVyRm4gPSB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoaW5zdGFuY2UsIG5hbWUpO1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byBzYXZlIGBkZXN0cm95YCBsaXN0ZW5lciwgYmVjYXVzZSBgQW5pbWF0aW9uSXRlbWBcbiAgICAgIC8vIGlzIGFibGUgdG8gcmVtb3ZlIGBkZXN0cm95YCBldmVudCBsaXN0ZW5lciBpdHNlbGZcbiAgICAgIGlmIChuYW1lICE9PSAnZGVzdHJveScpIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KG5hbWUsIGxpc3RlbmVyRm4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbbmFtZSwgbGlzdGVuZXJGbl0gb2YgdGhpcy5saXN0ZW5lcnMuZW50cmllcygpKSB7XG4gICAgICB0aGlzLmFuaW1hdGlvbkl0ZW0hLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgbGlzdGVuZXJGbik7XG4gICAgfVxuXG4gICAgLy8gV2UgY2Fubm90IGNhbGwgYGRlc3Ryb3lgIGJlZm9yZSByZW1vdmluZyBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBhcyBhZnRlciBjYWxsaW5nIGBkZXN0cm95YCAtIGByZW1vdmVFdmVudExpc3RlbmVyYCBiZWNvbWVzIHVuYXZhaWxhYmxlXG4gICAgdGhpcy5hbmltYXRpb25JdGVtIS5kZXN0cm95KCk7XG4gICAgdGhpcy5hbmltYXRpb25JdGVtID0gbnVsbDtcbiAgICAvLyBSZWxlYXNlIGxpc3RlbmVycyBhcyB3ZSBkb24ndCBuZWVkIHRoZW1cbiAgICB0aGlzLmxpc3RlbmVycy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVyKFxuICAgIGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlLFxuICAgIG5hbWU6IEFuaW1hdGlvbkV2ZW50TmFtZVxuICApOiAoZXZlbnQ6IExvdHRpZUV2ZW50KSA9PiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ZW5lckZuID0gdGhpcy5oYW5kbGVFdmVudENsb3N1cmUoaW5zdGFuY2UsIG5hbWUpO1xuICAgIC8vIGBBbmltYXRpb25JdGVtYCB0cmlnZ2VycyBkaWZmZXJlbnQgZXZlbnRzIGV2ZXJ5IG1zLCB3ZSBoYXZlIHRvIGxpc3RlblxuICAgIC8vIHRoZW0gb3V0c2lkZSBBbmd1bGFyJ3MgY29udGV4dCwgdGh1cyBpdCB3b24ndCBhZmZlY3QgcGVyZm9ybWFuY2VcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbkl0ZW0hLmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgbGlzdGVuZXJGbik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGlzdGVuZXJGbjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXZlbnRDbG9zdXJlKGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlLCBuYW1lOiBBbmltYXRpb25FdmVudE5hbWUpIHtcbiAgICByZXR1cm4gKGV2ZW50OiBMb3R0aWVFdmVudCkgPT4ge1xuICAgICAgY29uc3QgZW1pdHRlciA9IHRoaXMucmV0cmlldmVFdmVudEVtaXR0ZXIoaW5zdGFuY2UsIG5hbWUpO1xuICAgICAgZW1pdHRlci5lbWl0KGV2ZW50KTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBuYW1lIC0gTmFtZSBvZiB0aGUgZXZlbnQgaW4gdGhlIGBzbmFrZV9jYXNlYCBkaXNwYXRjaGVkIGJ5IExvdHRpZVxuICAgKiBAcmV0dXJucyAtIFJlc29sdmVkIGV2ZW50IG5hbWUgaW4gdGhlIGBjYW1lbENhc2VgXG4gICAqL1xuICBwcml2YXRlIGNhbWVsaXplTmF0aXZlRXZlbnROYW1lKG5hbWU6IEFuaW1hdGlvbkV2ZW50TmFtZSk6IENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzTWFwW25hbWVdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXRyaWV2ZUV2ZW50RW1pdHRlcihcbiAgICBpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSxcbiAgICBuYW1lOiBBbmltYXRpb25FdmVudE5hbWVcbiAgKTogRXZlbnRFbWl0dGVyPExvdHRpZUV2ZW50PiB7XG4gICAgcmV0dXJuIGluc3RhbmNlW3RoaXMuY2FtZWxpemVOYXRpdmVFdmVudE5hbWUobmFtZSldIGFzIEV2ZW50RW1pdHRlcjxMb3R0aWVFdmVudD47XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvZXZlbnRzLWZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRy9DO0lBMEJFLDRCQUFvQixNQUFjLEVBQStCLFVBQWtCO1FBQS9ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBUTs7Ozs7UUFwQjNFLGNBQVMsR0FBaUU7WUFDaEYsUUFBUSxFQUFFLFVBQVU7WUFDcEIsWUFBWSxFQUFFLGNBQWM7WUFDNUIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsWUFBWSxFQUFFLGNBQWM7WUFDNUIsWUFBWSxFQUFFLGFBQWE7WUFDM0IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDOzs7OztRQU1NLGVBQVUsR0FBRyxtQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBaUMsQ0FBQztRQUUxRSxrQkFBYSxHQUF5QixJQUFJLENBQUM7SUFFbUMsQ0FBQzs7OztJQUV2Rix3Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Ozs7O0lBRUQsOENBQWlCOzs7OztJQUFqQixVQUFrQixRQUF1QixFQUFFLGFBQTRCOztRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQzs7WUFFbkMsS0FBbUIsSUFBQSxLQUFBLGlCQUFBLElBQUksQ0FBQyxVQUFVLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQS9CLElBQU0sTUFBSSxXQUFBO2dCQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBSSxDQUFDLENBQUM7YUFDdkM7Ozs7Ozs7OztJQUNILENBQUM7Ozs7O0lBRU8sb0NBQU87Ozs7SUFBZjtRQUNFLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELCtDQUErQztRQUMvQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQzs7Ozs7OztJQUVPLDZDQUFnQjs7Ozs7O0lBQXhCLFVBQ0UsUUFBdUIsRUFDdkIsSUFBd0I7UUFGMUIsaUJBa0JDOztZQWRPLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQzs7Ozs7UUFFMUMsU0FBUyxVQUFVLENBQUMsS0FBa0I7O2dCQUM5QixPQUFPLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCx3RUFBd0U7UUFDeEUsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7UUFBQztZQUM1QixtQkFBQSxLQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Z0JBcEVGLFVBQVU7Ozs7Z0JBWnFCLE1BQU07NkNBc0NDLE1BQU0sU0FBQyxXQUFXOztJQTJDekQseUJBQUM7Q0FBQSxBQXJFRCxJQXFFQztTQXBFWSxrQkFBa0I7Ozs7Ozs7O0lBSzdCLHVDQVVFOzs7Ozs7O0lBTUYsd0NBQWtGOzs7OztJQUVsRiwyQ0FBbUQ7Ozs7O0lBRXZDLG9DQUFzQjs7Ozs7SUFBRSx3Q0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIEluamVjdGFibGUsIE5nWm9uZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIExvdHRpZUV2ZW50LFxuICBBbmltYXRpb25JdGVtLFxuICBBbmltYXRpb25FdmVudE5hbWUsXG4gIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZVxufSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgcmV0cmlldmVFdmVudEVtaXR0ZXIgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Jhc2UuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvdHRpZUV2ZW50c0ZhY2FkZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBTb21lIGRpc3BhdGNoZWQgZXZlbnRzIGFyZSBpbiB0aGUgYHNuYWtlX2Nhc2VgIHJlZ2lzdHJ5LCBmb3IgY29udmVuaWVuY2UsXG4gICAqIHdlIGNyZWF0ZSB0aGlzIG9iamVjdCB0aGF0IHdpbGwgbWFwIGV2ZW50IG5hbWUgdG8gdGhlIGBjYW1lbENhc2VgIHJlZ2lzdHJ5XG4gICAqL1xuICBwcml2YXRlIGV2ZW50c01hcDogeyBba2V5IGluIEFuaW1hdGlvbkV2ZW50TmFtZV06IENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSB9ID0ge1xuICAgIGNvbXBsZXRlOiAnY29tcGxldGUnLFxuICAgIGxvb3BDb21wbGV0ZTogJ2xvb3BDb21wbGV0ZScsXG4gICAgZW50ZXJGcmFtZTogJ2VudGVyRnJhbWUnLFxuICAgIHNlZ21lbnRTdGFydDogJ3NlZ21lbnRTdGFydCcsXG4gICAgY29uZmlnX3JlYWR5OiAnY29uZmlnUmVhZHknLFxuICAgIGRhdGFfcmVhZHk6ICdkYXRhUmVhZHknLFxuICAgIERPTUxvYWRlZDogJ2RvbUxvYWRlZCcsXG4gICAgZGVzdHJveTogJ2Rlc3Ryb3knLFxuICAgIGVycm9yOiAnZXJyb3InXG4gIH07XG5cbiAgLyoqXG4gICAqIEV2ZW50cyB0aGF0IGNhbiBiZSBkaXNwYXRjaGVkIGJ5IGBBbmltYXRpb25pdGVtYFxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9haXJibmIvbG90dGllLXdlYiNldmVudHNcbiAgICovXG4gIHByaXZhdGUgZXZlbnROYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuZXZlbnRzTWFwKSBhcyByZWFkb25seSBBbmltYXRpb25FdmVudE5hbWVbXTtcblxuICBwcml2YXRlIGFuaW1hdGlvbkl0ZW06IEFuaW1hdGlvbkl0ZW0gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZykge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXJzKGluc3RhbmNlOiBCYXNlRGlyZWN0aXZlLCBhbmltYXRpb25JdGVtOiBBbmltYXRpb25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb25JdGVtID0gYW5pbWF0aW9uSXRlbTtcblxuICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmV2ZW50TmFtZXMpIHtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihpbnN0YW5jZSwgbmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBgZGVzdHJveSgpYCB3aWxsIHJlbW92ZSBhbGwgZXZlbnRzIGxpc3RlbmVyc1xuICAgIHRoaXMuYW5pbWF0aW9uSXRlbSEuZGVzdHJveSgpO1xuICAgIHRoaXMuYW5pbWF0aW9uSXRlbSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgaW5zdGFuY2U6IEJhc2VEaXJlY3RpdmUsXG4gICAgbmFtZTogQW5pbWF0aW9uRXZlbnROYW1lXG4gICk6IChldmVudDogTG90dGllRXZlbnQpID0+IHZvaWQge1xuICAgIGNvbnN0IGNhbWVsaXplZE5hbWUgPSB0aGlzLmV2ZW50c01hcFtuYW1lXTtcblxuICAgIGZ1bmN0aW9uIGxpc3RlbmVyRm4oZXZlbnQ6IExvdHRpZUV2ZW50KSB7XG4gICAgICBjb25zdCBlbWl0dGVyID0gcmV0cmlldmVFdmVudEVtaXR0ZXIoaW5zdGFuY2UsIGNhbWVsaXplZE5hbWUpO1xuICAgICAgZW1pdHRlci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBgQW5pbWF0aW9uSXRlbWAgdHJpZ2dlcnMgZGlmZmVyZW50IGV2ZW50cyBldmVyeSBtcywgd2UgaGF2ZSB0byBsaXN0ZW5cbiAgICAvLyB0aGVtIG91dHNpZGUgQW5ndWxhcidzIGNvbnRleHQsIHRodXMgaXQgd29uJ3QgYWZmZWN0IHBlcmZvcm1hbmNlXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb25JdGVtIS5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyRm4pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpc3RlbmVyRm47XG4gIH1cbn1cbiJdfQ== |
@@ -7,23 +7,9 @@ /** | ||
import { CommonModule } from '@angular/common'; | ||
import { isSafariFactory } from './utils'; | ||
import { BaseDirective } from './base.directive'; | ||
import { AnimationCache } from './animation-cache'; | ||
import { AnimationLoader } from './animation-loader'; | ||
import { LottieDirective } from './lottie.directive'; | ||
import { LottieComponent } from './lottie.component'; | ||
import { LOTTIE_PLAYER_FACTORY_OR_LOADER, IS_SAFARI } from './symbols'; | ||
/** | ||
* @return {?} | ||
*/ | ||
export function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
import { LOTTIE_OPTIONS, IS_SAFARI, ANIMATION_CACHE } from './symbols'; | ||
var LottieModule = /** @class */ (function () { | ||
@@ -46,4 +32,4 @@ function LottieModule() { | ||
{ | ||
provide: LOTTIE_PLAYER_FACTORY_OR_LOADER, | ||
useValue: options.player | ||
provide: LOTTIE_OPTIONS, | ||
useValue: options | ||
}, | ||
@@ -53,2 +39,7 @@ { | ||
useFactory: isSafariFactory | ||
}, | ||
{ | ||
provide: ANIMATION_CACHE, | ||
useFactory: AnimationCache.create, | ||
deps: [LOTTIE_OPTIONS] | ||
} | ||
@@ -68,2 +59,2 @@ ] | ||
export { LottieModule }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvbG90dGllLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQStCLCtCQUErQixFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUVwRyxNQUFNLFVBQVUsZUFBZTtJQUM3QixnRUFBZ0U7SUFDaEUseUNBQXlDO0lBQ3pDLElBQUk7UUFDTSxJQUFBLHlCQUFNLEVBQUUsK0JBQVM7UUFDekIsT0FBTyxDQUNMLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xDLENBQUM7S0FDSDtJQUFDLFdBQU07UUFDTixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQUVEO0lBQUE7SUF3QkEsQ0FBQzs7Ozs7SUFsQlEsb0JBQU87Ozs7SUFBZCxVQUFlLE9BRWQ7UUFDQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNULGVBQWU7Z0JBQ2Y7b0JBQ0UsT0FBTyxFQUFFLCtCQUErQjtvQkFDeEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2lCQUN6QjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsU0FBUztvQkFDbEIsVUFBVSxFQUFFLGVBQWU7aUJBQzVCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBdkJGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO29CQUMvRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztpQkFDM0Q7O0lBb0JELG1CQUFDO0NBQUEsQUF4QkQsSUF3QkM7U0FuQlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25Mb2FkZXIgfSBmcm9tICcuL2FuaW1hdGlvbi1sb2FkZXInO1xuaW1wb3J0IHsgTG90dGllRGlyZWN0aXZlIH0gZnJvbSAnLi9sb3R0aWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IExvdHRpZUNvbXBvbmVudCB9IGZyb20gJy4vbG90dGllLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXIsIExPVFRJRV9QTEFZRVJfRkFDVE9SWV9PUl9MT0FERVIsIElTX1NBRkFSSSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhZmFyaUZhY3RvcnkoKTogYm9vbGVhbiB7XG4gIC8vIFRoaXMgYHRyeS1jYXRjaGAgYmxvY2sgd2lsbCBhbHNvIGhhbmRsZSBzZXJ2ZXItc2lkZSByZW5kZXJpbmdcbiAgLy8gYXMgYG5hdmlnYXRvcmAgaXMgbm90IGFjY2Vzc2FibGUgdGhlcmVcbiAgdHJ5IHtcbiAgICBjb25zdCB7IHZlbmRvciwgdXNlckFnZW50IH0gPSBuYXZpZ2F0b3I7XG4gICAgcmV0dXJuIChcbiAgICAgIHZlbmRvci5pbmRleE9mKCdBcHBsZScpID4gLTEgJiZcbiAgICAgIHVzZXJBZ2VudC5pbmRleE9mKCdDcmlPUycpID09PSAtMSAmJlxuICAgICAgdXNlckFnZW50LmluZGV4T2YoJ0Z4aU9TJykgPT09IC0xXG4gICAgKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTG90dGllTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczoge1xuICAgIHBsYXllcjogTG90dGllUGxheWVyRmFjdG9yeU9yTG9hZGVyO1xuICB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb3R0aWVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IExvdHRpZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBbmltYXRpb25Mb2FkZXIsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBMT1RUSUVfUExBWUVSX0ZBQ1RPUllfT1JfTE9BREVSLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLnBsYXllclxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSVNfU0FGQVJJLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGlzU2FmYXJpRmFjdG9yeVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvbG90dGllLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQWlCLGNBQWMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRGO0lBQUE7SUEyQkEsQ0FBQzs7Ozs7SUFyQlEsb0JBQU87Ozs7SUFBZCxVQUFlLE9BQXNCO1FBQ25DLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1QsZUFBZTtnQkFDZjtvQkFDRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxTQUFTO29CQUNsQixVQUFVLEVBQUUsZUFBZTtpQkFDNUI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxjQUFjLENBQUMsTUFBTTtvQkFDakMsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUN2QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dCQTFCRixRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7aUJBQzNEOztJQXVCRCxtQkFBQztDQUFBLEFBM0JELElBMkJDO1NBdEJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgaXNTYWZhcmlGYWN0b3J5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcbmltcG9ydCB7IEFuaW1hdGlvbkxvYWRlciB9IGZyb20gJy4vYW5pbWF0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBMb3R0aWVEaXJlY3RpdmUgfSBmcm9tICcuL2xvdHRpZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG90dGllQ29tcG9uZW50IH0gZnJvbSAnLi9sb3R0aWUuY29tcG9uZW50JztcbmltcG9ydCB7IExvdHRpZU9wdGlvbnMsIExPVFRJRV9PUFRJT05TLCBJU19TQUZBUkksIEFOSU1BVElPTl9DQUNIRSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtCYXNlRGlyZWN0aXZlLCBMb3R0aWVEaXJlY3RpdmUsIExvdHRpZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTG90dGllTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogTG90dGllT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TG90dGllTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBMb3R0aWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQW5pbWF0aW9uTG9hZGVyLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTE9UVElFX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IElTX1NBRkFSSSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBpc1NhZmFyaUZhY3RvcnlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFOSU1BVElPTl9DQUNIRSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBBbmltYXRpb25DYWNoZS5jcmVhdGUsXG4gICAgICAgICAgZGVwczogW0xPVFRJRV9PUFRJT05TXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19 |
@@ -88,6 +88,18 @@ /** | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function LottieOptions() { } | ||
if (false) { | ||
/** @type {?} */ | ||
LottieOptions.prototype.player; | ||
/** @type {?|undefined} */ | ||
LottieOptions.prototype.useCache; | ||
} | ||
/** @type {?} */ | ||
export var LOTTIE_PLAYER_FACTORY_OR_LOADER = new InjectionToken('LottiePlayerFactoryOrLoader'); | ||
export var IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** @type {?} */ | ||
export var IS_SAFARI = new InjectionToken('IsSafari'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyx1Q0FLQzs7O0lBSkMsd0NBQW9COztJQUNwQixxQ0FBaUI7O0lBQ2pCLHNDQUFrQjs7SUFDbEIsaUNBQW1COzs7OztBQUdyQix5Q0FLQzs7O0lBSkMsbUNBQXFCOztJQUNyQixtQ0FBYTs7SUFDYix3Q0FBa0I7O0lBQ2xCLHdDQUFrQjs7Ozs7QUFHcEIscUNBR0M7OztJQUZDLCtCQUFpQjs7SUFDakIsbUNBQWlCOzs7OztBQUduQix5Q0FJQzs7O0lBSEMsbUNBQXFCOztJQUNyQix5Q0FBbUI7O0lBQ25CLDBDQUFvQjs7Ozs7QUFHdEIsb0NBR0M7OztJQUZDLGdDQUFzQjs7SUFDdEIsOEJBQWdCOzs7OztBQUdsQiw2Q0FJQzs7O0lBSEMsdUNBQXlCOztJQUN6Qiw4Q0FBbUI7O0lBQ25CLDhDQUFvQjs7Ozs7QUFHdEIsd0NBR0M7OztJQUZDLGtDQUFvQjs7SUFDcEIseUNBQW1COzs7QUFtRHJCLE1BQU0sS0FBTywrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDL0QsNkJBQTZCLENBQzlCOztBQUVELE1BQU0sS0FBTyxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQVUsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCTUVudGVyRnJhbWVFdmVudCB7XG4gIGN1cnJlbnRUaW1lOiBudW1iZXI7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIHRvdGFsVGltZTogbnVtYmVyO1xuICB0eXBlOiAnZW50ZXJGcmFtZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1Db21wbGV0ZUxvb3BFdmVudCB7XG4gIHR5cGU6ICdsb29wQ29tcGxldGUnO1xuICBsb29wOiBudW1iZXI7XG4gIHBsYXlDb3VudDogbnVtYmVyO1xuICBmcmFtZU11bHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbXBsZXRlRXZlbnQge1xuICB0eXBlOiAnY29tcGxldGUnO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNU2VnbWVudFN0YXJ0RXZlbnQge1xuICB0eXBlOiAnc2VnbWVudFN0YXJ0JztcbiAgZmlyc3RGcmFtZTogbnVtYmVyO1xuICB0b3RhbEZyYW1lczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNRGVzdHJveUV2ZW50IHtcbiAgdGFyZ2V0OiBBbmltYXRpb25JdGVtO1xuICB0eXBlOiAnZGVzdHJveSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQge1xuICB0eXBlOiAncmVuZGVyRnJhbWVFcnJvcic7XG4gIG5hdGl2ZUVycm9yOiBFcnJvcjtcbiAgY3VycmVudFRpbWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbmZpZ0Vycm9yRXZlbnQge1xuICB0eXBlOiAnY29uZmlnRXJyb3InO1xuICBuYXRpdmVFcnJvcjogRXJyb3I7XG59XG5cbmV4cG9ydCB0eXBlIExvdHRpZUV2ZW50ID1cbiAgfCBCTUVudGVyRnJhbWVFdmVudFxuICB8IEJNQ29tcGxldGVMb29wRXZlbnRcbiAgfCBCTUNvbXBsZXRlRXZlbnRcbiAgfCBCTVNlZ21lbnRTdGFydEV2ZW50XG4gIHwgQk1EZXN0cm95RXZlbnRcbiAgfCBCTVJlbmRlckZyYW1lRXJyb3JFdmVudFxuICB8IEJNQ29uZmlnRXJyb3JFdmVudFxuICB8IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSA9XG4gIHwgJ2NvbXBsZXRlJ1xuICB8ICdsb29wQ29tcGxldGUnXG4gIHwgJ2VudGVyRnJhbWUnXG4gIHwgJ3NlZ21lbnRTdGFydCdcbiAgfCAnY29uZmlnUmVhZHknXG4gIHwgJ2RhdGFSZWFkeSdcbiAgfCAnZG9tTG9hZGVkJ1xuICB8ICdkZXN0cm95J1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkZpbGVuYW1lID0gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25FdmVudE5hbWUgPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25FdmVudE5hbWU7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkl0ZW0gPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25JdGVtO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25Db25maWdXaXRoRGF0YTtcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoID0gaW1wb3J0KCdsb3R0aWUtd2ViJykuQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGg7XG5cbmV4cG9ydCB0eXBlIExvdHRpZVBsYXllciA9IHR5cGVvZiBpbXBvcnQoJ2xvdHRpZS13ZWInKS5kZWZhdWx0O1xuXG4vKipcbiAqIFRoaXMgbG9va3MgYXMgZm9sbG93c1xuICogQGV4YW1wbGVcbiAqIGltcG9ydCBwbGF5ZXIgZnJvbSAnbG90dGllLXdlYic7XG4gKiBjb25zdCBmYWN0b3J5ID0gKCkgPT4gcGxheWVyO1xuICovXG5leHBvcnQgdHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5ID0gKCkgPT4gdHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpLmRlZmF1bHQ7XG5cbi8qKlxuICogVGhpcyBsb29rcyBhcyBmb2xsb3dzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IGltcG9ydCgnbG90dGllLXdlYicpO1xuICovXG5leHBvcnQgdHlwZSBMb3R0aWVMb2FkZXIgPSAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ2xvdHRpZS13ZWInKT47XG5cbmV4cG9ydCB0eXBlIExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlciA9IExvdHRpZVBsYXllckZhY3RvcnkgfCBMb3R0aWVMb2FkZXI7XG5cbmV4cG9ydCBjb25zdCBMT1RUSUVfUExBWUVSX0ZBQ1RPUllfT1JfTE9BREVSID0gbmV3IEluamVjdGlvblRva2VuPExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlcj4oXG4gICdMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXInXG4pO1xuXG5leHBvcnQgY29uc3QgSVNfU0FGQVJJID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdJc1NhZmFyaScpO1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25PcHRpb25zID0gUGFydGlhbDxBbmltYXRpb25Db25maWdXaXRoRGF0YT4gfCBQYXJ0aWFsPEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoPjtcbiJdfQ== | ||
export var LOTTIE_OPTIONS = new InjectionToken('LottieOptions'); | ||
/** @type {?} */ | ||
export var ANIMATION_CACHE = new InjectionToken('AnimationCache'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1sb3R0aWUvIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUkvQyx1Q0FLQzs7O0lBSkMsd0NBQW9COztJQUNwQixxQ0FBaUI7O0lBQ2pCLHNDQUFrQjs7SUFDbEIsaUNBQW1COzs7OztBQUdyQix5Q0FLQzs7O0lBSkMsbUNBQXFCOztJQUNyQixtQ0FBYTs7SUFDYix3Q0FBa0I7O0lBQ2xCLHdDQUFrQjs7Ozs7QUFHcEIscUNBR0M7OztJQUZDLCtCQUFpQjs7SUFDakIsbUNBQWlCOzs7OztBQUduQix5Q0FJQzs7O0lBSEMsbUNBQXFCOztJQUNyQix5Q0FBbUI7O0lBQ25CLDBDQUFvQjs7Ozs7QUFHdEIsb0NBR0M7OztJQUZDLGdDQUFzQjs7SUFDdEIsOEJBQWdCOzs7OztBQUdsQiw2Q0FJQzs7O0lBSEMsdUNBQXlCOztJQUN6Qiw4Q0FBbUI7O0lBQ25CLDhDQUFvQjs7Ozs7QUFHdEIsd0NBR0M7OztJQUZDLGtDQUFvQjs7SUFDcEIseUNBQW1COzs7OztBQThDckIsbUNBR0M7OztJQUZDLCtCQUFvQzs7SUFDcEMsaUNBQW1COzs7QUFPckIsTUFBTSxLQUFPLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUM7O0FBQ2hFLE1BQU0sS0FBTyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQzs7QUFDaEYsTUFBTSxLQUFPLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmltYXRpb25DYWNoZSB9IGZyb20gJy4vYW5pbWF0aW9uLWNhY2hlJztcblxuZXhwb3J0IGludGVyZmFjZSBCTUVudGVyRnJhbWVFdmVudCB7XG4gIGN1cnJlbnRUaW1lOiBudW1iZXI7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIHRvdGFsVGltZTogbnVtYmVyO1xuICB0eXBlOiAnZW50ZXJGcmFtZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1Db21wbGV0ZUxvb3BFdmVudCB7XG4gIHR5cGU6ICdsb29wQ29tcGxldGUnO1xuICBsb29wOiBudW1iZXI7XG4gIHBsYXlDb3VudDogbnVtYmVyO1xuICBmcmFtZU11bHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbXBsZXRlRXZlbnQge1xuICB0eXBlOiAnY29tcGxldGUnO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNU2VnbWVudFN0YXJ0RXZlbnQge1xuICB0eXBlOiAnc2VnbWVudFN0YXJ0JztcbiAgZmlyc3RGcmFtZTogbnVtYmVyO1xuICB0b3RhbEZyYW1lczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNRGVzdHJveUV2ZW50IHtcbiAgdGFyZ2V0OiBBbmltYXRpb25JdGVtO1xuICB0eXBlOiAnZGVzdHJveSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQge1xuICB0eXBlOiAncmVuZGVyRnJhbWVFcnJvcic7XG4gIG5hdGl2ZUVycm9yOiBFcnJvcjtcbiAgY3VycmVudFRpbWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTUNvbmZpZ0Vycm9yRXZlbnQge1xuICB0eXBlOiAnY29uZmlnRXJyb3InO1xuICBuYXRpdmVFcnJvcjogRXJyb3I7XG59XG5cbmV4cG9ydCB0eXBlIExvdHRpZUV2ZW50ID1cbiAgfCBCTUVudGVyRnJhbWVFdmVudFxuICB8IEJNQ29tcGxldGVMb29wRXZlbnRcbiAgfCBCTUNvbXBsZXRlRXZlbnRcbiAgfCBCTVNlZ21lbnRTdGFydEV2ZW50XG4gIHwgQk1EZXN0cm95RXZlbnRcbiAgfCBCTVJlbmRlckZyYW1lRXJyb3JFdmVudFxuICB8IEJNQ29uZmlnRXJyb3JFdmVudFxuICB8IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZSA9XG4gIHwgJ2NvbXBsZXRlJ1xuICB8ICdsb29wQ29tcGxldGUnXG4gIHwgJ2VudGVyRnJhbWUnXG4gIHwgJ3NlZ21lbnRTdGFydCdcbiAgfCAnY29uZmlnUmVhZHknXG4gIHwgJ2RhdGFSZWFkeSdcbiAgfCAnZG9tTG9hZGVkJ1xuICB8ICdkZXN0cm95J1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkZpbGVuYW1lID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uRXZlbnROYW1lID0gaW1wb3J0KCdsb3R0aWUtd2ViJykuQW5pbWF0aW9uRXZlbnROYW1lO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uSXRlbSA9IGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkl0ZW07XG5leHBvcnQgdHlwZSBMb3R0aWVQbGF5ZXIgPSB0eXBlb2YgaW1wb3J0KCdsb3R0aWUtd2ViJykuZGVmYXVsdDtcblxuLyoqXG4gKiBUaGlzIGxvb2tzIGFzIGZvbGxvd3NcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgcGxheWVyIGZyb20gJ2xvdHRpZS13ZWInO1xuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IHBsYXllcjtcbiAqL1xudHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5ID0gKCkgPT4gdHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpLmRlZmF1bHQ7XG5cbi8qKlxuICogVGhpcyBsb29rcyBhcyBmb2xsb3dzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZmFjdG9yeSA9ICgpID0+IGltcG9ydCgnbG90dGllLXdlYicpO1xuICovXG50eXBlIExvdHRpZUxvYWRlciA9ICgpID0+IFByb21pc2U8dHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpPjtcblxudHlwZSBMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXIgPSBMb3R0aWVQbGF5ZXJGYWN0b3J5IHwgTG90dGllTG9hZGVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvdHRpZU9wdGlvbnMge1xuICBwbGF5ZXI6IExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlcjtcbiAgdXNlQ2FjaGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25Db25maWdXaXRoRGF0YSA9IGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhO1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGggPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25Db25maWdXaXRoUGF0aDtcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbk9wdGlvbnMgPSBQYXJ0aWFsPEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhPiB8IFBhcnRpYWw8QW5pbWF0aW9uQ29uZmlnV2l0aFBhdGg+O1xuXG5leHBvcnQgY29uc3QgSVNfU0FGQVJJID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdJc1NhZmFyaScpO1xuZXhwb3J0IGNvbnN0IExPVFRJRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPExvdHRpZU9wdGlvbnM+KCdMb3R0aWVPcHRpb25zJyk7XG5leHBvcnQgY29uc3QgQU5JTUFUSU9OX0NBQ0hFID0gbmV3IEluamVjdGlvblRva2VuPEFuaW1hdGlvbkNhY2hlIHwgbnVsbD4oJ0FuaW1hdGlvbkNhY2hlJyk7XG4iXX0= |
@@ -11,4 +11,4 @@ /** | ||
var LottieTransferState = /** @class */ (function () { | ||
function LottieTransferState(state) { | ||
this.state = state; | ||
function LottieTransferState(transferState) { | ||
this.transferState = transferState; | ||
} | ||
@@ -29,4 +29,4 @@ /** | ||
/** @type {?} */ | ||
var key = makeStateKey(animationKey); | ||
return this.state.get(key, null); | ||
var stateKey = makeStateKey(animationKey); | ||
return this.transferState.get(stateKey, null); | ||
}; | ||
@@ -49,4 +49,4 @@ LottieTransferState.decorators = [ | ||
*/ | ||
LottieTransferState.prototype.state; | ||
LottieTransferState.prototype.transferState; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3RyYW5zZmVyLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFFMUQ7SUFFRSw2QkFBb0IsS0FBb0I7UUFBcEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUFHLENBQUM7Ozs7OztJQUU1QyxpQ0FBRzs7Ozs7SUFBSCxVQUFPLFNBQTRCOztZQUMzQixZQUFZLEdBQUcsK0JBQStCLENBQUMsU0FBUyxDQUFDOztZQUN6RCxHQUFHLEdBQUcsWUFBWSxDQUFJLFlBQVksQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOztnQkFSRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dCQUx6QixhQUFhOzs7OEJBRHRCO0NBZUMsQUFURCxJQVNDO1NBUlksbUJBQW1COzs7Ozs7SUFDbEIsb0NBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJTdGF0ZSwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEFuaW1hdGlvbkZpbGVuYW1lIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFuaW1hdGlvbkZpbGVuYW1lVG9LZXkgfSBmcm9tICcuL3V0aWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb3R0aWVUcmFuc2ZlclN0YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdGF0ZTogVHJhbnNmZXJTdGF0ZSkge31cblxuICBnZXQ8VD4oYW5pbWF0aW9uOiBBbmltYXRpb25GaWxlbmFtZSk6IFQgfCBudWxsIHtcbiAgICBjb25zdCBhbmltYXRpb25LZXkgPSB0cmFuc2Zvcm1BbmltYXRpb25GaWxlbmFtZVRvS2V5KGFuaW1hdGlvbik7XG4gICAgY29uc3Qga2V5ID0gbWFrZVN0YXRlS2V5PFQ+KGFuaW1hdGlvbktleSk7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0KGtleSwgbnVsbCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3RyYW5zZmVyLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFFMUQ7SUFFRSw2QkFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDOzs7Ozs7SUFFcEQsaUNBQUc7Ozs7O0lBQUgsVUFBTyxTQUE0Qjs7WUFDM0IsWUFBWSxHQUFHLCtCQUErQixDQUFDLFNBQVMsQ0FBQzs7WUFDekQsUUFBUSxHQUFHLFlBQVksQ0FBSSxZQUFZLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Z0JBUkYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztnQkFMekIsYUFBYTs7OzhCQUR0QjtDQWVDLEFBVEQsSUFTQztTQVJZLG1CQUFtQjs7Ozs7O0lBQ2xCLDRDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zZmVyU3RhdGUsIG1ha2VTdGF0ZUtleSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBbmltYXRpb25GaWxlbmFtZSB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BbmltYXRpb25GaWxlbmFtZVRvS2V5IH0gZnJvbSAnLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTG90dGllVHJhbnNmZXJTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSkge31cblxuICBnZXQ8VD4oYW5pbWF0aW9uOiBBbmltYXRpb25GaWxlbmFtZSk6IFQgfCBudWxsIHtcbiAgICBjb25zdCBhbmltYXRpb25LZXkgPSB0cmFuc2Zvcm1BbmltYXRpb25GaWxlbmFtZVRvS2V5KGFuaW1hdGlvbik7XG4gICAgY29uc3Qgc3RhdGVLZXkgPSBtYWtlU3RhdGVLZXk8VD4oYW5pbWF0aW9uS2V5KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2ZlclN0YXRlLmdldChzdGF0ZUtleSwgbnVsbCk7XG4gIH1cbn1cbiJdfQ== |
@@ -28,7 +28,8 @@ /** | ||
* @param {?} container | ||
* @param {?} animationCache | ||
* @return {?} | ||
*/ | ||
export function resolveOptions(options, container) { | ||
export function mergeOptionsWithDefault(options, container, animationCache) { | ||
/** @type {?} */ | ||
var defaultOptions = { | ||
var merged = Object.assign({ | ||
container: container, | ||
@@ -38,5 +39,58 @@ renderer: 'svg', | ||
autoplay: true | ||
}; | ||
return Object.assign(defaultOptions, options); | ||
}, options); | ||
if (animationCache !== null) { | ||
return animationCache.transformOptions(merged); | ||
} | ||
return merged; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsTUFBTSxVQUFVLCtCQUErQixDQUFDLFNBQTRCO0lBQzFFLE9BQU8sZUFBYSxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBRyxDQUFDO0FBQ3BELENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBb0IsRUFBRSxJQUFZLEVBQUUsUUFBaUI7SUFDekYsMkNBQTJDO0lBQzNDLG1EQUFtRDtJQUNuRCxJQUFJLFFBQVEsRUFBRTtRQUNaLENBQUMsbUJBQUEsQ0FBQyxtQkFBQSxNQUFNLEVBQVcsQ0FBQyxFQUErQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzVGO0FBQ0gsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsT0FBZ0MsRUFDaEMsU0FBc0I7O1FBRWhCLGNBQWMsR0FBRztRQUNyQixTQUFTLFdBQUE7UUFDVCxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7S0FDZjtJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkZpbGVuYW1lLFxuICBMb3R0aWVQbGF5ZXIsXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBBbmltYXRpb25Db25maWdXaXRoUGF0aFxufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleShhbmltYXRpb246IEFuaW1hdGlvbkZpbGVuYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBhbmltYXRpb24tJHthbmltYXRpb24uc3BsaXQoJy5qc29uJylbMF19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFBsYXllckxvY2F0aW9uSHJlZihwbGF5ZXI6IExvdHRpZVBsYXllciwgaHJlZjogc3RyaW5nLCBpc1NhZmFyaTogYm9vbGVhbik6IHZvaWQge1xuICAvLyBUaGlzIGlzIGEgZml4IGZvciB0aGUgbWFzayBvbiBTYWZhcmkvaU9TXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9haXJibmIvbG90dGllLXdlYi9pc3N1ZXMvMTE5OFxuICBpZiAoaXNTYWZhcmkpIHtcbiAgICAoKHBsYXllciBhcyB1bmtub3duKSBhcyB7IHNldExvY2F0aW9uSHJlZjogKGhyZWY6IHN0cmluZykgPT4gdm9pZCB9KS5zZXRMb2NhdGlvbkhyZWYoaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPcHRpb25zKFxuICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zIHwgbnVsbCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudFxuKTogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCB7XG4gIGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAgIGNvbnRhaW5lcixcbiAgICByZW5kZXJlcjogJ3N2ZycsXG4gICAgbG9vcDogdHJ1ZSxcbiAgICBhdXRvcGxheTogdHJ1ZVxuICB9O1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKGRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcbn1cbiJdfQ== | ||
/** | ||
* @return {?} | ||
*/ | ||
export function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
export function isAnimationConfigWithData(options) { | ||
/** @type {?} */ | ||
var animationData = ((/** @type {?} */ (options))).animationData; | ||
return animationData !== null && typeof animationData === 'object'; | ||
} | ||
/** | ||
* @param {?} animationCache | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
export function awaitConfigAndCache(animationCache, options, animationItem) { | ||
if (animationCache === null) { | ||
return; | ||
} | ||
animationItem.addEventListener('config_ready', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
animationCache.set(options, animationItem); | ||
})); | ||
} | ||
/** | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
export function retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[name])); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbG90dGllLyIsInNvdXJjZXMiOlsic3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBZUEsTUFBTSxVQUFVLCtCQUErQixDQUFDLFNBQTRCO0lBQzFFLE9BQU8sZUFBYSxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBRyxDQUFDO0FBQ3BELENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBb0IsRUFBRSxJQUFZLEVBQUUsUUFBaUI7SUFDekYsMkNBQTJDO0lBQzNDLG1EQUFtRDtJQUNuRCxJQUFJLFFBQVEsRUFBRTtRQUNaLENBQUMsbUJBQUEsQ0FBQyxtQkFBQSxNQUFNLEVBQVcsQ0FBQyxFQUErQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzVGO0FBQ0gsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsT0FBZ0MsRUFDaEMsU0FBc0IsRUFDdEIsY0FBcUM7O1FBRS9CLE1BQU0sR0FBc0QsTUFBTSxDQUFDLE1BQU0sQ0FDN0U7UUFDRSxTQUFTLFdBQUE7UUFDVCxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7S0FDZixFQUNELE9BQU8sQ0FDUjtJQUVELElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNoRDtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsZUFBZTtJQUM3QixnRUFBZ0U7SUFDaEUseUNBQXlDO0lBQ3pDLElBQUk7UUFDTSxJQUFBLHlCQUFNLEVBQUUsK0JBQVM7UUFDekIsT0FBTyxDQUNMLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xDLENBQUM7S0FDSDtJQUFDLFdBQU07UUFDTixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE9BQTBEOztRQUVwRCxhQUFhLEdBQUcsQ0FBQyxtQkFBQSxPQUFPLEVBQTJCLENBQUMsQ0FBQyxhQUFhO0lBQ3hFLE9BQU8sYUFBYSxLQUFLLElBQUksSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLENBQUM7QUFDckUsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsY0FBcUMsRUFDckMsT0FBMEQsRUFDMUQsYUFBNEI7SUFFNUIsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1FBQzNCLE9BQU87S0FDUjtJQUVELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjOzs7SUFBRTtRQUM3QyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDLEVBQUMsQ0FBQztBQUNMLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsUUFBdUIsRUFDdkIsSUFBaUM7SUFFakMsT0FBTyxtQkFBQSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQTZCLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBMb3R0aWVQbGF5ZXIsXG4gIEFuaW1hdGlvbk9wdGlvbnMsXG4gIEFuaW1hdGlvbkZpbGVuYW1lLFxuICBBbmltYXRpb25Db25maWdXaXRoRGF0YSxcbiAgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGgsXG4gIEFuaW1hdGlvbkl0ZW0sXG4gIExvdHRpZUV2ZW50LFxuICBDYW1lbGl6ZWRBbmltYXRpb25FdmVudE5hbWVcbn0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Jhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuaW1hdGlvbkNhY2hlIH0gZnJvbSAnLi9hbmltYXRpb24tY2FjaGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQW5pbWF0aW9uRmlsZW5hbWVUb0tleShhbmltYXRpb246IEFuaW1hdGlvbkZpbGVuYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBhbmltYXRpb24tJHthbmltYXRpb24uc3BsaXQoJy5qc29uJylbMF19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFBsYXllckxvY2F0aW9uSHJlZihwbGF5ZXI6IExvdHRpZVBsYXllciwgaHJlZjogc3RyaW5nLCBpc1NhZmFyaTogYm9vbGVhbik6IHZvaWQge1xuICAvLyBUaGlzIGlzIGEgZml4IGZvciB0aGUgbWFzayBvbiBTYWZhcmkvaU9TXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9haXJibmIvbG90dGllLXdlYi9pc3N1ZXMvMTE5OFxuICBpZiAoaXNTYWZhcmkpIHtcbiAgICAoKHBsYXllciBhcyB1bmtub3duKSBhcyB7IHNldExvY2F0aW9uSHJlZjogKGhyZWY6IHN0cmluZykgPT4gdm9pZCB9KS5zZXRMb2NhdGlvbkhyZWYoaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlT3B0aW9uc1dpdGhEZWZhdWx0KFxuICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zIHwgbnVsbCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgYW5pbWF0aW9uQ2FjaGU6IEFuaW1hdGlvbkNhY2hlIHwgbnVsbFxuKTogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCB7XG4gIGNvbnN0IG1lcmdlZDogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCA9IE9iamVjdC5hc3NpZ24oXG4gICAge1xuICAgICAgY29udGFpbmVyLFxuICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgbG9vcDogdHJ1ZSxcbiAgICAgIGF1dG9wbGF5OiB0cnVlXG4gICAgfSxcbiAgICBvcHRpb25zXG4gICk7XG5cbiAgaWYgKGFuaW1hdGlvbkNhY2hlICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGFuaW1hdGlvbkNhY2hlLnRyYW5zZm9ybU9wdGlvbnMobWVyZ2VkKTtcbiAgfVxuXG4gIHJldHVybiBtZXJnZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhZmFyaUZhY3RvcnkoKTogYm9vbGVhbiB7XG4gIC8vIFRoaXMgYHRyeS1jYXRjaGAgYmxvY2sgd2lsbCBhbHNvIGhhbmRsZSBzZXJ2ZXItc2lkZSByZW5kZXJpbmdcbiAgLy8gYXMgYG5hdmlnYXRvcmAgaXMgbm90IGFjY2Vzc2FibGUgdGhlcmVcbiAgdHJ5IHtcbiAgICBjb25zdCB7IHZlbmRvciwgdXNlckFnZW50IH0gPSBuYXZpZ2F0b3I7XG4gICAgcmV0dXJuIChcbiAgICAgIHZlbmRvci5pbmRleE9mKCdBcHBsZScpID4gLTEgJiZcbiAgICAgIHVzZXJBZ2VudC5pbmRleE9mKCdDcmlPUycpID09PSAtMSAmJlxuICAgICAgdXNlckFnZW50LmluZGV4T2YoJ0Z4aU9TJykgPT09IC0xXG4gICAgKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhKFxuICBvcHRpb25zOiBBbmltYXRpb25Db25maWdXaXRoUGF0aCB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhXG4pOiBvcHRpb25zIGlzIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhIHtcbiAgY29uc3QgYW5pbWF0aW9uRGF0YSA9IChvcHRpb25zIGFzIEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhKS5hbmltYXRpb25EYXRhO1xuICByZXR1cm4gYW5pbWF0aW9uRGF0YSAhPT0gbnVsbCAmJiB0eXBlb2YgYW5pbWF0aW9uRGF0YSA9PT0gJ29iamVjdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhd2FpdENvbmZpZ0FuZENhY2hlKFxuICBhbmltYXRpb25DYWNoZTogQW5pbWF0aW9uQ2FjaGUgfCBudWxsLFxuICBvcHRpb25zOiBBbmltYXRpb25Db25maWdXaXRoUGF0aCB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhLFxuICBhbmltYXRpb25JdGVtOiBBbmltYXRpb25JdGVtXG4pOiB2b2lkIHtcbiAgaWYgKGFuaW1hdGlvbkNhY2hlID09PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYW5pbWF0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKCdjb25maWdfcmVhZHknLCAoKSA9PiB7XG4gICAgYW5pbWF0aW9uQ2FjaGUuc2V0KG9wdGlvbnMsIGFuaW1hdGlvbkl0ZW0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldHJpZXZlRXZlbnRFbWl0dGVyKFxuICBpbnN0YW5jZTogQmFzZURpcmVjdGl2ZSxcbiAgbmFtZTogQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lXG4pOiBFdmVudEVtaXR0ZXI8TG90dGllRXZlbnQ+IHtcbiAgcmV0dXJuIGluc3RhbmNlW25hbWVdIGFzIEV2ZW50RW1pdHRlcjxMb3R0aWVFdmVudD47XG59XG4iXX0= |
@@ -12,2 +12,96 @@ import { InjectionToken, Injectable, NgZone, Inject, PLATFORM_ID, EventEmitter, Directive, Input, Output, ElementRef, Self, Component, ChangeDetectionStrategy, Renderer2, ViewChild, NgModule, ɵɵdefineInjectable, ɵɵinject } from '@angular/core'; | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return `animation-${animation.split('.json')[0]}`; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @param {?} animationCache | ||
* @return {?} | ||
*/ | ||
function mergeOptionsWithDefault(options, container, animationCache) { | ||
/** @type {?} */ | ||
const merged = Object.assign({ | ||
container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}, options); | ||
if (animationCache !== null) { | ||
return animationCache.transformOptions(merged); | ||
} | ||
return merged; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
const { vendor, userAgent } = navigator; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function isAnimationConfigWithData(options) { | ||
/** @type {?} */ | ||
const animationData = ((/** @type {?} */ (options))).animationData; | ||
return animationData !== null && typeof animationData === 'object'; | ||
} | ||
/** | ||
* @param {?} animationCache | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
function awaitConfigAndCache(animationCache, options, animationItem) { | ||
if (animationCache === null) { | ||
return; | ||
} | ||
animationItem.addEventListener('config_ready', (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
animationCache.set(options, animationItem); | ||
})); | ||
} | ||
/** | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[name])); | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
@@ -94,46 +188,18 @@ */ | ||
} | ||
/** @type {?} */ | ||
const LOTTIE_PLAYER_FACTORY_OR_LOADER = new InjectionToken('LottiePlayerFactoryOrLoader'); | ||
/** @type {?} */ | ||
const IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @record | ||
*/ | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return `animation-${animation.split('.json')[0]}`; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @return {?} | ||
*/ | ||
function resolveOptions(options, container) { | ||
function LottieOptions() { } | ||
if (false) { | ||
/** @type {?} */ | ||
const defaultOptions = { | ||
container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}; | ||
return Object.assign(defaultOptions, options); | ||
LottieOptions.prototype.player; | ||
/** @type {?|undefined} */ | ||
LottieOptions.prototype.useCache; | ||
} | ||
/** @type {?} */ | ||
const IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** @type {?} */ | ||
const LOTTIE_OPTIONS = new InjectionToken('LottieOptions'); | ||
/** @type {?} */ | ||
const ANIMATION_CACHE = new InjectionToken('AnimationCache'); | ||
@@ -153,5 +219,6 @@ /** | ||
* @param {?} isSafari | ||
* @param {?} playerFactoryOrLoader | ||
* @param {?} options | ||
* @param {?} animationCache | ||
*/ | ||
constructor(ngZone, platformId, document, isSafari, playerFactoryOrLoader) { | ||
constructor(ngZone, platformId, document, isSafari, options, animationCache) { | ||
this.ngZone = ngZone; | ||
@@ -161,3 +228,4 @@ this.platformId = platformId; | ||
this.isSafari = isSafari; | ||
this.playerFactoryOrLoader = playerFactoryOrLoader; | ||
this.options = options; | ||
this.animationCache = animationCache; | ||
this.cachedLottiePlayer$ = null; | ||
@@ -178,3 +246,3 @@ } | ||
/** @type {?} */ | ||
const resolvedOptions = resolveOptions(options, container); | ||
const mergedOptions = mergeOptionsWithDefault(options, container, this.animationCache); | ||
this.wrapPlayerOrLoaderIntoObservable().subscribe((/** | ||
@@ -185,3 +253,3 @@ * @param {?} player | ||
player => { | ||
this.loadAnimation(player, resolvedOptions, eventsFacade, animationCreated, instance); | ||
this.loadAnimation(player, mergedOptions, eventsFacade, animationCreated, instance); | ||
})); | ||
@@ -205,2 +273,3 @@ } | ||
() => player.loadAnimation(options))); | ||
awaitConfigAndCache(this.animationCache, options, animationItem); | ||
// Dispatch `animationCreated` event after animation is loaded successfully | ||
@@ -219,3 +288,3 @@ animationCreated.emit(animationItem); | ||
/** @type {?} */ | ||
const playerOrLoader = this.playerFactoryOrLoader(); | ||
const playerOrLoader = this.options.player(); | ||
if (playerOrLoader instanceof Promise) { | ||
@@ -257,3 +326,4 @@ this.cachedLottiePlayer$ = from(playerOrLoader).pipe(map((/** | ||
{ type: Boolean, decorators: [{ type: Inject, args: [IS_SAFARI,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_PLAYER_FACTORY_OR_LOADER,] }] } | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_OPTIONS,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [ANIMATION_CACHE,] }] } | ||
]; | ||
@@ -290,3 +360,8 @@ if (false) { | ||
*/ | ||
AnimationLoader.prototype.playerFactoryOrLoader; | ||
AnimationLoader.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationLoader.prototype.animationCache; | ||
} | ||
@@ -478,2 +553,55 @@ | ||
*/ | ||
class AnimationCache { | ||
constructor() { | ||
this.cache = new Map(); | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
static create(options) { | ||
if (options.useCache) { | ||
return new AnimationCache(); | ||
} | ||
return null; | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
transformOptions(options) { | ||
/** @type {?} */ | ||
const path = ((/** @type {?} */ (options))).path; | ||
if (path && this.cache.has(path)) { | ||
delete ((/** @type {?} */ (options))).path; | ||
((/** @type {?} */ (options))).animationData = this.cache.get(path); | ||
} | ||
return options; | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
set(options, animationItem) { | ||
if (isAnimationConfigWithData(options)) { | ||
return; | ||
} | ||
/** @type {?} */ | ||
const animationData = animationItem['animationData']; | ||
this.cache.set((/** @type {?} */ (options.path)), animationData); | ||
} | ||
} | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationCache.prototype.cache; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
class LottieEventsFacade { | ||
@@ -507,7 +635,2 @@ /** | ||
this.eventNames = (/** @type {?} */ (Object.keys(this.eventsMap))); | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
this.listeners = new Map(); | ||
this.animationItem = null; | ||
@@ -529,9 +652,3 @@ } | ||
for (const name of this.eventNames) { | ||
/** @type {?} */ | ||
const listenerFn = this.addEventListener(instance, name); | ||
// We don't have to save `destroy` listener, because `AnimationItem` | ||
// is able to remove `destroy` event listener itself | ||
if (name !== 'destroy') { | ||
this.listeners.set(name, listenerFn); | ||
} | ||
this.addEventListener(instance, name); | ||
} | ||
@@ -547,11 +664,5 @@ } | ||
} | ||
for (const [name, listenerFn] of this.listeners.entries()) { | ||
(/** @type {?} */ (this.animationItem)).removeEventListener(name, listenerFn); | ||
} | ||
// We cannot call `destroy` before removing event listeners | ||
// as after calling `destroy` - `removeEventListener` becomes unavailable | ||
// `destroy()` will remove all events listeners | ||
(/** @type {?} */ (this.animationItem)).destroy(); | ||
this.animationItem = null; | ||
// Release listeners as we don't need them | ||
this.listeners.clear(); | ||
} | ||
@@ -566,3 +677,12 @@ /** | ||
/** @type {?} */ | ||
const listenerFn = this.handleEventClosure(instance, name); | ||
const camelizedName = this.eventsMap[name]; | ||
/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function listenerFn(event) { | ||
/** @type {?} */ | ||
const emitter = retrieveEventEmitter(instance, camelizedName); | ||
emitter.emit(event); | ||
} | ||
// `AnimationItem` triggers different events every ms, we have to listen | ||
@@ -578,36 +698,2 @@ // them outside Angular's context, thus it won't affect performance | ||
} | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
handleEventClosure(instance, name) { | ||
return (/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
(event) => { | ||
/** @type {?} */ | ||
const emitter = this.retrieveEventEmitter(instance, name); | ||
emitter.emit(event); | ||
}); | ||
} | ||
/** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
camelizeNativeEventName(name) { | ||
return this.eventsMap[name]; | ||
} | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[this.camelizeNativeEventName(name)])); | ||
} | ||
} | ||
@@ -638,12 +724,5 @@ LottieEventsFacade.decorators = [ | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.listeners; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.animationItem; | ||
@@ -792,18 +871,2 @@ /** | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
const { vendor, userAgent } = navigator; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
class LottieModule { | ||
@@ -820,4 +883,4 @@ /** | ||
{ | ||
provide: LOTTIE_PLAYER_FACTORY_OR_LOADER, | ||
useValue: options.player | ||
provide: LOTTIE_OPTIONS, | ||
useValue: options | ||
}, | ||
@@ -827,2 +890,7 @@ { | ||
useFactory: isSafariFactory | ||
}, | ||
{ | ||
provide: ANIMATION_CACHE, | ||
useFactory: AnimationCache.create, | ||
deps: [LOTTIE_OPTIONS] | ||
} | ||
@@ -847,6 +915,6 @@ ] | ||
/** | ||
* @param {?} state | ||
* @param {?} transferState | ||
*/ | ||
constructor(state) { | ||
this.state = state; | ||
constructor(transferState) { | ||
this.transferState = transferState; | ||
} | ||
@@ -862,4 +930,4 @@ /** | ||
/** @type {?} */ | ||
const key = makeStateKey(animationKey); | ||
return this.state.get(key, null); | ||
const stateKey = makeStateKey(animationKey); | ||
return this.transferState.get(stateKey, null); | ||
} | ||
@@ -880,3 +948,3 @@ } | ||
*/ | ||
LottieTransferState.prototype.state; | ||
LottieTransferState.prototype.transferState; | ||
} | ||
@@ -899,3 +967,3 @@ | ||
export { BaseDirective, LottieComponent, LottieDirective, LottieModule, LottieTransferState, transformAnimationFilenameToKey, isSafariFactory as ɵa, LOTTIE_PLAYER_FACTORY_OR_LOADER as ɵc, IS_SAFARI as ɵd, AnimationLoader as ɵe, LottieEventsFacade as ɵf }; | ||
export { BaseDirective, LottieComponent, LottieDirective, LottieModule, LottieTransferState, transformAnimationFilenameToKey, IS_SAFARI as ɵb, LOTTIE_OPTIONS as ɵc, ANIMATION_CACHE as ɵd, isSafariFactory as ɵe, AnimationLoader as ɵf, AnimationCache as ɵg, LottieEventsFacade as ɵh }; | ||
//# sourceMappingURL=ngx-lottie.js.map |
@@ -5,3 +5,3 @@ import { InjectionToken, Injectable, NgZone, Inject, PLATFORM_ID, EventEmitter, Directive, Input, Output, ElementRef, Self, Component, ChangeDetectionStrategy, Renderer2, ViewChild, NgModule, ɵɵdefineInjectable, ɵɵinject } from '@angular/core'; | ||
import { map, catchError, shareReplay } from 'rxjs/operators'; | ||
import { __values, __read, __extends } from 'tslib'; | ||
import { __values, __extends } from 'tslib'; | ||
import { makeStateKey, TransferState } from '@angular/platform-browser'; | ||
@@ -14,2 +14,96 @@ | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return "animation-" + animation.split('.json')[0]; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @param {?} animationCache | ||
* @return {?} | ||
*/ | ||
function mergeOptionsWithDefault(options, container, animationCache) { | ||
/** @type {?} */ | ||
var merged = Object.assign({ | ||
container: container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}, options); | ||
if (animationCache !== null) { | ||
return animationCache.transformOptions(merged); | ||
} | ||
return merged; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function isAnimationConfigWithData(options) { | ||
/** @type {?} */ | ||
var animationData = ((/** @type {?} */ (options))).animationData; | ||
return animationData !== null && typeof animationData === 'object'; | ||
} | ||
/** | ||
* @param {?} animationCache | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
function awaitConfigAndCache(animationCache, options, animationItem) { | ||
if (animationCache === null) { | ||
return; | ||
} | ||
animationItem.addEventListener('config_ready', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
animationCache.set(options, animationItem); | ||
})); | ||
} | ||
/** | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function retrieveEventEmitter(instance, name) { | ||
return (/** @type {?} */ (instance[name])); | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
@@ -96,46 +190,18 @@ */ | ||
} | ||
/** @type {?} */ | ||
var LOTTIE_PLAYER_FACTORY_OR_LOADER = new InjectionToken('LottiePlayerFactoryOrLoader'); | ||
/** @type {?} */ | ||
var IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @record | ||
*/ | ||
/** | ||
* @param {?} animation | ||
* @return {?} | ||
*/ | ||
function transformAnimationFilenameToKey(animation) { | ||
return "animation-" + animation.split('.json')[0]; | ||
} | ||
/** | ||
* @param {?} player | ||
* @param {?} href | ||
* @param {?} isSafari | ||
* @return {?} | ||
*/ | ||
function setPlayerLocationHref(player, href, isSafari) { | ||
// This is a fix for the mask on Safari/iOS | ||
// https://github.com/airbnb/lottie-web/issues/1198 | ||
if (isSafari) { | ||
((/** @type {?} */ (((/** @type {?} */ (player)))))).setLocationHref(href); | ||
} | ||
} | ||
/** | ||
* @param {?} options | ||
* @param {?} container | ||
* @return {?} | ||
*/ | ||
function resolveOptions(options, container) { | ||
function LottieOptions() { } | ||
if (false) { | ||
/** @type {?} */ | ||
var defaultOptions = { | ||
container: container, | ||
renderer: 'svg', | ||
loop: true, | ||
autoplay: true | ||
}; | ||
return Object.assign(defaultOptions, options); | ||
LottieOptions.prototype.player; | ||
/** @type {?|undefined} */ | ||
LottieOptions.prototype.useCache; | ||
} | ||
/** @type {?} */ | ||
var IS_SAFARI = new InjectionToken('IsSafari'); | ||
/** @type {?} */ | ||
var LOTTIE_OPTIONS = new InjectionToken('LottieOptions'); | ||
/** @type {?} */ | ||
var ANIMATION_CACHE = new InjectionToken('AnimationCache'); | ||
@@ -150,3 +216,3 @@ /** | ||
var AnimationLoader = /** @class */ (function () { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, playerFactoryOrLoader) { | ||
function AnimationLoader(ngZone, platformId, document, isSafari, options, animationCache) { | ||
this.ngZone = ngZone; | ||
@@ -156,3 +222,4 @@ this.platformId = platformId; | ||
this.isSafari = isSafari; | ||
this.playerFactoryOrLoader = playerFactoryOrLoader; | ||
this.options = options; | ||
this.animationCache = animationCache; | ||
this.cachedLottiePlayer$ = null; | ||
@@ -182,3 +249,3 @@ } | ||
/** @type {?} */ | ||
var resolvedOptions = resolveOptions(options, container); | ||
var mergedOptions = mergeOptionsWithDefault(options, container, this.animationCache); | ||
this.wrapPlayerOrLoaderIntoObservable().subscribe((/** | ||
@@ -189,3 +256,3 @@ * @param {?} player | ||
function (player) { | ||
_this.loadAnimation(player, resolvedOptions, eventsFacade, animationCreated, instance); | ||
_this.loadAnimation(player, mergedOptions, eventsFacade, animationCreated, instance); | ||
})); | ||
@@ -218,2 +285,3 @@ }; | ||
function () { return player.loadAnimation(options); })); | ||
awaitConfigAndCache(this.animationCache, options, animationItem); | ||
// Dispatch `animationCreated` event after animation is loaded successfully | ||
@@ -236,3 +304,3 @@ animationCreated.emit(animationItem); | ||
/** @type {?} */ | ||
var playerOrLoader = this.playerFactoryOrLoader(); | ||
var playerOrLoader = this.options.player(); | ||
if (playerOrLoader instanceof Promise) { | ||
@@ -266,3 +334,4 @@ this.cachedLottiePlayer$ = from(playerOrLoader).pipe(map((/** | ||
{ type: Boolean, decorators: [{ type: Inject, args: [IS_SAFARI,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_PLAYER_FACTORY_OR_LOADER,] }] } | ||
{ type: undefined, decorators: [{ type: Inject, args: [LOTTIE_OPTIONS,] }] }, | ||
{ type: undefined, decorators: [{ type: Inject, args: [ANIMATION_CACHE,] }] } | ||
]; }; | ||
@@ -301,3 +370,8 @@ return AnimationLoader; | ||
*/ | ||
AnimationLoader.prototype.playerFactoryOrLoader; | ||
AnimationLoader.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationLoader.prototype.animationCache; | ||
} | ||
@@ -493,2 +567,69 @@ | ||
*/ | ||
var AnimationCache = /** @class */ (function () { | ||
function AnimationCache() { | ||
this.cache = new Map(); | ||
} | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
AnimationCache.create = /** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function (options) { | ||
if (options.useCache) { | ||
return new AnimationCache(); | ||
} | ||
return null; | ||
}; | ||
/** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
AnimationCache.prototype.transformOptions = /** | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function (options) { | ||
/** @type {?} */ | ||
var path = ((/** @type {?} */ (options))).path; | ||
if (path && this.cache.has(path)) { | ||
delete ((/** @type {?} */ (options))).path; | ||
((/** @type {?} */ (options))).animationData = this.cache.get(path); | ||
} | ||
return options; | ||
}; | ||
/** | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
AnimationCache.prototype.set = /** | ||
* @param {?} options | ||
* @param {?} animationItem | ||
* @return {?} | ||
*/ | ||
function (options, animationItem) { | ||
if (isAnimationConfigWithData(options)) { | ||
return; | ||
} | ||
/** @type {?} */ | ||
var animationData = animationItem['animationData']; | ||
this.cache.set((/** @type {?} */ (options.path)), animationData); | ||
}; | ||
return AnimationCache; | ||
}()); | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AnimationCache.prototype.cache; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var LottieEventsFacade = /** @class */ (function () { | ||
@@ -518,7 +659,2 @@ function LottieEventsFacade(ngZone, platformId) { | ||
this.eventNames = (/** @type {?} */ (Object.keys(this.eventsMap))); | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
this.listeners = new Map(); | ||
this.animationItem = null; | ||
@@ -551,9 +687,3 @@ } | ||
var name_1 = _c.value; | ||
/** @type {?} */ | ||
var listenerFn = this.addEventListener(instance, name_1); | ||
// We don't have to save `destroy` listener, because `AnimationItem` | ||
// is able to remove `destroy` event listener itself | ||
if (name_1 !== 'destroy') { | ||
this.listeners.set(name_1, listenerFn); | ||
} | ||
this.addEventListener(instance, name_1); | ||
} | ||
@@ -578,25 +708,8 @@ } | ||
function () { | ||
var e_2, _a; | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
try { | ||
for (var _b = __values(this.listeners.entries()), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var _d = __read(_c.value, 2), name_2 = _d[0], listenerFn = _d[1]; | ||
(/** @type {?} */ (this.animationItem)).removeEventListener(name_2, listenerFn); | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
// We cannot call `destroy` before removing event listeners | ||
// as after calling `destroy` - `removeEventListener` becomes unavailable | ||
// `destroy()` will remove all events listeners | ||
(/** @type {?} */ (this.animationItem)).destroy(); | ||
this.animationItem = null; | ||
// Release listeners as we don't need them | ||
this.listeners.clear(); | ||
}; | ||
@@ -618,3 +731,12 @@ /** | ||
/** @type {?} */ | ||
var listenerFn = this.handleEventClosure(instance, name); | ||
var camelizedName = this.eventsMap[name]; | ||
/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function listenerFn(event) { | ||
/** @type {?} */ | ||
var emitter = retrieveEventEmitter(instance, camelizedName); | ||
emitter.emit(event); | ||
} | ||
// `AnimationItem` triggers different events every ms, we have to listen | ||
@@ -630,58 +752,2 @@ // them outside Angular's context, thus it won't affect performance | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.handleEventClosure = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
var _this = this; | ||
return (/** | ||
* @param {?} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
/** @type {?} */ | ||
var emitter = _this.retrieveEventEmitter(instance, name); | ||
emitter.emit(event); | ||
}); | ||
}; | ||
/** | ||
* @param name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @returns - Resolved event name in the `camelCase` | ||
*/ | ||
/** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
LottieEventsFacade.prototype.camelizeNativeEventName = /** | ||
* @private | ||
* @param {?} name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @return {?} - Resolved event name in the `camelCase` | ||
*/ | ||
function (name) { | ||
return this.eventsMap[name]; | ||
}; | ||
/** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
LottieEventsFacade.prototype.retrieveEventEmitter = /** | ||
* @private | ||
* @param {?} instance | ||
* @param {?} name | ||
* @return {?} | ||
*/ | ||
function (instance, name) { | ||
return (/** @type {?} */ (instance[this.camelizeNativeEventName(name)])); | ||
}; | ||
LottieEventsFacade.decorators = [ | ||
@@ -713,12 +779,5 @@ { type: Injectable } | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.listeners; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
LottieEventsFacade.prototype.animationItem; | ||
@@ -863,18 +922,2 @@ /** | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function isSafariFactory() { | ||
// This `try-catch` block will also handle server-side rendering | ||
// as `navigator` is not accessable there | ||
try { | ||
var vendor = navigator.vendor, userAgent = navigator.userAgent; | ||
return (vendor.indexOf('Apple') > -1 && | ||
userAgent.indexOf('CriOS') === -1 && | ||
userAgent.indexOf('FxiOS') === -1); | ||
} | ||
catch (_a) { | ||
return false; | ||
} | ||
} | ||
var LottieModule = /** @class */ (function () { | ||
@@ -897,4 +940,4 @@ function LottieModule() { | ||
{ | ||
provide: LOTTIE_PLAYER_FACTORY_OR_LOADER, | ||
useValue: options.player | ||
provide: LOTTIE_OPTIONS, | ||
useValue: options | ||
}, | ||
@@ -904,2 +947,7 @@ { | ||
useFactory: isSafariFactory | ||
}, | ||
{ | ||
provide: ANIMATION_CACHE, | ||
useFactory: AnimationCache.create, | ||
deps: [LOTTIE_OPTIONS] | ||
} | ||
@@ -924,4 +972,4 @@ ] | ||
var LottieTransferState = /** @class */ (function () { | ||
function LottieTransferState(state) { | ||
this.state = state; | ||
function LottieTransferState(transferState) { | ||
this.transferState = transferState; | ||
} | ||
@@ -942,4 +990,4 @@ /** | ||
/** @type {?} */ | ||
var key = makeStateKey(animationKey); | ||
return this.state.get(key, null); | ||
var stateKey = makeStateKey(animationKey); | ||
return this.transferState.get(stateKey, null); | ||
}; | ||
@@ -961,3 +1009,3 @@ LottieTransferState.decorators = [ | ||
*/ | ||
LottieTransferState.prototype.state; | ||
LottieTransferState.prototype.transferState; | ||
} | ||
@@ -980,3 +1028,3 @@ | ||
export { BaseDirective, LottieComponent, LottieDirective, LottieModule, LottieTransferState, transformAnimationFilenameToKey, isSafariFactory as ɵa, LOTTIE_PLAYER_FACTORY_OR_LOADER as ɵc, IS_SAFARI as ɵd, AnimationLoader as ɵe, LottieEventsFacade as ɵf }; | ||
export { BaseDirective, LottieComponent, LottieDirective, LottieModule, LottieTransferState, transformAnimationFilenameToKey, IS_SAFARI as ɵb, LOTTIE_OPTIONS as ɵc, ANIMATION_CACHE as ɵd, isSafariFactory as ɵe, AnimationLoader as ɵf, AnimationCache as ɵg, LottieEventsFacade as ɵh }; | ||
//# sourceMappingURL=ngx-lottie.js.map |
@@ -5,5 +5,6 @@ /** | ||
export * from './index'; | ||
export { AnimationLoader as ɵe } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵf } from './src/events-facade'; | ||
export { isSafariFactory as ɵa } from './src/lottie.module'; | ||
export { IS_SAFARI as ɵd, LOTTIE_PLAYER_FACTORY_OR_LOADER as ɵc, LottiePlayerFactoryOrLoader as ɵb } from './src/symbols'; | ||
export { AnimationCache as ɵg } from './src/animation-cache'; | ||
export { AnimationLoader as ɵf } from './src/animation-loader'; | ||
export { LottieEventsFacade as ɵh } from './src/events-facade'; | ||
export { ANIMATION_CACHE as ɵd, IS_SAFARI as ɵb, LOTTIE_OPTIONS as ɵc, LottieOptions as ɵa } from './src/symbols'; | ||
export { isSafariFactory as ɵe } from './src/utils'; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"function"},"ɵb":{"__symbolic":"interface"},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":91,"character":51},"arguments":["LottiePlayerFactoryOrLoader"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":95,"character":29},"arguments":["IsSafari"]},"LottieModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":24,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":12}],"declarations":[{"__symbolic":"reference","name":"BaseDirective"},{"__symbolic":"reference","name":"LottieDirective"},{"__symbolic":"reference","name":"LottieComponent"}],"exports":[{"__symbolic":"reference","name":"BaseDirective"},{"__symbolic":"reference","name":"LottieDirective"},{"__symbolic":"reference","name":"LottieComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"value":{"ngModule":{"__symbolic":"reference","name":"LottieModule"},"providers":[{"__symbolic":"reference","name":"ɵe"},{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"player"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"useFactory":{"__symbolic":"reference","name":"ɵa"}}]}}}},"BaseDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"[lottie]"}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"animationCreated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"complete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"loopComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"enterFrame":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"segmentStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"configReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"dataReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":3}}]}],"domLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":70,"character":3}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":85,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":85,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ɵe"}]}],"loadAnimation":[{"__symbolic":"method"}]}},"LottieDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseDirective"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[lottie]","providers":[{"__symbolic":"reference","name":"ɵf"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":12,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":13,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":14,"character":5}}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":13,"character":37,"context":{"typeName":"HTMLElement"},"module":"./src/lottie.directive"}]},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"LottieComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseDirective"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"ng-lottie","template":"\n <div\n #container\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n style=\"margin: 0 auto\"\n [ngStyle]=\"styles\"\n ></div>\n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":19},"member":"OnPush"},"providers":[{"__symbolic":"reference","name":"ɵf"}]}]}],"members":{"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["container",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":37,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":37,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":38,"character":5}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":36,"character":22},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}},"LottieTransferState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":8,"character":29}]}],"get":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BMEnterFrameEvent":{"__symbolic":"interface"},"BMCompleteLoopEvent":{"__symbolic":"interface"},"BMCompleteEvent":{"__symbolic":"interface"},"BMSegmentStartEvent":{"__symbolic":"interface"},"BMDestroyEvent":{"__symbolic":"interface"},"BMRenderFrameErrorEvent":{"__symbolic":"interface"},"BMConfigErrorEvent":{"__symbolic":"interface"},"AnimationOptions":{"__symbolic":"interface"},"AnimationFilename":{"__symbolic":"interface"},"transformAnimationFilenameToKey":{"__symbolic":"function","parameters":["animation"],"value":{"__symbolic":"binop","operator":"+","left":"animation-","right":{"__symbolic":"index","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"animation"},"member":"split"},"arguments":[".json"]},"index":0}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":29,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":29,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":30,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":28,"character":20},{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":30,"character":40,"context":{"typeName":"Document"},"module":"./src/animation-loader"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"ɵb"}]}],"resolveLoaderAndLoadAnimation":[{"__symbolic":"method"}],"loadAnimation":[{"__symbolic":"method"}],"wrapPlayerOrLoaderIntoObservable":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":39},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":43,"character":46}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":43,"character":30},{"__symbolic":"reference","name":"string"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"addEventListeners":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"handleEventClosure":[{"__symbolic":"method"}],"camelizeNativeEventName":[{"__symbolic":"method"}],"retrieveEventEmitter":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./src/lottie.module","ɵb":"./src/symbols","ɵc":"./src/symbols","ɵd":"./src/symbols","LottieModule":"./src/lottie.module","BaseDirective":"./src/base.directive","LottieDirective":"./src/lottie.directive","LottieComponent":"./src/lottie.component","LottieTransferState":"./src/transfer-state","BMEnterFrameEvent":"./src/symbols","BMCompleteLoopEvent":"./src/symbols","BMCompleteEvent":"./src/symbols","BMSegmentStartEvent":"./src/symbols","BMDestroyEvent":"./src/symbols","BMRenderFrameErrorEvent":"./src/symbols","BMConfigErrorEvent":"./src/symbols","AnimationOptions":"./src/symbols","AnimationFilename":"./src/symbols","transformAnimationFilenameToKey":"./src/utils","ɵe":"./src/animation-loader","ɵf":"./src/events-facade"},"importAs":"ngx-lottie"} | ||
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"interface"},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":97,"character":29},"arguments":["IsSafari"]},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":98,"character":34},"arguments":["LottieOptions"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":99,"character":35},"arguments":["AnimationCache"]},"ɵe":{"__symbolic":"function"},"LottieModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":12}],"declarations":[{"__symbolic":"reference","name":"BaseDirective"},{"__symbolic":"reference","name":"LottieDirective"},{"__symbolic":"reference","name":"LottieComponent"}],"exports":[{"__symbolic":"reference","name":"BaseDirective"},{"__symbolic":"reference","name":"LottieDirective"},{"__symbolic":"reference","name":"LottieComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"value":{"ngModule":{"__symbolic":"reference","name":"LottieModule"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"ɵb"},"useFactory":{"__symbolic":"reference","name":"ɵe"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"create"},"deps":[{"__symbolic":"reference","name":"ɵc"}]}]}}}},"BaseDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"[lottie]"}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"animationCreated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"complete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"loopComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"enterFrame":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"segmentStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"configReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"dataReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":3}}]}],"domLoaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":70,"character":3}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":85,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":85,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ɵf"}]}],"loadAnimation":[{"__symbolic":"method"}]}},"LottieDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseDirective"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[lottie]","providers":[{"__symbolic":"reference","name":"ɵh"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":12,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":13,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":14,"character":5}}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":13,"character":37,"context":{"typeName":"HTMLElement"},"module":"./src/lottie.directive"}]},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"LottieComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseDirective"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"ng-lottie","template":"\n <div\n #container\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n style=\"margin: 0 auto\"\n [ngStyle]=\"styles\"\n ></div>\n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":19},"member":"OnPush"},"providers":[{"__symbolic":"reference","name":"ɵh"}]}]}],"members":{"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["container",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":37,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":37,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":38,"character":5}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":36,"character":22},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}},"LottieTransferState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":8,"character":37}]}],"get":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BMEnterFrameEvent":{"__symbolic":"interface"},"BMCompleteLoopEvent":{"__symbolic":"interface"},"BMCompleteEvent":{"__symbolic":"interface"},"BMSegmentStartEvent":{"__symbolic":"interface"},"BMDestroyEvent":{"__symbolic":"interface"},"BMRenderFrameErrorEvent":{"__symbolic":"interface"},"BMConfigErrorEvent":{"__symbolic":"interface"},"AnimationOptions":{"__symbolic":"interface"},"AnimationFilename":{"__symbolic":"interface"},"transformAnimationFilenameToKey":{"__symbolic":"function","parameters":["animation"],"value":{"__symbolic":"binop","operator":"+","left":"animation-","right":{"__symbolic":"index","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"animation"},"member":"split"},"arguments":[".json"]},"index":0}}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":31,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":32,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":30,"character":20},{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":32,"character":40,"context":{"typeName":"Document"},"module":"./src/animation-loader"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵg"}]}],"resolveLoaderAndLoadAnimation":[{"__symbolic":"method"}],"loadAnimation":[{"__symbolic":"method"}],"wrapPlayerOrLoaderIntoObservable":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","members":{"transformOptions":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":39},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":38,"character":46}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":38,"character":30},{"__symbolic":"reference","name":"string"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"addEventListeners":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./src/symbols","ɵb":"./src/symbols","ɵc":"./src/symbols","ɵd":"./src/symbols","ɵe":"./src/utils","LottieModule":"./src/lottie.module","BaseDirective":"./src/base.directive","LottieDirective":"./src/lottie.directive","LottieComponent":"./src/lottie.component","LottieTransferState":"./src/transfer-state","BMEnterFrameEvent":"./src/symbols","BMCompleteLoopEvent":"./src/symbols","BMCompleteEvent":"./src/symbols","BMSegmentStartEvent":"./src/symbols","BMDestroyEvent":"./src/symbols","BMRenderFrameErrorEvent":"./src/symbols","BMConfigErrorEvent":"./src/symbols","AnimationOptions":"./src/symbols","AnimationFilename":"./src/symbols","transformAnimationFilenameToKey":"./src/utils","ɵf":"./src/animation-loader","ɵg":"./src/animation-cache","ɵh":"./src/events-facade"},"importAs":"ngx-lottie"} |
{ | ||
"$schema": "../node_modules/ng-packagr/ng-package.schema.json", | ||
"name": "ngx-lottie", | ||
"version": "5.0.0", | ||
"version": "5.1.0", | ||
"repository": { | ||
@@ -6,0 +6,0 @@ "type": "git", |
@@ -36,2 +36,3 @@ <h1 align="center"> | ||
- [Usage](#usage) | ||
- [Caching](#caching) | ||
- [API](#api) | ||
@@ -176,2 +177,27 @@ - [Optimizations](#optimizations) | ||
## Caching | ||
`lottie-web` will load your JSON file every time when animation is being created. When importing `LottieModule` into the root module you can provide the `useCache` option: | ||
```ts | ||
import { NgModule } from '@angular/core'; | ||
import { LottieModule } from 'ngx-lottie'; | ||
export function playerFactory() { | ||
return import('lottie-web'); | ||
} | ||
@NgModule({ | ||
imports: [ | ||
LottieModule.forRoot({ | ||
player: playerFactory, | ||
useCache: true | ||
}) | ||
] | ||
}) | ||
export class AppModule {} | ||
``` | ||
This will enable cache under the hood. Since the cache is enabled your JSON file will be loaded only once. | ||
## API | ||
@@ -178,0 +204,0 @@ |
import { NgZone, EventEmitter } from '@angular/core'; | ||
import { AnimationItem, AnimationOptions, LottiePlayerFactoryOrLoader } from './symbols'; | ||
import { LottieOptions, AnimationItem, AnimationOptions } from './symbols'; | ||
import { BaseDirective } from './base.directive'; | ||
import { AnimationCache } from './animation-cache'; | ||
import { LottieEventsFacade } from './events-facade'; | ||
@@ -10,5 +11,6 @@ export declare class AnimationLoader { | ||
private isSafari; | ||
private playerFactoryOrLoader; | ||
private options; | ||
private animationCache; | ||
private cachedLottiePlayer$; | ||
constructor(ngZone: NgZone, platformId: string, document: Document, isSafari: boolean, playerFactoryOrLoader: LottiePlayerFactoryOrLoader); | ||
constructor(ngZone: NgZone, platformId: string, document: Document, isSafari: boolean, options: LottieOptions, animationCache: AnimationCache | null); | ||
resolveLoaderAndLoadAnimation(options: AnimationOptions | null, container: HTMLElement, eventsFacade: LottieEventsFacade, animationCreated: EventEmitter<AnimationItem>, instance: BaseDirective): void; | ||
@@ -15,0 +17,0 @@ private loadAnimation; |
@@ -17,7 +17,2 @@ import { OnDestroy, NgZone } from '@angular/core'; | ||
private eventNames; | ||
/** | ||
* Save listeners so we're able to remove them from `AnimationItem` | ||
* by references in the future when this service is destroyed | ||
*/ | ||
private listeners; | ||
private animationItem; | ||
@@ -29,9 +24,2 @@ constructor(ngZone: NgZone, platformId: string); | ||
private addEventListener; | ||
private handleEventClosure; | ||
/** | ||
* @param name - Name of the event in the `snake_case` dispatched by Lottie | ||
* @returns - Resolved event name in the `camelCase` | ||
*/ | ||
private camelizeNativeEventName; | ||
private retrieveEventEmitter; | ||
} |
import { ModuleWithProviders } from '@angular/core'; | ||
import { LottiePlayerFactoryOrLoader } from './symbols'; | ||
export declare function isSafariFactory(): boolean; | ||
import { LottieOptions } from './symbols'; | ||
export declare class LottieModule { | ||
static forRoot(options: { | ||
player: LottiePlayerFactoryOrLoader; | ||
}): ModuleWithProviders<LottieModule>; | ||
static forRoot(options: LottieOptions): ModuleWithProviders<LottieModule>; | ||
} |
import { InjectionToken } from '@angular/core'; | ||
import { AnimationCache } from './animation-cache'; | ||
export interface BMEnterFrameEvent { | ||
@@ -41,4 +42,2 @@ currentTime: number; | ||
export declare type AnimationItem = import('lottie-web').AnimationItem; | ||
export declare type AnimationConfigWithData = import('lottie-web').AnimationConfigWithData; | ||
export declare type AnimationConfigWithPath = import('lottie-web').AnimationConfigWithPath; | ||
export declare type LottiePlayer = typeof import('lottie-web').default; | ||
@@ -51,3 +50,3 @@ /** | ||
*/ | ||
export declare type LottiePlayerFactory = () => typeof import('lottie-web').default; | ||
declare type LottiePlayerFactory = () => typeof import('lottie-web').default; | ||
/** | ||
@@ -58,6 +57,14 @@ * This looks as follows | ||
*/ | ||
export declare type LottieLoader = () => Promise<typeof import('lottie-web')>; | ||
export declare type LottiePlayerFactoryOrLoader = LottiePlayerFactory | LottieLoader; | ||
export declare const LOTTIE_PLAYER_FACTORY_OR_LOADER: InjectionToken<LottiePlayerFactoryOrLoader>; | ||
declare type LottieLoader = () => Promise<typeof import('lottie-web')>; | ||
declare type LottiePlayerFactoryOrLoader = LottiePlayerFactory | LottieLoader; | ||
export interface LottieOptions { | ||
player: LottiePlayerFactoryOrLoader; | ||
useCache?: boolean; | ||
} | ||
export declare type AnimationConfigWithData = import('lottie-web').AnimationConfigWithData; | ||
export declare type AnimationConfigWithPath = import('lottie-web').AnimationConfigWithPath; | ||
export declare type AnimationOptions = Partial<AnimationConfigWithData> | Partial<AnimationConfigWithPath>; | ||
export declare const IS_SAFARI: InjectionToken<boolean>; | ||
export declare type AnimationOptions = Partial<AnimationConfigWithData> | Partial<AnimationConfigWithPath>; | ||
export declare const LOTTIE_OPTIONS: InjectionToken<LottieOptions>; | ||
export declare const ANIMATION_CACHE: InjectionToken<AnimationCache | null>; | ||
export {}; |
import { TransferState } from '@angular/platform-browser'; | ||
import { AnimationFilename } from './symbols'; | ||
export declare class LottieTransferState { | ||
private state; | ||
constructor(state: TransferState); | ||
private transferState; | ||
constructor(transferState: TransferState); | ||
get<T>(animation: AnimationFilename): T | null; | ||
} |
@@ -1,4 +0,11 @@ | ||
import { AnimationFilename, LottiePlayer, AnimationOptions, AnimationConfigWithData, AnimationConfigWithPath } from './symbols'; | ||
import { EventEmitter } from '@angular/core'; | ||
import { LottiePlayer, AnimationOptions, AnimationFilename, AnimationConfigWithData, AnimationConfigWithPath, AnimationItem, LottieEvent, CamelizedAnimationEventName } from './symbols'; | ||
import { BaseDirective } from './base.directive'; | ||
import { AnimationCache } from './animation-cache'; | ||
export declare function transformAnimationFilenameToKey(animation: AnimationFilename): string; | ||
export declare function setPlayerLocationHref(player: LottiePlayer, href: string, isSafari: boolean): void; | ||
export declare function resolveOptions(options: AnimationOptions | null, container: HTMLElement): AnimationConfigWithData | AnimationConfigWithPath; | ||
export declare function mergeOptionsWithDefault(options: AnimationOptions | null, container: HTMLElement, animationCache: AnimationCache | null): AnimationConfigWithData | AnimationConfigWithPath; | ||
export declare function isSafariFactory(): boolean; | ||
export declare function isAnimationConfigWithData(options: AnimationConfigWithPath | AnimationConfigWithData): options is AnimationConfigWithData; | ||
export declare function awaitConfigAndCache(animationCache: AnimationCache | null, options: AnimationConfigWithPath | AnimationConfigWithData, animationItem: AnimationItem): void; | ||
export declare function retrieveEventEmitter(instance: BaseDirective, name: CamelizedAnimationEventName): EventEmitter<LottieEvent>; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
531822
78
6239
354