ngx-lottie
Version:
<table> <thead> <tr> <th>ngx-lottie</th> <th>Angular</th> </tr> </thead> <tbody> <tr> <td> 7.x </td> <td> >= 8 < 13 </td> </tr> <tr> <td> 8.x </td> <td> 13 </td> </tr> <tr> <td> 9.x </td> <td> 14 </td> </tr> <tr> <td> 10.x </td> <td> 15 </td> </tr> <tr> <
1 lines • 72.4 kB
Source Map (JSON)
{"version":3,"file":"ngx-lottie.mjs","sources":["../tmp-esm2022/lib/symbols.js","../tmp-esm2022/lib/animation-loader.js","../tmp-esm2022/lib/cacheable-animation-loader/cacheable-animation-loader.js","../tmp-esm2022/lib/providers.js","../tmp-esm2022/lib/base.directive.js","../tmp-esm2022/lib/lottie.directive.js","../tmp-esm2022/lib/lottie.component.js","../tmp-esm2022/lib/server.js","../tmp-esm2022/lib/transfer-state.js","../tmp-esm2022/ngx-lottie.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const LOTTIE_OPTIONS = new InjectionToken('LottieOptions');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LWxvdHRpZS9zcmMvbGliL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdHL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1FbnRlckZyYW1lRXZlbnQge1xuICB0eXBlOiAnZW50ZXJGcmFtZSc7XG4gIGN1cnJlbnRUaW1lOiBudW1iZXI7XG4gIHRvdGFsVGltZTogbnVtYmVyO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNQ29tcGxldGVMb29wRXZlbnQge1xuICB0eXBlOiAnbG9vcENvbXBsZXRlJztcbiAgY3VycmVudExvb3A6IGJvb2xlYW4gfCBudW1iZXI7XG4gIHRvdGFsTG9vcHM6IG51bWJlcjtcbiAgZGlyZWN0aW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1Db21wbGV0ZUV2ZW50IHtcbiAgdHlwZTogJ2NvbXBsZXRlJztcbiAgZGlyZWN0aW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1TZWdtZW50U3RhcnRFdmVudCB7XG4gIHR5cGU6ICdzZWdtZW50U3RhcnQnO1xuICBmaXJzdEZyYW1lOiBudW1iZXI7XG4gIHRvdGFsRnJhbWVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQk1EZXN0cm95RXZlbnQge1xuICB0YXJnZXQ6IEFuaW1hdGlvbkl0ZW07XG4gIHR5cGU6ICdkZXN0cm95Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCTVJlbmRlckZyYW1lRXJyb3JFdmVudCB7XG4gIHR5cGU6ICdyZW5kZXJGcmFtZUVycm9yJztcbiAgbmF0aXZlRXJyb3I6IEVycm9yO1xuICBjdXJyZW50VGltZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJNQ29uZmlnRXJyb3JFdmVudCB7XG4gIHR5cGU6ICdjb25maWdFcnJvcic7XG4gIG5hdGl2ZUVycm9yOiBFcnJvcjtcbn1cblxuZXhwb3J0IHR5cGUgTG90dGllRXZlbnQgPVxuICB8IEJNRW50ZXJGcmFtZUV2ZW50XG4gIHwgQk1Db21wbGV0ZUxvb3BFdmVudFxuICB8IEJNQ29tcGxldGVFdmVudFxuICB8IEJNU2VnbWVudFN0YXJ0RXZlbnRcbiAgfCBCTURlc3Ryb3lFdmVudFxuICB8IEJNUmVuZGVyRnJhbWVFcnJvckV2ZW50XG4gIHwgQk1Db25maWdFcnJvckV2ZW50XG4gIHwgdm9pZDtcblxuZXhwb3J0IHR5cGUgQ2FtZWxpemVkQW5pbWF0aW9uRXZlbnROYW1lID1cbiAgfCAnY29tcGxldGUnXG4gIHwgJ2xvb3BDb21wbGV0ZSdcbiAgfCAnZW50ZXJGcmFtZSdcbiAgfCAnc2VnbWVudFN0YXJ0J1xuICB8ICdjb25maWdSZWFkeSdcbiAgfCAnZGF0YVJlYWR5J1xuICB8ICdkb21Mb2FkZWQnXG4gIHwgJ2Rlc3Ryb3knXG4gIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgRXZlbnRzTWFwID0geyBba2V5IGluIENhbWVsaXplZEFuaW1hdGlvbkV2ZW50TmFtZV06IEFuaW1hdGlvbkV2ZW50TmFtZSB9O1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25GaWxlbmFtZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkV2ZW50TmFtZSA9IGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkV2ZW50TmFtZTtcbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkl0ZW0gPSBpbXBvcnQoJ2xvdHRpZS13ZWInKS5BbmltYXRpb25JdGVtO1xuZXhwb3J0IHR5cGUgTG90dGllUGxheWVyID0gdHlwZW9mIGltcG9ydCgnbG90dGllLXdlYicpLmRlZmF1bHQ7XG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCBwbGF5ZXIgZnJvbSAnbG90dGllLXdlYic7XG4gKiBjb25zdCBmYWN0b3J5ID0gKCkgPT4gcGxheWVyO1xuICovXG50eXBlIExvdHRpZVBsYXllckZhY3RvcnkgPSAoKSA9PiBMb3R0aWVQbGF5ZXI7XG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGZhY3RvcnkgPSAoKSA9PiBpbXBvcnQoJ2xvdHRpZS13ZWInKTtcbiAqL1xudHlwZSBMb3R0aWVMb2FkZXIgPSAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ2xvdHRpZS13ZWInKT47XG5cbmV4cG9ydCB0eXBlIExvdHRpZVBsYXllckZhY3RvcnlPckxvYWRlciA9IExvdHRpZVBsYXllckZhY3RvcnkgfCBMb3R0aWVMb2FkZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG90dGllT3B0aW9ucyB7XG4gIC8vIERldGVybWluZXMgd2hldGhlciB0byBsb2FkIGZpbGVzIG9uIGEgc2VwYXJhdGUgd29ya2VyLiBOb3RlOiB3b3JrZXJzIGNhbm5vdCBsb2FkXG4gIC8vIGFuaW1hdGlvbnMgZnJvbSBVUkxzIChpZiBgb3B0aW9ucy5wYXRoYCBpcyBkZWZpbmVkKS5cbiAgdXNlV2ViV29ya2VyPzogYm9vbGVhbjtcbiAgcGxheWVyOiBMb3R0aWVQbGF5ZXJGYWN0b3J5T3JMb2FkZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJlbmRlcmVyVHlwZSA9IGltcG9ydCgnbG90dGllLXdlYicpLlJlbmRlcmVyVHlwZTtcblxuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGE8UiBleHRlbmRzIFJlbmRlcmVyVHlwZSA9ICdzdmcnPiA9XG4gIGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhPFI+O1xuZXhwb3J0IHR5cGUgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGg8UiBleHRlbmRzIFJlbmRlcmVyVHlwZSA9ICdzdmcnPiA9XG4gIGltcG9ydCgnbG90dGllLXdlYicpLkFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoPFI+O1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25PcHRpb25zPFIgZXh0ZW5kcyBSZW5kZXJlclR5cGUgPSAnc3ZnJz4gPVxuICB8IFBhcnRpYWw8QW5pbWF0aW9uQ29uZmlnV2l0aERhdGE8Uj4+XG4gIHwgUGFydGlhbDxBbmltYXRpb25Db25maWdXaXRoUGF0aDxSPj47XG5cbmV4cG9ydCBjb25zdCBMT1RUSUVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb3R0aWVPcHRpb25zPignTG90dGllT3B0aW9ucycpO1xuIl19","import { Injectable, NgZone, inject, ɵisPromise } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mergeMap, shareReplay, tap } from 'rxjs/operators';\nimport { LOTTIE_OPTIONS, } from './symbols';\nimport * as i0 from \"@angular/core\";\nfunction convertPlayerOrLoaderToObservable() {\n const ngZone = inject(NgZone);\n const { player, useWebWorker } = inject(LOTTIE_OPTIONS);\n const player$ = new Observable(subscriber => {\n // Call the `player` function lazily — only when a subscriber\n // arrives — to avoid importing `lottie-web` on the server, as it will\n // fail with a \"document is not defined\" error.\n const playerOrLoader = ngZone.runOutsideAngular(() => player());\n // We need to use `isPromise` instead of checking whether\n // `result instanceof Promise`. In zone.js patched environments, `global.Promise`\n // is the `ZoneAwarePromise`. Some APIs, which are likely not patched by zone.js\n // for certain reasons, might not work with `instanceof`. For instance, the dynamic\n // import `() => import('./chunk.js')` returns a native promise (not a `ZoneAwarePromise`),\n // causing this check to be falsy.\n if (ɵisPromise(playerOrLoader)) {\n playerOrLoader\n .then(module => {\n subscriber.next(module.default || module);\n subscriber.complete();\n })\n .catch(error => subscriber.error(error));\n }\n else {\n subscriber.next(playerOrLoader);\n subscriber.complete();\n }\n });\n return player$.pipe(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tap(player => player.useWebWorker?.(useWebWorker)), shareReplay({ bufferSize: 1, refCount: true }));\n}\nexport class AnimationLoader {\n constructor() {\n this.player$ = convertPlayerOrLoaderToObservable().pipe(mergeMap(player => raf$(this.ngZone).pipe(map(() => player))));\n this.ngZone = inject(NgZone);\n }\n loadAnimation(options) {\n return this.player$.pipe(map(player => this.createAnimationItem(player, options)));\n }\n resolveOptions(options, container) {\n return Object.assign({\n container,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n }, options);\n }\n createAnimationItem(player, options) {\n return this.ngZone.runOutsideAngular(() => player.loadAnimation(options));\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AnimationLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AnimationLoader, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AnimationLoader, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nfunction raf$(ngZone) {\n return new Observable(subscriber => {\n const requestId = ngZone.runOutsideAngular(() => requestAnimationFrame(() => {\n subscriber.next();\n subscriber.complete();\n }));\n return () => cancelAnimationFrame(requestId);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LWxvdHRpZS9zcmMvbGliL2FuaW1hdGlvbi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQ0wsY0FBYyxHQU1mLE1BQU0sV0FBVyxDQUFDOztBQUVuQixTQUFTLGlDQUFpQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQWUsVUFBVSxDQUFDLEVBQUU7UUFDeEQsNkRBQTZEO1FBQzdELHNFQUFzRTtRQUN0RSwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFaEUseURBQXlEO1FBQ3pELGlGQUFpRjtRQUNqRixnRkFBZ0Y7UUFDaEYsbUZBQW1GO1FBQ25GLDJGQUEyRjtRQUMzRixrQ0FBa0M7UUFDbEMsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMvQixjQUFjO2lCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDYixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUM7Z0JBQzFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNoQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUMsSUFBSTtJQUNqQiw4REFBOEQ7SUFDOUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsTUFBYyxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQzNELFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUM7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFWSxZQUFPLEdBQUcsaUNBQWlDLEVBQUUsQ0FBQyxJQUFJLENBQzFELFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7UUFFTSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBNkJqQztJQTNCQyxhQUFhLENBQ1gsT0FBMEQ7UUFFMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsY0FBYyxDQUNaLE9BQWdDLEVBQ2hDLFNBQXNCO1FBRXRCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEI7WUFDRSxTQUFTO1lBQ1QsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2YsRUFDRCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFUyxtQkFBbUIsQ0FDM0IsTUFBb0IsRUFDcEIsT0FBMEQ7UUFFMUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO2lJQWpDVSxlQUFlO3FJQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBcUNsQyxTQUFTLElBQUksQ0FBQyxNQUFjO0lBQzFCLE9BQU8sSUFBSSxVQUFVLENBQU8sVUFBVSxDQUFDLEVBQUU7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUM5QyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIGluamVjdCwgybVpc1Byb21pc2UgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTE9UVElFX09QVElPTlMsXG4gIExvdHRpZVBsYXllcixcbiAgQW5pbWF0aW9uSXRlbSxcbiAgQW5pbWF0aW9uT3B0aW9ucyxcbiAgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEsXG4gIEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoLFxufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5mdW5jdGlvbiBjb252ZXJ0UGxheWVyT3JMb2FkZXJUb09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxMb3R0aWVQbGF5ZXI+IHtcbiAgY29uc3Qgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIGNvbnN0IHsgcGxheWVyLCB1c2VXZWJXb3JrZXIgfSA9IGluamVjdChMT1RUSUVfT1BUSU9OUyk7XG5cbiAgY29uc3QgcGxheWVyJCA9IG5ldyBPYnNlcnZhYmxlPExvdHRpZVBsYXllcj4oc3Vic2NyaWJlciA9PiB7XG4gICAgLy8gQ2FsbCB0aGUgYHBsYXllcmAgZnVuY3Rpb24gbGF6aWx5IOKAlCBvbmx5IHdoZW4gYSBzdWJzY3JpYmVyXG4gICAgLy8gYXJyaXZlcyDigJQgdG8gYXZvaWQgaW1wb3J0aW5nIGBsb3R0aWUtd2ViYCBvbiB0aGUgc2VydmVyLCBhcyBpdCB3aWxsXG4gICAgLy8gZmFpbCB3aXRoIGEgXCJkb2N1bWVudCBpcyBub3QgZGVmaW5lZFwiIGVycm9yLlxuICAgIGNvbnN0IHBsYXllck9yTG9hZGVyID0gbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHBsYXllcigpKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gdXNlIGBpc1Byb21pc2VgIGluc3RlYWQgb2YgY2hlY2tpbmcgd2hldGhlclxuICAgIC8vIGByZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlYC4gSW4gem9uZS5qcyBwYXRjaGVkIGVudmlyb25tZW50cywgYGdsb2JhbC5Qcm9taXNlYFxuICAgIC8vIGlzIHRoZSBgWm9uZUF3YXJlUHJvbWlzZWAuIFNvbWUgQVBJcywgd2hpY2ggYXJlIGxpa2VseSBub3QgcGF0Y2hlZCBieSB6b25lLmpzXG4gICAgLy8gZm9yIGNlcnRhaW4gcmVhc29ucywgbWlnaHQgbm90IHdvcmsgd2l0aCBgaW5zdGFuY2VvZmAuIEZvciBpbnN0YW5jZSwgdGhlIGR5bmFtaWNcbiAgICAvLyBpbXBvcnQgYCgpID0+IGltcG9ydCgnLi9jaHVuay5qcycpYCByZXR1cm5zIGEgbmF0aXZlIHByb21pc2UgKG5vdCBhIGBab25lQXdhcmVQcm9taXNlYCksXG4gICAgLy8gY2F1c2luZyB0aGlzIGNoZWNrIHRvIGJlIGZhbHN5LlxuICAgIGlmICjJtWlzUHJvbWlzZShwbGF5ZXJPckxvYWRlcikpIHtcbiAgICAgIHBsYXllck9yTG9hZGVyXG4gICAgICAgIC50aGVuKG1vZHVsZSA9PiB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KG1vZHVsZS5kZWZhdWx0IHx8IG1vZHVsZSk7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4gc3Vic2NyaWJlci5lcnJvcihlcnJvcikpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWJzY3JpYmVyLm5leHQocGxheWVyT3JMb2FkZXIpO1xuICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHBsYXllciQucGlwZShcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRhcChwbGF5ZXIgPT4gKHBsYXllciBhcyBhbnkpLnVzZVdlYldvcmtlcj8uKHVzZVdlYldvcmtlcikpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uTG9hZGVyIHtcbiAgcHJvdGVjdGVkIHBsYXllciQgPSBjb252ZXJ0UGxheWVyT3JMb2FkZXJUb09ic2VydmFibGUoKS5waXBlKFxuICAgIG1lcmdlTWFwKHBsYXllciA9PiByYWYkKHRoaXMubmdab25lKS5waXBlKG1hcCgoKSA9PiBwbGF5ZXIpKSksXG4gICk7XG5cbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBsb2FkQW5pbWF0aW9uKFxuICAgIG9wdGlvbnM6IEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhIHwgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGgsXG4gICk6IE9ic2VydmFibGU8QW5pbWF0aW9uSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnBsYXllciQucGlwZShtYXAocGxheWVyID0+IHRoaXMuY3JlYXRlQW5pbWF0aW9uSXRlbShwbGF5ZXIsIG9wdGlvbnMpKSk7XG4gIH1cblxuICByZXNvbHZlT3B0aW9ucyhcbiAgICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zIHwgbnVsbCxcbiAgICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICApOiBBbmltYXRpb25Db25maWdXaXRoRGF0YSB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgY29udGFpbmVyLFxuICAgICAgICByZW5kZXJlcjogJ3N2ZycsXG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgIGF1dG9wbGF5OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBbmltYXRpb25JdGVtKFxuICAgIHBsYXllcjogTG90dGllUGxheWVyLFxuICAgIG9wdGlvbnM6IEFuaW1hdGlvbkNvbmZpZ1dpdGhEYXRhIHwgQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGgsXG4gICk6IEFuaW1hdGlvbkl0ZW0ge1xuICAgIHJldHVybiB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBwbGF5ZXIubG9hZEFuaW1hdGlvbihvcHRpb25zKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmFmJChuZ1pvbmU6IE5nWm9uZSkge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGU8dm9pZD4oc3Vic2NyaWJlciA9PiB7XG4gICAgY29uc3QgcmVxdWVzdElkID0gbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQoKTtcbiAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgfSksXG4gICAgKTtcbiAgICByZXR1cm4gKCkgPT4gY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVxdWVzdElkKTtcbiAgfSk7XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { AnimationLoader } from '../animation-loader';\nimport * as i0 from \"@angular/core\";\nexport class CacheableAnimationLoader extends AnimationLoader {\n constructor() {\n super(...arguments);\n this.cache = new Map();\n }\n ngOnDestroy() {\n this.cache.clear();\n }\n loadAnimation(options) {\n return this.player$.pipe(map(player => {\n const animationItem = this.createAnimationItem(player, this.transformOptions(options));\n this.awaitConfigAndCache(options, animationItem);\n return animationItem;\n }));\n }\n awaitConfigAndCache(options, animationItem) {\n if (this.isAnimationConfigWithPath(options)) {\n // Don't wait for the `config_ready` event if it has been cached previously.\n if (this.cache.has(options.path)) {\n return;\n }\n animationItem.addEventListener('config_ready', () => {\n // See the comments below on why we're storing the animation data as a string.\n this.cache.set(options.path, JSON.stringify(animationItem['animationData']));\n });\n }\n }\n transformOptions(options) {\n if (this.isAnimationConfigWithPath(options) && this.cache.has(options.path)) {\n return {\n ...options,\n path: undefined,\n // Caretaker note: `lottie-web` cannot re-use the `animationData` object between animations, and we\n // have to retrieve a new object each time an animation is created.\n // https://github.com/airbnb/lottie-web#html\n // See comments for the `animationData` property.\n animationData: JSON.parse(this.cache.get(options.path)),\n };\n }\n else {\n return options;\n }\n }\n isAnimationConfigWithPath(options) {\n return typeof options.path === 'string';\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CacheableAnimationLoader, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CacheableAnimationLoader, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CacheableAnimationLoader, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVhYmxlLWFuaW1hdGlvbi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC1sb3R0aWUvc3JjL2xpYi9jYWNoZWFibGUtYW5pbWF0aW9uLWxvYWRlci9jYWNoZWFibGUtYW5pbWF0aW9uLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSXRELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFlO0lBRDdEOztRQUVVLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztLQXdEM0M7SUF0REMsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUEwRDtRQUN0RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDakQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsQ0FDekIsT0FBMEQsRUFDMUQsYUFBNEI7UUFFNUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1Qyw0RUFBNEU7WUFDNUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsT0FBTztZQUNULENBQUM7WUFFRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbEQsOEVBQThFO2dCQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLE9BQTBEO1FBRTFELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdFLE9BQU87Z0JBQ0wsR0FBRyxPQUFPO2dCQUNWLElBQUksRUFBRSxTQUFTO2dCQUNmLG1HQUFtRztnQkFDbkcsbUVBQW1FO2dCQUNuRSw0Q0FBNEM7Z0JBQzVDLGlEQUFpRDtnQkFDakQsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBRSxDQUFDO2FBQzFELENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRU8seUJBQXlCLENBQy9CLE9BQWdDO1FBRWhDLE9BQU8sT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUMxQyxDQUFDO2lJQXhEVSx3QkFBd0I7cUlBQXhCLHdCQUF3QixjQURYLE1BQU07OzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFuaW1hdGlvbkxvYWRlciB9IGZyb20gJy4uL2FuaW1hdGlvbi1sb2FkZXInO1xuaW1wb3J0IHsgQW5pbWF0aW9uSXRlbSwgQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEsIEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ2FjaGVhYmxlQW5pbWF0aW9uTG9hZGVyIGV4dGVuZHMgQW5pbWF0aW9uTG9hZGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZS5jbGVhcigpO1xuICB9XG5cbiAgbG9hZEFuaW1hdGlvbihvcHRpb25zOiBBbmltYXRpb25Db25maWdXaXRoRGF0YSB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoKSB7XG4gICAgcmV0dXJuIHRoaXMucGxheWVyJC5waXBlKFxuICAgICAgbWFwKHBsYXllciA9PiB7XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbkl0ZW0gPSB0aGlzLmNyZWF0ZUFuaW1hdGlvbkl0ZW0ocGxheWVyLCB0aGlzLnRyYW5zZm9ybU9wdGlvbnMob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmF3YWl0Q29uZmlnQW5kQ2FjaGUob3B0aW9ucywgYW5pbWF0aW9uSXRlbSk7XG4gICAgICAgIHJldHVybiBhbmltYXRpb25JdGVtO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXdhaXRDb25maWdBbmRDYWNoZShcbiAgICBvcHRpb25zOiBBbmltYXRpb25Db25maWdXaXRoRGF0YSB8IEFuaW1hdGlvbkNvbmZpZ1dpdGhQYXRoLFxuICAgIGFuaW1hdGlvbkl0ZW06IEFuaW1hdGlvbkl0ZW0sXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQW5pbWF0aW9uQ29uZmlnV2l0aFBhdGgob3B0aW9ucykpIHtcbiAgICAgIC8vIERvbid0IHdhaXQgZm9yIHRoZSBgY29uZmlnX3JlYWR5YCBldmVudCBpZiBpdCBoYXMgYmVlbiBjYWNoZWQgcHJldmlvdXNseS5cbiAgICAgIGlmICh0aGlzLmNhY2hlLmhhcyhvcHRpb25zLnBhdGghKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFuaW1hdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY29uZmlnX3JlYWR5JywgKCkgPT4ge1xuICAgICAgICAvLyBTZWUgdGhlIGNvbW1lbnRzIGJlbG93IG9uIHdoeSB3ZSdyZSBzdG9yaW5nIHRoZSBhbmltYXRpb24gZGF0YSBhcyBhIHN0cmluZy5cbiAgICAgICAgdGhpcy5jYWNoZS5zZXQob3B0aW9ucy5wYXRoISwgSlNPTi5zdHJpbmdpZnkoYW5pbWF0aW9uSXRlbVsnYW5pbWF0aW9uRGF0YSddKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybU9wdGlvbnMoXG4gICAgb3B0aW9uczogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCxcbiAgKTogQW5pbWF0aW9uQ29uZmlnV2l0aERhdGEgfCBBbmltYXRpb25Db25maWdXaXRoUGF0aCB7XG4gICAgaWYgKHRoaXMuaXNBbmltYXRpb25Db25maWdXaXRoUGF0aChvcHRpb25zKSAmJiB0aGlzLmNhY2hlLmhhcyhvcHRpb25zLnBhdGghKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgcGF0aDogdW5kZWZpbmVkLFxuICAgICAgICAvLyBDYXJldGFrZXIgbm90ZTogYGxvdHRpZS13ZWJgIGNhbm5vdCByZS11c2UgdGhlIGBhbmltYXRpb25EYXRhYCBvYmplY3QgYmV0d2VlbiBhbmltYXRpb25zLCBhbmQgd2VcbiAgICAgICAgLy8gaGF2ZSB0byByZXRyaWV2ZSBhIG5ldyBvYmplY3QgZWFjaCB0aW1lIGFuIGFuaW1hdGlvbiBpcyBjcmVhdGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYWlyYm5iL2xvdHRpZS13ZWIjaHRtbFxuICAgICAgICAvLyBTZWUgY29tbWVudHMgZm9yIHRoZSBgYW5pbWF0aW9uRGF0YWAgcHJvcGVydHkuXG4gICAgICAgIGFuaW1hdGlvbkRhdGE6IEpTT04ucGFyc2UodGhpcy5jYWNoZS5nZXQob3B0aW9ucy5wYXRoISkhKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNBbmltYXRpb25Db25maWdXaXRoUGF0aChcbiAgICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogb3B0aW9ucyBpcyBBbmltYXRpb25Db25maWdXaXRoUGF0aCB7XG4gICAgcmV0dXJuIHR5cGVvZiBvcHRpb25zLnBhdGggPT09ICdzdHJpbmcnO1xuICB9XG59XG4iXX0=","import { AnimationLoader } from './animation-loader';\nimport { LOTTIE_OPTIONS } from './symbols';\nimport { CacheableAnimationLoader } from './cacheable-animation-loader/cacheable-animation-loader';\nexport function provideCacheableAnimationLoader() {\n return [\n {\n provide: AnimationLoader,\n useExisting: CacheableAnimationLoader,\n },\n ];\n}\nexport function provideLottieOptions(options) {\n return [\n {\n provide: LOTTIE_OPTIONS,\n useValue: options,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gtbG90dGllL3NyYy9saWIvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUVuRyxNQUFNLFVBQVUsK0JBQStCO0lBQzdDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFzQjtJQUN6RCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsT0FBTztTQUNsQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5pbWF0aW9uTG9hZGVyIH0gZnJvbSAnLi9hbmltYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IExvdHRpZU9wdGlvbnMsIExPVFRJRV9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IENhY2hlYWJsZUFuaW1hdGlvbkxvYWRlciB9IGZyb20gJy4vY2FjaGVhYmxlLWFuaW1hdGlvbi1sb2FkZXIvY2FjaGVhYmxlLWFuaW1hdGlvbi1sb2FkZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNhY2hlYWJsZUFuaW1hdGlvbkxvYWRlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBbmltYXRpb25Mb2FkZXIsXG4gICAgICB1c2VFeGlzdGluZzogQ2FjaGVhYmxlQW5pbWF0aW9uTG9hZGVyLFxuICAgIH0sXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTG90dGllT3B0aW9ucyhvcHRpb25zOiBMb3R0aWVPcHRpb25zKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTE9UVElFX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcbiAgICB9LFxuICBdO1xufVxuIl19","import { Directive, Output, NgZone, inject, input, PLATFORM_ID, } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, defer } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { AnimationLoader } from './animation-loader';\nimport { isPlatformBrowser } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class BaseDirective {\n constructor() {\n this.options = input(null);\n this.containerClass = input(null);\n this.styles = input(null);\n /**\n * `animationCreated` is dispatched after calling `loadAnimation`.\n */\n this.animationCreated = this.getAnimationItem();\n /**\n * `complete` is dispatched after completing the last frame.\n */\n this.complete = this.awaitAnimationItemAndStartListening('complete');\n /**\n * `loopComplete` is dispatched after completing the frame loop.\n */\n this.loopComplete = this.awaitAnimationItemAndStartListening('loopComplete');\n /**\n * `enterFrame` is dispatched after entering the new frame.\n */\n this.enterFrame = this.awaitAnimationItemAndStartListening('enterFrame');\n /**\n * `segmentStart` is dispatched when the new segment is adjusted.\n */\n this.segmentStart = this.awaitAnimationItemAndStartListening('segmentStart');\n /**\n * Original event name is `config_ready`. `config_ready` is dispatched\n * after the needed renderer is configured.\n */\n this.configReady = this.awaitAnimationItemAndStartListening('config_ready');\n /**\n * Original event name is `data_ready`. `data_ready` is dispatched\n * when all parts of the animation have been loaded.\n */\n this.dataReady = this.awaitAnimationItemAndStartListening('data_ready');\n /**\n * Original event name is `DOMLoaded`. `DOMLoaded` is dispatched\n * when elements have been added to the DOM.\n */\n this.domLoaded = this.awaitAnimationItemAndStartListening('DOMLoaded');\n /**\n * `destroy` will be dispatched when the component gets destroyed,\n * it's handy for releasing resources.\n */\n this.destroy = this.awaitAnimationItemAndStartListening('destroy');\n /**\n * `error` will be dispatched if the Lottie player could not render\n * some frame or parse config.\n */\n this.error = this.awaitAnimationItemAndStartListening('error');\n this.ngZone = inject(NgZone);\n this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n this.animationLoader = inject(AnimationLoader);\n this.loadAnimation$ = new Subject();\n this.animationItem$ = new BehaviorSubject(null);\n this.setupLoadAnimationListener();\n }\n ngOnDestroy() {\n this.destroyAnimation();\n this.loadAnimation$.complete();\n this.animationItem$.complete();\n }\n loadAnimation(changes, container) {\n this.ngZone.runOutsideAngular(() => this.loadAnimation$.next([changes, container]));\n }\n getAnimationItem() {\n return defer(() => this.animationItem$).pipe(filter((animationItem) => animationItem !== null));\n }\n awaitAnimationItemAndStartListening(name) {\n return this.getAnimationItem().pipe(switchMap(animationItem => \n // `fromEvent` will try to call `removeEventListener` when `unsubscribe()` is invoked.\n // The problem is that `ngOnDestroy()` is called before Angular unsubscribes from\n // `@Output()` properties, thus `animationItem` will be `null` already, also `lottie-web`\n // removes event listeners when calling `destroy()`.\n new Observable(observer => {\n this.ngZone.runOutsideAngular(() => {\n animationItem.addEventListener(name, event => {\n this.ngZone.runOutsideAngular(() => {\n observer.next(event);\n });\n });\n });\n })));\n }\n setupLoadAnimationListener() {\n const loadAnimation$ = this.loadAnimation$.pipe(filter(([changes]) => this.isBrowser && changes.options !== undefined));\n loadAnimation$\n .pipe(switchMap(([changes, container]) => {\n this.destroyAnimation();\n return this.animationLoader.loadAnimation(this.animationLoader.resolveOptions(changes.options.currentValue, container));\n }))\n .subscribe(animationItem => {\n this.ngZone.run(() => this.animationItem$.next(animationItem));\n });\n }\n destroyAnimation() {\n const animationItem = this.animationItem$.getValue();\n // The `ng-lottie` component or the `lottie` directive can be destroyed\n // before the `animationItem` is set, thus it will fail with\n // `Cannot read property 'destroy' of null`.\n // Potentially it can happen if the directive gets destroyed before change\n // detection is run.\n if (animationItem === null) {\n return;\n }\n // `destroy()` will remove all events listeners.\n animationItem.destroy();\n this.animationItem$.next(null);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: BaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.3\", type: BaseDirective, isStandalone: true, selector: \"[lottie]\", inputs: { options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: \"containerClass\", publicName: \"containerClass\", isSignal: true, isRequired: false, transformFunction: null }, styles: { classPropertyName: \"styles\", publicName: \"styles\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { animationCreated: \"animationCreated\", complete: \"complete\", loopComplete: \"loopComplete\", enterFrame: \"enterFrame\", segmentStart: \"segmentStart\", configReady: \"configReady\", dataReady: \"dataReady\", domLoaded: \"domLoaded\", destroy: \"destroy\", error: \"error\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: BaseDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[lottie]' }]\n }], ctorParameters: () => [], propDecorators: { animationCreated: [{\n type: Output\n }], complete: [{\n type: Output\n }], loopComplete: [{\n type: Output\n }], enterFrame: [{\n type: Output\n }], segmentStart: [{\n type: Output\n }], configReady: [{\n type: Output\n }], dataReady: [{\n type: Output\n }], domLoaded: [{\n type: Output\n }], destroy: [{\n type: Output\n }], error: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25neC1sb3R0aWUvc3JjL2xpYi9iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEdBRVosTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBY25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGFBQWE7SUE0RXhCO1FBM0VBLFlBQU8sR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBRS9DLG1CQUFjLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUU1QyxXQUFNLEdBQUcsS0FBSyxDQUFzQyxJQUFJLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNnQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU5RDs7V0FFRztRQUNnQixhQUFRLEdBQ3pCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBa0IsVUFBVSxDQUFDLENBQUM7UUFFeEU7O1dBRUc7UUFDZ0IsaUJBQVksR0FDN0IsSUFBSSxDQUFDLG1DQUFtQyxDQUFzQixjQUFjLENBQUMsQ0FBQztRQUVoRjs7V0FFRztRQUNnQixlQUFVLEdBQzNCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBb0IsWUFBWSxDQUFDLENBQUM7UUFFNUU7O1dBRUc7UUFDZ0IsaUJBQVksR0FDN0IsSUFBSSxDQUFDLG1DQUFtQyxDQUFzQixjQUFjLENBQUMsQ0FBQztRQUVoRjs7O1dBR0c7UUFDZ0IsZ0JBQVcsR0FBRyxJQUFJLENBQUMsbUNBQW1DLENBQU8sY0FBYyxDQUFDLENBQUM7UUFFaEc7OztXQUdHO1FBQ2dCLGNBQVMsR0FBRyxJQUFJLENBQUMsbUNBQW1DLENBQU8sWUFBWSxDQUFDLENBQUM7UUFFNUY7OztXQUdHO1FBQ2dCLGNBQVMsR0FBRyxJQUFJLENBQUMsbUNBQW1DLENBQU8sV0FBVyxDQUFDLENBQUM7UUFFM0Y7OztXQUdHO1FBQ2dCLFlBQU8sR0FBRyxJQUFJLENBQUMsbUNBQW1DLENBQWlCLFNBQVMsQ0FBQyxDQUFDO1FBRWpHOzs7V0FHRztRQUNnQixVQUFLLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUVqRSxPQUFPLENBQUMsQ0FBQztRQUVILFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRW5ELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWdDLENBQUM7UUFDN0QsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLENBQUM7UUFHdkUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVTLGFBQWEsQ0FBQyxPQUFzQixFQUFFLFNBQXNCO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDMUMsTUFBTSxDQUNKLENBQUMsYUFBbUMsRUFBa0MsRUFBRSxDQUN0RSxhQUFhLEtBQUssSUFBSSxDQUN6QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sbUNBQW1DLENBQUksSUFBd0I7UUFDckUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQ2pDLFNBQVMsQ0FDUCxhQUFhLENBQUMsRUFBRTtRQUNkLHNGQUFzRjtRQUN0RixpRkFBaUY7UUFDakYseUZBQXlGO1FBQ3pGLG9EQUFvRDtRQUNwRCxJQUFJLFVBQVUsQ0FBSSxRQUFRLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7d0JBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBVSxDQUFDLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQ3ZFLENBQUM7UUFFRixjQUFjO2FBQ1gsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQzdFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JELHVFQUF1RTtRQUN2RSw0REFBNEQ7UUFDNUQsNENBQTRDO1FBQzVDLDBFQUEwRTtRQUMxRSxvQkFBb0I7UUFDcEIsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxnREFBZ0Q7UUFDaEQsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7aUlBekpVLGFBQWE7cUhBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7d0RBV2QsZ0JBQWdCO3NCQUFsQyxNQUFNO2dCQUtZLFFBQVE7c0JBQTFCLE1BQU07Z0JBTVksWUFBWTtzQkFBOUIsTUFBTTtnQkFNWSxVQUFVO3NCQUE1QixNQUFNO2dCQU1ZLFlBQVk7c0JBQTlCLE1BQU07Z0JBT1ksV0FBVztzQkFBN0IsTUFBTTtnQkFNWSxTQUFTO3NCQUEzQixNQUFNO2dCQU1ZLFNBQVM7c0JBQTNCLE1BQU07Z0JBTVksT0FBTztzQkFBekIsTUFBTTtnQkFNWSxLQUFLO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE5nWm9uZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVmZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBbmltYXRpb25PcHRpb25zLFxuICBCTUNvbXBsZXRlRXZlbnQsXG4gIEJNQ29tcGxldGVMb29wRXZlbnQsXG4gIEJNRW50ZXJGcmFtZUV2ZW50LFxuICBCTVNlZ21lbnRTdGFydEV2ZW50LFxuICBCTURlc3Ryb3lFdmVudCxcbiAgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQsXG4gIEJNQ29uZmlnRXJyb3JFdmVudCxcbiAgQW5pbWF0aW9uSXRlbSxcbiAgQW5pbWF0aW9uRXZlbnROYW1lLFxufSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgQW5pbWF0aW9uTG9hZGVyIH0gZnJvbSAnLi9hbmltYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xvdHRpZV0nIH0pXG5leHBvcnQgY2xhc3MgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIG9wdGlvbnMgPSBpbnB1dDxBbmltYXRpb25PcHRpb25zIHwgbnVsbD4obnVsbCk7XG5cbiAgY29udGFpbmVyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBzdHlsZXMgPSBpbnB1dDxQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+IHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIGBhbmltYXRpb25DcmVhdGVkYCBpcyBkaXNwYXRjaGVkIGFmdGVyIGNhbGxpbmcgYGxvYWRBbmltYXRpb25gLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGFuaW1hdGlvbkNyZWF0ZWQgPSB0aGlzLmdldEFuaW1hdGlvbkl0ZW0oKTtcblxuICAvKipcbiAgICogYGNvbXBsZXRlYCBpcyBkaXNwYXRjaGVkIGFmdGVyIGNvbXBsZXRpbmcgdGhlIGxhc3QgZnJhbWUuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY29tcGxldGUgPVxuICAgIHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8Qk1Db21wbGV0ZUV2ZW50PignY29tcGxldGUnKTtcblxuICAvKipcbiAgICogYGxvb3BDb21wbGV0ZWAgaXMgZGlzcGF0Y2hlZCBhZnRlciBjb21wbGV0aW5nIHRoZSBmcmFtZSBsb29wLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvb3BDb21wbGV0ZSA9XG4gICAgdGhpcy5hd2FpdEFuaW1hdGlvbkl0ZW1BbmRTdGFydExpc3RlbmluZzxCTUNvbXBsZXRlTG9vcEV2ZW50PignbG9vcENvbXBsZXRlJyk7XG5cbiAgLyoqXG4gICAqIGBlbnRlckZyYW1lYCBpcyBkaXNwYXRjaGVkIGFmdGVyIGVudGVyaW5nIHRoZSBuZXcgZnJhbWUuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgZW50ZXJGcmFtZSA9XG4gICAgdGhpcy5hd2FpdEFuaW1hdGlvbkl0ZW1BbmRTdGFydExpc3RlbmluZzxCTUVudGVyRnJhbWVFdmVudD4oJ2VudGVyRnJhbWUnKTtcblxuICAvKipcbiAgICogYHNlZ21lbnRTdGFydGAgaXMgZGlzcGF0Y2hlZCB3aGVuIHRoZSBuZXcgc2VnbWVudCBpcyBhZGp1c3RlZC5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWdtZW50U3RhcnQgPVxuICAgIHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8Qk1TZWdtZW50U3RhcnRFdmVudD4oJ3NlZ21lbnRTdGFydCcpO1xuXG4gIC8qKlxuICAgKiBPcmlnaW5hbCBldmVudCBuYW1lIGlzIGBjb25maWdfcmVhZHlgLiBgY29uZmlnX3JlYWR5YCBpcyBkaXNwYXRjaGVkXG4gICAqIGFmdGVyIHRoZSBuZWVkZWQgcmVuZGVyZXIgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjb25maWdSZWFkeSA9IHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8dm9pZD4oJ2NvbmZpZ19yZWFkeScpO1xuXG4gIC8qKlxuICAgKiBPcmlnaW5hbCBldmVudCBuYW1lIGlzIGBkYXRhX3JlYWR5YC4gYGRhdGFfcmVhZHlgIGlzIGRpc3BhdGNoZWRcbiAgICogd2hlbiBhbGwgcGFydHMgb2YgdGhlIGFuaW1hdGlvbiBoYXZlIGJlZW4gbG9hZGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRhdGFSZWFkeSA9IHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8dm9pZD4oJ2RhdGFfcmVhZHknKTtcblxuICAvKipcbiAgICogT3JpZ2luYWwgZXZlbnQgbmFtZSBpcyBgRE9NTG9hZGVkYC4gYERPTUxvYWRlZGAgaXMgZGlzcGF0Y2hlZFxuICAgKiB3aGVuIGVsZW1lbnRzIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRvbUxvYWRlZCA9IHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8dm9pZD4oJ0RPTUxvYWRlZCcpO1xuXG4gIC8qKlxuICAgKiBgZGVzdHJveWAgd2lsbCBiZSBkaXNwYXRjaGVkIHdoZW4gdGhlIGNvbXBvbmVudCBnZXRzIGRlc3Ryb3llZCxcbiAgICogaXQncyBoYW5keSBmb3IgcmVsZWFzaW5nIHJlc291cmNlcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBkZXN0cm95ID0gdGhpcy5hd2FpdEFuaW1hdGlvbkl0ZW1BbmRTdGFydExpc3RlbmluZzxCTURlc3Ryb3lFdmVudD4oJ2Rlc3Ryb3knKTtcblxuICAvKipcbiAgICogYGVycm9yYCB3aWxsIGJlIGRpc3BhdGNoZWQgaWYgdGhlIExvdHRpZSBwbGF5ZXIgY291bGQgbm90IHJlbmRlclxuICAgKiBzb21lIGZyYW1lIG9yIHBhcnNlIGNvbmZpZy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBlcnJvciA9IHRoaXMuYXdhaXRBbmltYXRpb25JdGVtQW5kU3RhcnRMaXN0ZW5pbmc8XG4gICAgQk1SZW5kZXJGcmFtZUVycm9yRXZlbnQgfCBCTUNvbmZpZ0Vycm9yRXZlbnRcbiAgPignZXJyb3InKTtcblxuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIGlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuXG4gIHByaXZhdGUgYW5pbWF0aW9uTG9hZGVyID0gaW5qZWN0KEFuaW1hdGlvbkxvYWRlcik7XG5cbiAgcHJpdmF0ZSBsb2FkQW5pbWF0aW9uJCA9IG5ldyBTdWJqZWN0PFtTaW1wbGVDaGFuZ2VzLCBIVE1MRWxlbWVudF0+KCk7XG4gIHByaXZhdGUgYW5pbWF0aW9uSXRlbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFuaW1hdGlvbkl0ZW0gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNldHVwTG9hZEFuaW1hdGlvbkxpc3RlbmVyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lBbmltYXRpb24oKTtcbiAgICB0aGlzLmxvYWRBbmltYXRpb24kLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hbmltYXRpb25JdGVtJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxvYWRBbmltYXRpb24oY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgY29udGFpbmVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMubG9hZEFuaW1hdGlvbiQubmV4dChbY2hhbmdlcywgY29udGFpbmVyXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbmltYXRpb25JdGVtKCk6IE9ic2VydmFibGU8QW5pbWF0aW9uSXRlbT4ge1xuICAgIHJldHVybiBkZWZlcigoKSA9PiB0aGlzLmFuaW1hdGlvbkl0ZW0kKS5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICAoYW5pbWF0aW9uSXRlbTogQW5pbWF0aW9uSXRlbSB8IG51bGwpOiBhbmltYXRpb25JdGVtIGlzIEFuaW1hdGlvbkl0ZW0gPT5cbiAgICAgICAgICBhbmltYXRpb25JdGVtICE9PSBudWxsLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhd2FpdEFuaW1hdGlvbkl0ZW1BbmRTdGFydExpc3RlbmluZzxUPihuYW1lOiBBbmltYXRpb25FdmVudE5hbWUpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbmltYXRpb25JdGVtKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgYW5pbWF0aW9uSXRlbSA9PlxuICAgICAgICAgIC8vIGBmcm9tRXZlbnRgIHdpbGwgdHJ5IHRvIGNhbGwgYHJlbW92ZUV2ZW50TGlzdGVuZXJgIHdoZW4gYHVuc3Vic2NyaWJlKClgIGlzIGludm9rZWQuXG4gICAgICAgICAgLy8gVGhlIHByb2JsZW0gaXMgdGhhdCBgbmdPbkRlc3Ryb3koKWAgaXMgY2FsbGVkIGJlZm9yZSBBbmd1bGFyIHVuc3Vic2NyaWJlcyBmcm9tXG4gICAgICAgICAgLy8gYEBPdXRwdXQoKWAgcHJvcGVydGllcywgdGh1cyBgYW5pbWF0aW9uSXRlbWAgd2lsbCBiZSBgbnVsbGAgYWxyZWFkeSwgYWxzbyBgbG90dGllLXdlYmBcbiAgICAgICAgICAvLyByZW1vdmVzIGV2ZW50IGxpc3RlbmVycyB3aGVuIGNhbGxpbmcgYGRlc3Ryb3koKWAuXG4gICAgICAgICAgbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICBhbmltYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXZlbnQgYXMgVCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTG9hZEFuaW1hdGlvbkxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRBbmltYXRpb24kID0gdGhpcy5sb2FkQW5pbWF0aW9uJC5waXBlKFxuICAgICAgZmlsdGVyKChbY2hhbmdlc10pID0+IHRoaXMuaXNCcm93c2VyICYmIGNoYW5nZXMub3B0aW9ucyAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuXG4gICAgbG9hZEFuaW1hdGlvbiRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFtjaGFuZ2VzLCBjb250YWluZXJdKSA9PiB7XG4gICAgICAgICAgdGhpcy5kZXN0cm95QW5pbWF0aW9uKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uTG9hZGVyLmxvYWRBbmltYXRpb24oXG4gICAgICAgICAgICB0aGlzLmFuaW1hdGlvbkxvYWRlci5yZXNvbHZlT3B0aW9ucyhjaGFuZ2VzLm9wdGlvbnMuY3VycmVudFZhbHVlLCBjb250YWluZXIpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhbmltYXRpb25JdGVtID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuYW5pbWF0aW9uSXRlbSQubmV4dChhbmltYXRpb25JdGVtKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhbmltYXRpb25JdGVtID0gdGhpcy5hbmltYXRpb25JdGVtJC5nZXRWYWx1ZSgpO1xuICAgIC8vIFRoZSBgbmctbG90dGllYCBjb21wb25lbnQgb3IgdGhlIGBsb3R0aWVgIGRpcmVjdGl2ZSBjYW4gYmUgZGVzdHJveWVkXG4gICAgLy8gYmVmb3JlIHRoZSBgYW5pbWF0aW9uSXRlbWAgaXMgc2V0LCB0aHVzIGl0IHdpbGwgZmFpbCB3aXRoXG4gICAgLy8gYENhbm5vdCByZWFkIHByb3BlcnR5ICdkZXN0cm95JyBvZiBudWxsYC5cbiAgICAvLyBQb3RlbnRpYWxseSBpdCBjYW4gaGFwcGVuIGlmIHRoZSBkaXJlY3RpdmUgZ2V0cyBkZXN0cm95ZWQgYmVmb3JlIGNoYW5nZVxuICAgIC8vIGRldGVjdGlvbiBpcyBydW4uXG4gICAgaWYgKGFuaW1hdGlvbkl0ZW0gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBgZGVzdHJveSgpYCB3aWxsIHJlbW92ZSBhbGwgZXZlbnRzIGxpc3RlbmVycy5cbiAgICBhbmltYXRpb25JdGVtLmRlc3Ryb3koKTtcbiAgICB0aGlzLmFuaW1hdGlvbkl0ZW0kLm5leHQobnVsbCk7XG4gIH1cbn1cbiJdfQ==","import { Directive, ElementRef, inject } from '@angular/core';\nimport { BaseDirective } from './base.directive';\nimport * as i0 from \"@angular/core\";\nexport class LottieDirective extends BaseDirective {\n constructor() {\n super(...arguments);\n this.host = inject(ElementRef);\n }\n ngOnChanges(changes) {\n super.loadAnimation(changes, this.host.nativeElement);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: LottieDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.3\", type: LottieDirective, isStandalone: true, selector: \"[lottie]\", usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: LottieDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[lottie]', standalone: true }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LWxvdHRpZS9zcmMvbGliL2xvdHRpZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR2pELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFEbEQ7O1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUtuQztJQUhDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7aUlBTFUsZUFBZTtxSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tsb3R0aWVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIExvdHRpZURpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIGhvc3QgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHN1cGVyLmxvYWRBbmltYXRpb24oY2hhbmdlcywgdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG59XG4iXX0=","import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, input, } from '@angular/core';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { BaseDirective } from './base.directive';\nimport * as i0 from \"@angular/core\";\nexport class LottieComponent extends BaseDirective {\n constructor() {\n super(...arguments);\n this.width = input(null);\n this.height = input(null);\n this.container = null;\n }\n ngOnChanges(changes) {\n super.loadAnimation(changes, this.container.nativeElement);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: LottieComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.3\", type: LottieComponent, isStandalone: true, selector: \"ng-lottie\", inputs: { widt