angular-animations
Version:
Angular Animations Utilities
47 lines • 8.9 kB
JavaScript
import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';
const DEFAULT_DURATION = 200;
export function rotateAnimation(options) {
return trigger((options && options.anchor) || 'rotate', [
state('0', style({
transform: 'rotate(0deg)'
})),
state('1', style({
transform: 'rotate(' + '{{degrees}}' + 'deg)'
}), {
params: {
degrees: (options && options.degrees) || 180
}
}),
transition('0 => 1', [
...(options && options.animateChildren === 'before' ? [query('@*', animateChild(), { optional: true })] : []),
group([
group([query('@*', animateChild(), { optional: true }), animate('{{duration}}' + 'ms ' + '{{delay}}' + 'ms ' + 'ease')]),
...(!options || !options.animateChildren || options.animateChildren === 'together'
? [query('@*', animateChild(), { optional: true })]
: [])
]),
...(options && options.animateChildren === 'after' ? [query('@*', animateChild(), { optional: true })] : [])
], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
}),
transition('1 => 0', [
...(options && options.animateChildren === 'before' ? [query('@*', animateChild(), { optional: true })] : []),
group([
group([query('@*', animateChild(), { optional: true }), animate('{{duration}}' + 'ms ' + '{{delay}}' + 'ms ' + 'ease')]),
...(!options || !options.animateChildren || options.animateChildren === 'together'
? [query('@*', animateChild(), { optional: true })]
: [])
]),
...(options && options.animateChildren === 'after' ? [query('@*', animateChild(), { optional: true })] : [])
], {
params: {
delay: (options && options.delay) || 0,
duration: (options && options.duration) || DEFAULT_DURATION
}
})
]);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlLmFuaW1hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9vdGhlci9yb3RhdGUuYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUE0QixLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBV3ZJLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0FBRTdCLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBaUM7SUFDL0QsT0FBTyxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRTtRQUN0RCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxjQUFjO1NBQzFCLENBQUMsQ0FDSDtRQUNELEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFNBQVMsR0FBRyxhQUFhLEdBQUcsTUFBTTtTQUM5QyxDQUFDLEVBQ0Y7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHO2FBQzdDO1NBQ0YsQ0FDRjtRQUNELFVBQVUsQ0FDUixRQUFRLEVBQ1I7WUFDRSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0csS0FBSyxDQUFDO2dCQUNKLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssR0FBRyxXQUFXLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hILEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxVQUFVO29CQUNoRixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDUixDQUFDO1lBQ0YsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzdHLEVBQ0Q7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxRQUFRLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQjthQUM1RDtTQUNGLENBQ0Y7UUFDRCxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdHLEtBQUssQ0FBQztnQkFDSixLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLLEdBQUcsV0FBVyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN4SCxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssVUFBVTtvQkFDaEYsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1IsQ0FBQztZQUNGLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUM3RyxFQUNEO1lBQ0UsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDdEMsUUFBUSxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxnQkFBZ0I7YUFDNUQ7U0FDRixDQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLCBncm91cCwgcXVlcnksIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQgeyBJQW5pbWF0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIElSb3RhdGVBbmltYXRpb25PcHRpb25zIGV4dGVuZHMgSUFuaW1hdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogRGVncmVlcyB0byByb3RhdGUuIERlZmF1bHQgMTgwXG4gICAqL1xuICBkZWdyZWVzPzogbnVtYmVyO1xufVxuXG5jb25zdCBERUZBVUxUX0RVUkFUSU9OID0gMjAwO1xuXG5leHBvcnQgZnVuY3Rpb24gcm90YXRlQW5pbWF0aW9uKG9wdGlvbnM/OiBJUm90YXRlQW5pbWF0aW9uT3B0aW9ucyk6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSB7XG4gIHJldHVybiB0cmlnZ2VyKChvcHRpb25zICYmIG9wdGlvbnMuYW5jaG9yKSB8fCAncm90YXRlJywgW1xuICAgIHN0YXRlKFxuICAgICAgJzAnLFxuICAgICAgc3R5bGUoe1xuICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknXG4gICAgICB9KVxuICAgICksXG4gICAgc3RhdGUoXG4gICAgICAnMScsXG4gICAgICBzdHlsZSh7XG4gICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgnICsgJ3t7ZGVncmVlc319JyArICdkZWcpJ1xuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGRlZ3JlZXM6IChvcHRpb25zICYmIG9wdGlvbnMuZGVncmVlcykgfHwgMTgwXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAnMCA9PiAxJyxcbiAgICAgIFtcbiAgICAgICAgLi4uKG9wdGlvbnMgJiYgb3B0aW9ucy5hbmltYXRlQ2hpbGRyZW4gPT09ICdiZWZvcmUnID8gW3F1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXSA6IFtdKSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIGdyb3VwKFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyArICdtcyAnICsgJ3t7ZGVsYXl9fScgKyAnbXMgJyArICdlYXNlJyldKSxcbiAgICAgICAgICAuLi4oIW9wdGlvbnMgfHwgIW9wdGlvbnMuYW5pbWF0ZUNoaWxkcmVuIHx8IG9wdGlvbnMuYW5pbWF0ZUNoaWxkcmVuID09PSAndG9nZXRoZXInXG4gICAgICAgICAgICA/IFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KV1cbiAgICAgICAgICAgIDogW10pXG4gICAgICAgIF0pLFxuICAgICAgICAuLi4ob3B0aW9ucyAmJiBvcHRpb25zLmFuaW1hdGVDaGlsZHJlbiA9PT0gJ2FmdGVyJyA/IFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KV0gOiBbXSlcbiAgICAgIF0sXG4gICAgICB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGRlbGF5OiAob3B0aW9ucyAmJiBvcHRpb25zLmRlbGF5KSB8fCAwLFxuICAgICAgICAgIGR1cmF0aW9uOiAob3B0aW9ucyAmJiBvcHRpb25zLmR1cmF0aW9uKSB8fCBERUZBVUxUX0RVUkFUSU9OXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAnMSA9PiAwJyxcbiAgICAgIFtcbiAgICAgICAgLi4uKG9wdGlvbnMgJiYgb3B0aW9ucy5hbmltYXRlQ2hpbGRyZW4gPT09ICdiZWZvcmUnID8gW3F1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXSA6IFtdKSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIGdyb3VwKFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyArICdtcyAnICsgJ3t7ZGVsYXl9fScgKyAnbXMgJyArICdlYXNlJyldKSxcbiAgICAgICAgICAuLi4oIW9wdGlvbnMgfHwgIW9wdGlvbnMuYW5pbWF0ZUNoaWxkcmVuIHx8IG9wdGlvbnMuYW5pbWF0ZUNoaWxkcmVuID09PSAndG9nZXRoZXInXG4gICAgICAgICAgICA/IFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KV1cbiAgICAgICAgICAgIDogW10pXG4gICAgICAgIF0pLFxuICAgICAgICAuLi4ob3B0aW9ucyAmJiBvcHRpb25zLmFuaW1hdGVDaGlsZHJlbiA9PT0gJ2FmdGVyJyA/IFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KV0gOiBbXSlcbiAgICAgIF0sXG4gICAgICB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGRlbGF5OiAob3B0aW9ucyAmJiBvcHRpb25zLmRlbGF5KSB8fCAwLFxuICAgICAgICAgIGR1cmF0aW9uOiAob3B0aW9ucyAmJiBvcHRpb25zLmR1cmF0aW9uKSB8fCBERUZBVUxUX0RVUkFUSU9OXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIF0pO1xufVxuIl19