/** * @license Angular v12.2.15 * (c) 2010-2021 Google LLC. https://angular.io/ * License: MIT */ import { NoopAnimationPlayer, AUTO_STYLE } from '@angular/animations'; import { ɵvalidateStyleProperty, ɵmatchesElement, ɵcontainsElement, ɵinvokeQuery, ɵallowPreviousPlayerStylesMerge } from '@angular/animations/browser'; /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @publicApi */ class MockAnimationDriver { validateStyleProperty(prop) { return ɵvalidateStyleProperty(prop); } matchesElement(element, selector) { return ɵmatchesElement(element, selector); } containsElement(elm1, elm2) { return ɵcontainsElement(elm1, elm2); } query(element, selector, multi) { return ɵinvokeQuery(element, selector, multi); } computeStyle(element, prop, defaultValue) { return defaultValue || ''; } animate(element, keyframes, duration, delay, easing, previousPlayers = []) { const player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers); MockAnimationDriver.log.push(player); return player; } } MockAnimationDriver.log = []; /** * @publicApi */ class MockAnimationPlayer extends NoopAnimationPlayer { constructor(element, keyframes, duration, delay, easing, previousPlayers) { super(duration, delay); this.element = element; this.keyframes = keyframes; this.duration = duration; this.delay = delay; this.easing = easing; this.previousPlayers = previousPlayers; this.__finished = false; this.__started = false; this.previousStyles = {}; this._onInitFns = []; this.currentSnapshot = {}; if (ɵallowPreviousPlayerStylesMerge(duration, delay)) { previousPlayers.forEach(player => { if (player instanceof MockAnimationPlayer) { const styles = player.currentSnapshot; Object.keys(styles).forEach(prop => this.previousStyles[prop] = styles[prop]); } }); } } /* @internal */ onInit(fn) { this._onInitFns.push(fn); } /* @internal */ init() { super.init(); this._onInitFns.forEach(fn => fn()); this._onInitFns = []; } reset() { super.reset(); this.__started = false; } finish() { super.finish(); this.__finished = true; } destroy() { super.destroy(); this.__finished = true; } /* @internal */ triggerMicrotask() { } play() { super.play(); this.__started = true; } hasStarted() { return this.__started; } beforeDestroy() { const captures = {}; Object.keys(this.previousStyles).forEach(prop => { captures[prop] = this.previousStyles[prop]; }); if (this.hasStarted()) { // when assembling the captured styles, it's important that // we build the keyframe styles in the following order: // {other styles within keyframes, ... previousStyles } this.keyframes.forEach(kf => { Object.keys(kf).forEach(prop => { if (prop != 'offset') { captures[prop] = this.__finished ? kf[prop] : AUTO_STYLE; } }); }); } this.currentSnapshot = captures; } } /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Generated bundle index. Do not edit. */ export { MockAnimationDriver, MockAnimationPlayer }; //# sourceMappingURL=testing.js.map