angular-animations
Version:
Angular Animations Utilities
55 lines • 7.59 kB
JavaScript
import { animate, animation, keyframes, style, transition, trigger } from '@angular/animations';
import { useAnimationIncludingChildren } from '../common/use-animation-including-children';
const flip = () => animation([
animate('{{duration}}ms {{delay}}ms', keyframes([
style({
transform: 'perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg)',
easing: 'ease-out',
offset: 0
}),
style({
transform: 'perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg)',
easing: 'ease-out',
offset: 0.4
}),
style({
transform: 'perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg)',
easing: 'ease-out',
offset: 0.5
}),
style({
transform: 'perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg)',
easing: 'ease-in',
offset: 0.8
}),
style({
transform: 'perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg)',
easing: 'ease-in',
offset: 1
})
]))
]);
const ɵ0 = flip;
const DEFAULT_DURATION = 1000;
export function flipAnimation(options) {
return trigger((options && options.anchor) || 'flip', [
transition('0 <=> 1', [style({ 'backface-visibility': 'visible' }), ...useAnimationIncludingChildren(flip(), options)], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
})
]);
}
export function flipOnEnterAnimation(options) {
return trigger((options && options.anchor) || 'flipOnEnter', [
transition(':enter', [style({ 'backface-visibility': 'visible' }), ...useAnimationIncludingChildren(flip(), options)], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
})
]);
}
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZmxpcHBlcnMvZmxpcC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQTRCLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTNGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUNoQixTQUFTLENBQUM7SUFDUixPQUFPLENBQ0wsNEJBQTRCLEVBQzVCLFNBQVMsQ0FBQztRQUNSLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxxRkFBcUY7WUFDaEcsTUFBTSxFQUFFLFVBQVU7WUFDbEIsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLHlGQUF5RjtZQUNwRyxNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsR0FBRztTQUNaLENBQUM7UUFDRixLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUseUZBQXlGO1lBQ3BHLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE1BQU0sRUFBRSxHQUFHO1NBQ1osQ0FBQztRQUNGLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSwyRkFBMkY7WUFDdEcsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLEdBQUc7U0FDWixDQUFDO1FBQ0YsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLGtGQUFrRjtZQUM3RixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7S0FDSCxDQUFDLENBQ0g7Q0FDRixDQUFDLENBQUM7O0FBRUwsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFFOUIsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUEyQjtJQUN2RCxPQUFPLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFO1FBQ3BELFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUN0SCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxRQUFRLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQjthQUM1RDtTQUNGLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQTJCO0lBQzlELE9BQU8sT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUU7UUFDM0QsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQ3JILE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLFFBQVEsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCO2FBQzVEO1NBQ0YsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRpb24sIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSwga2V5ZnJhbWVzLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQgeyBJQW5pbWF0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHVzZUFuaW1hdGlvbkluY2x1ZGluZ0NoaWxkcmVuIH0gZnJvbSAnLi4vY29tbW9uL3VzZS1hbmltYXRpb24taW5jbHVkaW5nLWNoaWxkcmVuJztcblxuY29uc3QgZmxpcCA9ICgpID0+XG4gIGFuaW1hdGlvbihbXG4gICAgYW5pbWF0ZShcbiAgICAgICd7e2R1cmF0aW9ufX1tcyB7e2RlbGF5fX1tcycsXG4gICAgICBrZXlmcmFtZXMoW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAncGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyknLFxuICAgICAgICAgIGVhc2luZzogJ2Vhc2Utb3V0JyxcbiAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgfSksXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICdwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyknLFxuICAgICAgICAgIGVhc2luZzogJ2Vhc2Utb3V0JyxcbiAgICAgICAgICBvZmZzZXQ6IDAuNFxuICAgICAgICB9KSxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3BlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKScsXG4gICAgICAgICAgZWFzaW5nOiAnZWFzZS1vdXQnLFxuICAgICAgICAgIG9mZnNldDogMC41XG4gICAgICAgIH0pLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAncGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyknLFxuICAgICAgICAgIGVhc2luZzogJ2Vhc2UtaW4nLFxuICAgICAgICAgIG9mZnNldDogMC44XG4gICAgICAgIH0pLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAncGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyknLFxuICAgICAgICAgIGVhc2luZzogJ2Vhc2UtaW4nLFxuICAgICAgICAgIG9mZnNldDogMVxuICAgICAgICB9KVxuICAgICAgXSlcbiAgICApXG4gIF0pO1xuXG5jb25zdCBERUZBVUxUX0RVUkFUSU9OID0gMTAwMDtcblxuZXhwb3J0IGZ1bmN0aW9uIGZsaXBBbmltYXRpb24ob3B0aW9ucz86IElBbmltYXRpb25PcHRpb25zKTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIHtcbiAgcmV0dXJuIHRyaWdnZXIoKG9wdGlvbnMgJiYgb3B0aW9ucy5hbmNob3IpIHx8ICdmbGlwJywgW1xuICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBbc3R5bGUoeyAnYmFja2ZhY2UtdmlzaWJpbGl0eSc6ICd2aXNpYmxlJyB9KSwgLi4udXNlQW5pbWF0aW9uSW5jbHVkaW5nQ2hpbGRyZW4oZmxpcCgpLCBvcHRpb25zKV0sIHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBkZWxheTogKG9wdGlvbnMgJiYgb3B0aW9ucy5kZWxheSkgfHwgMCxcbiAgICAgICAgZHVyYXRpb246IChvcHRpb25zICYmIG9wdGlvbnMuZHVyYXRpb24pIHx8IERFRkFVTFRfRFVSQVRJT05cbiAgICAgIH1cbiAgICB9KVxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsaXBPbkVudGVyQW5pbWF0aW9uKG9wdGlvbnM/OiBJQW5pbWF0aW9uT3B0aW9ucyk6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSB7XG4gIHJldHVybiB0cmlnZ2VyKChvcHRpb25zICYmIG9wdGlvbnMuYW5jaG9yKSB8fCAnZmxpcE9uRW50ZXInLCBbXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgJ2JhY2tmYWNlLXZpc2liaWxpdHknOiAndmlzaWJsZScgfSksIC4uLnVzZUFuaW1hdGlvbkluY2x1ZGluZ0NoaWxkcmVuKGZsaXAoKSwgb3B0aW9ucyldLCB7XG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZGVsYXk6IChvcHRpb25zICYmIG9wdGlvbnMuZGVsYXkpIHx8IDAsXG4gICAgICAgIGR1cmF0aW9uOiAob3B0aW9ucyAmJiBvcHRpb25zLmR1cmF0aW9uKSB8fCBERUZBVUxUX0RVUkFUSU9OXG4gICAgICB9XG4gICAgfSlcbiAgXSk7XG59XG4iXX0=