angular-animations
Version:
Angular Animations Utilities
36 lines • 7.03 kB
JavaScript
import { animate, animation, AUTO_STYLE, keyframes, style, transition, trigger } from '@angular/animations';
import { useAnimationIncludingChildren } from '../common/use-animation-including-children';
const headShake = () => animation([
animate('{{duration}}ms {{delay}}ms', keyframes([
style({ visibility: AUTO_STYLE, transform: 'translateX(0)', easing: 'ease-in-out', offset: 0 }),
style({ transform: 'translateX(-6px) rotateY(-9deg)', easing: 'ease-in-out', offset: 0.065 }),
style({ transform: 'translateX(5px) rotateY(7deg)', easing: 'ease-in-out', offset: 0.185 }),
style({ transform: 'translateX(-3px) rotateY(-5deg)', easing: 'ease-in-out', offset: 0.315 }),
style({ transform: 'translateX(2px) rotateY(3deg)', easing: 'ease-in-out', offset: 0.435 }),
style({ transform: 'translateX(0)', easing: 'ease-in-out', offset: 0.5 })
]))
]);
const ɵ0 = headShake;
const DEFAULT_DURATION = 1000;
export function headShakeAnimation(options) {
return trigger((options && options.anchor) || 'headShake', [
transition(`0 ${(options && options.direction) || '<=>'} 1`, [...useAnimationIncludingChildren(headShake(), options)], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
})
]);
}
export function headShakeOnEnterAnimation(options) {
return trigger((options && options.anchor) || 'headShakeOnEnter', [
transition(':enter', [style({ visibility: 'hidden' }), ...useAnimationIncludingChildren(headShake(), options)], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
})
]);
}
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1zaGFrZS5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvYXR0ZW50aW9uLXNlZWtlcnMvaGVhZC1zaGFrZS5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQTRCLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd0SSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRixNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FDckIsU0FBUyxDQUFDO0lBQ1IsT0FBTyxDQUNMLDRCQUE0QixFQUM1QixTQUFTLENBQUM7UUFDUixLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0YsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzdGLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMzRixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDN0YsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLCtCQUErQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzNGLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7S0FDMUUsQ0FBQyxDQUNIO0NBQ0YsQ0FBQyxDQUFDOztBQUVMLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUEwQztJQUMzRSxPQUFPLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFO1FBQ3pELFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcsNkJBQTZCLENBQUMsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUNySCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxRQUFRLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQjthQUM1RDtTQUNGLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BQTBDO0lBQ2xGLE9BQU8sT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxrQkFBa0IsRUFBRTtRQUNoRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsR0FBRyw2QkFBNkIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQzlHLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLFFBQVEsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCO2FBQzVEO1NBQ0YsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRpb24sIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSwgQVVUT19TVFlMRSwga2V5ZnJhbWVzLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQgeyBJQXR0ZW50aW9uU2Vla2VyQW5pbWF0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHVzZUFuaW1hdGlvbkluY2x1ZGluZ0NoaWxkcmVuIH0gZnJvbSAnLi4vY29tbW9uL3VzZS1hbmltYXRpb24taW5jbHVkaW5nLWNoaWxkcmVuJztcblxuY29uc3QgaGVhZFNoYWtlID0gKCkgPT5cbiAgYW5pbWF0aW9uKFtcbiAgICBhbmltYXRlKFxuICAgICAgJ3t7ZHVyYXRpb259fW1zIHt7ZGVsYXl9fW1zJyxcbiAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgIHN0eWxlKHsgdmlzaWJpbGl0eTogQVVUT19TVFlMRSwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsIGVhc2luZzogJ2Vhc2UtaW4tb3V0Jywgb2Zmc2V0OiAwIH0pLFxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyknLCBlYXNpbmc6ICdlYXNlLWluLW91dCcsIG9mZnNldDogMC4wNjUgfSksXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyknLCBlYXNpbmc6ICdlYXNlLWluLW91dCcsIG9mZnNldDogMC4xODUgfSksXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKScsIGVhc2luZzogJ2Vhc2UtaW4tb3V0Jywgb2Zmc2V0OiAwLjMxNSB9KSxcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKScsIGVhc2luZzogJ2Vhc2UtaW4tb3V0Jywgb2Zmc2V0OiAwLjQzNSB9KSxcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgZWFzaW5nOiAnZWFzZS1pbi1vdXQnLCBvZmZzZXQ6IDAuNSB9KVxuICAgICAgXSlcbiAgICApXG4gIF0pO1xuXG5jb25zdCBERUZBVUxUX0RVUkFUSU9OID0gMTAwMDtcblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRTaGFrZUFuaW1hdGlvbihvcHRpb25zPzogSUF0dGVudGlvblNlZWtlckFuaW1hdGlvbk9wdGlvbnMpOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEge1xuICByZXR1cm4gdHJpZ2dlcigob3B0aW9ucyAmJiBvcHRpb25zLmFuY2hvcikgfHwgJ2hlYWRTaGFrZScsIFtcbiAgICB0cmFuc2l0aW9uKGAwICR7KG9wdGlvbnMgJiYgb3B0aW9ucy5kaXJlY3Rpb24pIHx8ICc8PT4nfSAxYCwgWy4uLnVzZUFuaW1hdGlvbkluY2x1ZGluZ0NoaWxkcmVuKGhlYWRTaGFrZSgpLCBvcHRpb25zKV0sIHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBkZWxheTogKG9wdGlvbnMgJiYgb3B0aW9ucy5kZWxheSkgfHwgMCxcbiAgICAgICAgZHVyYXRpb246IChvcHRpb25zICYmIG9wdGlvbnMuZHVyYXRpb24pIHx8IERFRkFVTFRfRFVSQVRJT05cbiAgICAgIH1cbiAgICB9KVxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRTaGFrZU9uRW50ZXJBbmltYXRpb24ob3B0aW9ucz86IElBdHRlbnRpb25TZWVrZXJBbmltYXRpb25PcHRpb25zKTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIHtcbiAgcmV0dXJuIHRyaWdnZXIoKG9wdGlvbnMgJiYgb3B0aW9ucy5hbmNob3IpIHx8ICdoZWFkU2hha2VPbkVudGVyJywgW1xuICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtzdHlsZSh7IHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pLCAuLi51c2VBbmltYXRpb25JbmNsdWRpbmdDaGlsZHJlbihoZWFkU2hha2UoKSwgb3B0aW9ucyldLCB7XG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZGVsYXk6IChvcHRpb25zICYmIG9wdGlvbnMuZGVsYXkpIHx8IDAsXG4gICAgICAgIGR1cmF0aW9uOiAob3B0aW9ucyAmJiBvcHRpb25zLmR1cmF0aW9uKSB8fCBERUZBVUxUX0RVUkFUSU9OXG4gICAgICB9XG4gICAgfSlcbiAgXSk7XG59XG4iXX0=