UNPKG

@proyecto26/animatable-component

Version:
128 lines (127 loc) • 5.93 kB
import { ANIMATIONS } from './common'; const BOUNCE_DEFAULT = { transform: 'translate(0)', easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)' }; const BOUNCE = [ Object.assign({ offset: 0 }, BOUNCE_DEFAULT), Object.assign({ offset: 0.2 }, BOUNCE_DEFAULT), { offset: 0.4, transform: 'translateY(-30px)', easing: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)' }, { offset: 0.43, transform: 'translateY(-30px)', easing: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)' }, Object.assign({ offset: 0.53 }, BOUNCE_DEFAULT), { offset: 0.7, transform: 'translateY(-15px)', easing: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)' }, Object.assign({ offset: 0.8 }, BOUNCE_DEFAULT), { offset: 0.9, transform: 'translateY(-4px)', easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)' }, Object.assign({ offset: 1 }, BOUNCE_DEFAULT) ]; const FLASH = [ { offset: 0, opacity: 1 }, { offset: 0.25, opacity: 0 }, { offset: 0.5, opacity: 1 }, { offset: 0.75, opacity: 0 }, { offset: 1, opacity: 1 } ]; const JELLO_DEFAULT = { transform: 'skewX(0deg) skewY(0deg)', transformOrigin: 'center' }; const JELLO = [ Object.assign({ offset: 0 }, JELLO_DEFAULT), Object.assign({ offset: 0.111 }, JELLO_DEFAULT), Object.assign(Object.assign({ offset: 0.222 }, JELLO_DEFAULT), { transform: 'skewX(-12.5deg) skewY(-12.5deg)' }), Object.assign(Object.assign({ offset: 0.333 }, JELLO_DEFAULT), { transform: 'skewX(6.25deg) skewY(6.25deg)' }), Object.assign(Object.assign({ offset: 0.444 }, JELLO_DEFAULT), { transform: 'skewX(-3.125deg) skewY(-3.125deg)' }), Object.assign(Object.assign({ offset: 0.555 }, JELLO_DEFAULT), { transform: 'skewX(1.5625deg) skewY(1.5625deg)' }), Object.assign(Object.assign({ offset: 0.666 }, JELLO_DEFAULT), { transform: 'skewX(-0.78125deg) skewY(-0.78125deg)' }), Object.assign(Object.assign({ offset: 0.777 }, JELLO_DEFAULT), { transform: 'skewX(0.390625deg) skewY(0.390625deg)' }), Object.assign(Object.assign({ offset: 0.888 }, JELLO_DEFAULT), { transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)' }), Object.assign({ offset: 1 }, JELLO_DEFAULT) ]; const PULSE = [ { offset: 0, transform: 'scale(1)' }, { offset: 0.5, transform: 'scale(1.05)' }, { offset: 1, transform: 'scale(1)' } ]; const ROTATE = [ { offset: 0, transform: 'rotate(0deg)' }, { offset: 0.25, transform: 'rotate(90deg)' }, { offset: 0.5, transform: 'rotate(180deg)' }, { offset: 0.75, transform: 'rotate(270deg)' }, { offset: 1, transform: 'rotate(360deg)' } ]; const SHAKE_LEFT = { transform: 'translateX(-10px)' }; const SHAKE_RIGHT = { transform: 'translateX(10px)' }; const SHAKE = [ { offset: 0, transform: 'translateX(0px)' }, Object.assign({ offset: 0.1 }, SHAKE_LEFT), Object.assign({ offset: 0.2 }, SHAKE_RIGHT), Object.assign({ offset: 0.3 }, SHAKE_LEFT), Object.assign({ offset: 0.4 }, SHAKE_RIGHT), Object.assign({ offset: 0.5 }, SHAKE_LEFT), Object.assign({ offset: 0.6 }, SHAKE_RIGHT), Object.assign({ offset: 0.7 }, SHAKE_LEFT), Object.assign({ offset: 0.8 }, SHAKE_RIGHT), Object.assign({ offset: 0.9 }, SHAKE_LEFT), { offset: 1, transform: 'translateX(0px)' } ]; const SWING = [ { offset: 0, transform: 'rotate(0deg)', transformOrigin: 'top center' }, { offset: 0.2, transform: 'rotate(15deg)', transformOrigin: 'top center' }, { offset: 0.4, transform: 'rotate(-10deg)', transformOrigin: 'top center' }, { offset: 0.6, transform: 'rotate(5deg)', transformOrigin: 'top center' }, { offset: 0.8, transform: 'rotate(-5deg)', transformOrigin: 'top center' }, { offset: 1, transform: 'rotate(0deg)', transformOrigin: 'top center' } ]; const RUBBER_BAND = [ { offset: 0, transform: 'scale(1, 1)' }, { offset: 0.3, transform: 'scale(1.25, 0.75)' }, { offset: 0.4, transform: 'scale(0.75, 1.25)' }, { offset: 0.5, transform: 'scale(1.15, 0.85)' }, { offset: 0.65, transform: 'scale(0.95, 1.05)' }, { offset: 0.75, transform: 'scale(1.05, 0.95)' }, { offset: 1, transform: 'scale(1, 1)' } ]; const TADA = [ { offset: 0, transform: 'scale(1) rotate(0deg)' }, { offset: 0.1, transform: 'scale(0.9) rotate(-3deg)' }, { offset: 0.2, transform: 'scale(0.9) rotate(-3deg)' }, { offset: 0.3, transform: 'scale(1.1) rotate(-3deg)' }, { offset: 0.4, transform: 'scale(1.1) rotate(3deg)' }, { offset: 0.5, transform: 'scale(1.1) rotate(-3deg)' }, { offset: 0.6, transform: 'scale(1.1) rotate(3deg)' }, { offset: 0.7, transform: 'scale(1.1) rotate(-3deg)' }, { offset: 0.8, transform: 'scale(1.1) rotate(3deg)' }, { offset: 0.9, transform: 'scale(1.1) rotate(3deg)' }, { offset: 1, transform: 'scale(1) rotate(0deg)' } ]; const WOBBLE = [ { offset: 0, transform: 'translate(0) rotate(0deg)' }, { offset: 0.15, transform: 'translateX(-25%) rotate(-5deg)' }, { offset: 0.3, transform: 'translateX(20%) rotate(3deg)' }, { offset: 0.45, transform: 'translateX(-15%) rotate(-3deg)' }, { offset: 0.6, transform: 'translateX(10%) rotate(2deg)' }, { offset: 0.75, transform: 'translateX(-5%) rotate(-1deg)' }, { offset: 1, transform: 'translate(0) rotate(0deg)' } ]; const HEART_BEAT_DEFAULT = { transform: 'scale(1)', easing: 'ease-in-out' }; const HEART_BEAT = [ Object.assign({ offset: 0 }, HEART_BEAT_DEFAULT), Object.assign(Object.assign({ offset: 0.14 }, HEART_BEAT_DEFAULT), { transform: 'scale(1.3)' }), Object.assign({ offset: 0.28 }, HEART_BEAT_DEFAULT), Object.assign(Object.assign({ offset: 0.42 }, HEART_BEAT_DEFAULT), { transform: 'scale(1.3)' }), Object.assign({ offset: 0.70 }, HEART_BEAT_DEFAULT), Object.assign({ offset: 1 }, HEART_BEAT_DEFAULT), ]; export default { [ANIMATIONS.BOUNCE]: BOUNCE, [ANIMATIONS.FLASH]: FLASH, [ANIMATIONS.JELLO]: JELLO, [ANIMATIONS.PULSE]: PULSE, [ANIMATIONS.ROTATE]: ROTATE, [ANIMATIONS.SHAKE]: SHAKE, [ANIMATIONS.SWING]: SWING, [ANIMATIONS.RUBBER_BAND]: RUBBER_BAND, [ANIMATIONS.TADA]: TADA, [ANIMATIONS.WOBBLE]: WOBBLE, [ANIMATIONS.HEART_BEAT]: HEART_BEAT };