@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
99 lines • 16.9 kB
JavaScript
import { animate, animation, keyframes, style } from '@angular/animations';
import { EaseInOut } from '../easings';
const baseRecipe = [
animate(`{{duration}} {{delay}} {{easing}}`, keyframes([
style({
offset: 0,
transform: `rotate(0deg) translate{{direction}}(0)`,
transformOrigin: `{{xPos}} {{yPos}}`
}),
style({
offset: 0.1,
transform: `rotate({{endAngle}}deg) translate{{direction}}(-{{startDistance}})`
}),
style({
offset: 0.2,
transform: `rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})`
}),
style({
offset: 0.3,
transform: `rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})`
}),
style({
offset: 0.4,
transform: `rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})`
}),
style({
offset: 0.5,
transform: `rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})`
}),
style({
offset: 0.6,
transform: `rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})`
}),
style({
offset: 0.7,
transform: `rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})`
}),
style({
offset: 0.8,
transform: `rotate(-{{endAngle}}deg) translate{{direction}}({{endDistance}})`
}),
style({
offset: 0.9,
transform: `rotate({{endAngle}}deg) translate{{direction}}(-{{endDistance}})`
}),
style({
offset: 1,
transform: `rotate(0deg) translate{{direction}}(0)`,
transformOrigin: `{{xPos}} {{yPos}}`
})
]))
];
const baseParams = {
delay: '0s',
direction: 'X',
duration: '800ms',
easing: EaseInOut.quad,
endAngle: 0,
endDistance: '8px',
startAngle: 0,
startDistance: '10px',
xPos: 'center',
yPos: 'center'
};
const shakeHor = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'X' })
});
const shakeVer = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y' })
});
const shakeTop = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', yPos: 'top' })
});
const shakeBottom = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', yPos: 'bottom' })
});
const shakeRight = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'right', yPos: 'center' })
});
const shakeLeft = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'left', yPos: 'center' })
});
const shakeCenter = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 8, endDistance: '0', startAngle: 10, startDistance: '0', xPos: 'center', yPos: 'center' })
});
const shakeTr = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'right', yPos: 'top' })
});
const shakeBr = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'right', yPos: 'bottom' })
});
const shakeBl = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'left', yPos: 'bottom' })
});
const shakeTl = animation(baseRecipe, {
params: Object.assign(Object.assign({}, baseParams), { direction: 'Y', endAngle: 2, endDistance: '0', startAngle: 4, startDistance: '0', xPos: 'left', yPos: 'top' })
});
export { shakeHor, shakeVer, shakeTop, shakeBottom, shakeRight, shakeLeft, shakeCenter, shakeTr, shakeBr, shakeBl, shakeTl };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hha2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2FuaW1hdGlvbnMvbWlzYy9zaGFrZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUNQLFNBQVMsRUFHVCxTQUFTLEVBQ1QsS0FBSyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd2QyxNQUFNLFVBQVUsR0FBd0I7SUFDcEMsT0FBTyxDQUNILG1DQUFtQyxFQUNuQyxTQUFTLENBQUM7UUFDTixLQUFLLENBQUM7WUFDRixNQUFNLEVBQUUsQ0FBQztZQUNULFNBQVMsRUFBRSx3Q0FBd0M7WUFDbkQsZUFBZSxFQUFFLG1CQUFtQjtTQUN2QyxDQUFDO1FBQ0YsS0FBSyxDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUc7WUFDWCxTQUFTLEVBQUUsb0VBQW9FO1NBQ2xGLENBQUM7UUFDRixLQUFLLENBQUM7WUFDRixNQUFNLEVBQUUsR0FBRztZQUNYLFNBQVMsRUFBRSxzRUFBc0U7U0FDcEYsQ0FBQztRQUNGLEtBQUssQ0FBQztZQUNGLE1BQU0sRUFBRSxHQUFHO1lBQ1gsU0FBUyxFQUFFLHNFQUFzRTtTQUNwRixDQUFDO1FBQ0YsS0FBSyxDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUc7WUFDWCxTQUFTLEVBQUUsc0VBQXNFO1NBRXBGLENBQUM7UUFDRixLQUFLLENBQUM7WUFDRixNQUFNLEVBQUUsR0FBRztZQUNYLFNBQVMsRUFBRSxzRUFBc0U7U0FDcEYsQ0FBQztRQUNGLEtBQUssQ0FBQztZQUNGLE1BQU0sRUFBRSxHQUFHO1lBQ1gsU0FBUyxFQUFFLHNFQUFzRTtTQUVwRixDQUFDO1FBQ0YsS0FBSyxDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUc7WUFDWCxTQUFTLEVBQUUsc0VBQXNFO1NBQ3BGLENBQUM7UUFDRixLQUFLLENBQUM7WUFDRixNQUFN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QUFXLEVBQ1gsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgYW5pbWF0aW9uLFxuICAgIEFuaW1hdGlvbk1ldGFkYXRhLFxuICAgIEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhLFxuICAgIGtleWZyYW1lcyxcbiAgICBzdHlsZVxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEVhc2VJbk91dCB9IGZyb20gJy4uL2Vhc2luZ3MnO1xuaW1wb3J0IHsgSUFuaW1hdGlvblBhcmFtcyB9IGZyb20gJy4uL2ludGVyZmFjZSc7XG5cbmNvbnN0IGJhc2VSZWNpcGU6IEFuaW1hdGlvbk1ldGFkYXRhW10gPSBbXG4gICAgYW5pbWF0ZShcbiAgICAgICAgYHt7ZHVyYXRpb259fSB7e2RlbGF5fX0ge3tlYXNpbmd9fWAsXG4gICAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KDApYCxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46IGB7e3hQb3N9fSB7e3lQb3N9fWBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIG9mZnNldDogMC4xLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHJvdGF0ZSh7e2VuZEFuZ2xlfX1kZWcpIHRyYW5zbGF0ZXt7ZGlyZWN0aW9ufX0oLXt7c3RhcnREaXN0YW5jZX19KWBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIG9mZnNldDogMC4yLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHJvdGF0ZSgte3tzdGFydEFuZ2xlfX1kZWcpIHRyYW5zbGF0ZXt7ZGlyZWN0aW9ufX0oe3tzdGFydERpc3RhbmNlfX0pYFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjMsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKHt7c3RhcnRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KC17e3N0YXJ0RGlzdGFuY2V9fSlgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAuNCxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGByb3RhdGUoLXt7c3RhcnRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KHt7c3RhcnREaXN0YW5jZX19KWBcblxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjUsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKHt7c3RhcnRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KC17e3N0YXJ0RGlzdGFuY2V9fSlgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAuNixcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGByb3RhdGUoLXt7c3RhcnRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KHt7c3RhcnREaXN0YW5jZX19KWBcblxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKHt7c3RhcnRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KC17e3N0YXJ0RGlzdGFuY2V9fSlgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAuOCxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGByb3RhdGUoLXt7ZW5kQW5nbGV9fWRlZykgdHJhbnNsYXRle3tkaXJlY3Rpb259fSh7e2VuZERpc3RhbmNlfX0pYFxuXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAuOSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGByb3RhdGUoe3tlbmRBbmdsZX19ZGVnKSB0cmFuc2xhdGV7e2RpcmVjdGlvbn19KC17e2VuZERpc3RhbmNlfX0pYFxuXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKDBkZWcpIHRyYW5zbGF0ZXt7ZGlyZWN0aW9ufX0oMClgLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogYHt7eFBvc319IHt7eVBvc319YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgXSlcbiAgICApXG5dO1xuXG5jb25zdCBiYXNlUGFyYW1zOiBJQW5pbWF0aW9uUGFyYW1zID0ge1xuICAgIGRlbGF5OiAnMHMnLFxuICAgIGRpcmVjdGlvbjogJ1gnLFxuICAgIGR1cmF0aW9uOiAnODAwbXMnLFxuICAgIGVhc2luZzogRWFzZUluT3V0LnF1YWQsXG4gICAgZW5kQW5nbGU6IDAsXG4gICAgZW5kRGlzdGFuY2U6ICc4cHgnLFxuICAgIHN0YXJ0QW5nbGU6IDAsXG4gICAgc3RhcnREaXN0YW5jZTogJzEwcHgnLFxuICAgIHhQb3M6ICdjZW50ZXInLFxuICAgIHlQb3M6ICdjZW50ZXInXG59O1xuXG5jb25zdCBzaGFrZUhvcjogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBkaXJlY3Rpb246ICdYJ1xuICAgIH1cbn0pO1xuXG5jb25zdCBzaGFrZVZlcjogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBkaXJlY3Rpb246ICdZJ1xuICAgIH1cbn0pO1xuXG5jb25zdCBzaGFrZVRvcDogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBlbmRBbmdsZTogMixcbiAgICAgICAgZW5kRGlzdGFuY2U6ICcwJyxcbiAgICAgICAgc3RhcnRBbmdsZTogNCxcbiAgICAgICAgc3RhcnREaXN0YW5jZTogJzAnLFxuICAgICAgICB5UG9zOiAndG9wJ1xuICAgIH1cbn0pO1xuXG5jb25zdCBzaGFrZUJvdHRvbTogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBkaXJlY3Rpb246ICdZJyxcbiAgICAgICAgZW5kQW5nbGU6IDIsXG4gICAgICAgIGVuZERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHN0YXJ0QW5nbGU6IDQsXG4gICAgICAgIHN0YXJ0RGlzdGFuY2U6ICcwJyxcbiAgICAgICAgeVBvczogJ2JvdHRvbSdcbiAgICB9XG59KTtcblxuY29uc3Qgc2hha2VSaWdodDogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBkaXJlY3Rpb246ICdZJyxcbiAgICAgICAgZW5kQW5nbGU6IDIsXG4gICAgICAgIGVuZERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHN0YXJ0QW5nbGU6IDQsXG4gICAgICAgIHN0YXJ0RGlzdGFuY2U6ICcwJyxcbiAgICAgICAgeFBvczogJ3JpZ2h0JyxcbiAgICAgICAgeVBvczogJ2NlbnRlcidcbiAgICB9XG59KTtcblxuY29uc3Qgc2hha2VMZWZ0OiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSA9IGFuaW1hdGlvbihiYXNlUmVjaXBlLCB7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIC4uLmJhc2VQYXJhbXMsXG4gICAgICAgIGRpcmVjdGlvbjogJ1knLFxuICAgICAgICBlbmRBbmdsZTogMixcbiAgICAgICAgZW5kRGlzdGFuY2U6ICcwJyxcbiAgICAgICAgc3RhcnRBbmdsZTogNCxcbiAgICAgICAgc3RhcnREaXN0YW5jZTogJzAnLFxuICAgICAgICB4UG9zOiAnbGVmdCcsXG4gICAgICAgIHlQb3M6ICdjZW50ZXInXG4gICAgfVxufSk7XG5cbmNvbnN0IHNoYWtlQ2VudGVyOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSA9IGFuaW1hdGlvbihiYXNlUmVjaXBlLCB7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIC4uLmJhc2VQYXJhbXMsXG4gICAgICAgIGRpcmVjdGlvbjogJ1knLFxuICAgICAgICBlbmRBbmdsZTogOCxcbiAgICAgICAgZW5kRGlzdGFuY2U6ICcwJyxcbiAgICAgICAgc3RhcnRBbmdsZTogMTAsXG4gICAgICAgIHN0YXJ0RGlzdGFuY2U6ICcwJyxcbiAgICAgICAgeFBvczogJ2NlbnRlcicsXG4gICAgICAgIHlQb3M6ICdjZW50ZXInXG4gICAgfVxufSk7XG5cbmNvbnN0IHNoYWtlVHI6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhID0gYW5pbWF0aW9uKGJhc2VSZWNpcGUsIHtcbiAgICBwYXJhbXM6IHtcbiAgICAgICAgLi4uYmFzZVBhcmFtcyxcbiAgICAgICAgZGlyZWN0aW9uOiAnWScsXG4gICAgICAgIGVuZEFuZ2xlOiAyLFxuICAgICAgICBlbmREaXN0YW5jZTogJzAnLFxuICAgICAgICBzdGFydEFuZ2xlOiA0LFxuICAgICAgICBzdGFydERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHhQb3M6ICdyaWdodCcsXG4gICAgICAgIHlQb3M6ICd0b3AnXG4gICAgfVxufSk7XG5cbmNvbnN0IHNoYWtlQnI6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhID0gYW5pbWF0aW9uKGJhc2VSZWNpcGUsIHtcbiAgICBwYXJhbXM6IHtcbiAgICAgICAgLi4uYmFzZVBhcmFtcyxcbiAgICAgICAgZGlyZWN0aW9uOiAnWScsXG4gICAgICAgIGVuZEFuZ2xlOiAyLFxuICAgICAgICBlbmREaXN0YW5jZTogJzAnLFxuICAgICAgICBzdGFydEFuZ2xlOiA0LFxuICAgICAgICBzdGFydERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHhQb3M6ICdyaWdodCcsXG4gICAgICAgIHlQb3M6ICdib3R0b20nXG4gICAgfVxufSk7XG5cbmNvbnN0IHNoYWtlQmw6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhID0gYW5pbWF0aW9uKGJhc2VSZWNpcGUsIHtcbiAgICBwYXJhbXM6IHtcbiAgICAgICAgLi4uYmFzZVBhcmFtcyxcbiAgICAgICAgZGlyZWN0aW9uOiAnWScsXG4gICAgICAgIGVuZEFuZ2xlOiAyLFxuICAgICAgICBlbmREaXN0YW5jZTogJzAnLFxuICAgICAgICBzdGFydEFuZ2xlOiA0LFxuICAgICAgICBzdGFydERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHhQb3M6ICdsZWZ0JyxcbiAgICAgICAgeVBvczogJ2JvdHRvbSdcbiAgICB9XG59KTtcblxuY29uc3Qgc2hha2VUbDogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEgPSBhbmltYXRpb24oYmFzZVJlY2lwZSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICAuLi5iYXNlUGFyYW1zLFxuICAgICAgICBkaXJlY3Rpb246ICdZJyxcbiAgICAgICAgZW5kQW5nbGU6IDIsXG4gICAgICAgIGVuZERpc3RhbmNlOiAnMCcsXG4gICAgICAgIHN0YXJ0QW5nbGU6IDQsXG4gICAgICAgIHN0YXJ0RGlzdGFuY2U6ICcwJyxcbiAgICAgICAgeFBvczogJ2xlZnQnLFxuICAgICAgICB5UG9zOiAndG9wJ1xuICAgIH1cbn0pO1xuXG5leHBvcnQge1xuICAgIHNoYWtlSG9yLFxuICAgIHNoYWtlVmVyLFxuICAgIHNoYWtlVG9wLFxuICAgIHNoYWtlQm90dG9tLFxuICAgIHNoYWtlUmlnaHQsXG4gICAgc2hha2VMZWZ0LFxuICAgIHNoYWtlQ2VudGVyLFxuICAgIHNoYWtlVHIsXG4gICAgc2hha2VCcixcbiAgICBzaGFrZUJsLFxuICAgIHNoYWtlVGxcbn07XG4iXX0=