import { animate, AnimationTriggerMetadata, style, transition, trigger, } from '@angular/animations'; import { AnimationConfigInterface, } from './animation-config.interface'; import { ANIMATION_DEFAULTS_CONST, } from './animation-defaults.const'; export function enterFromRightAnimation( config?: AnimationConfigInterface, ): AnimationTriggerMetadata { return trigger( (config && config.animationName) || 'enterFromRightAnimation', [ transition(':enter', [ style({ transform: 'translateX(100%)', }), animate( (config && config.animationTimingsEnter) || ANIMATION_DEFAULTS_CONST.animationTimings, style({ transform: 'translateX(0)', }), )], ), transition(':leave', [ style({ transform: 'translateX(0)', }), animate( (config && config.animationTimingsLeave) || ANIMATION_DEFAULTS_CONST.animationTimings, style({ transform: 'translateX(100%)', }), ), ]), ], ); }