timingFunctions.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = timingFunctions;
  4. /* eslint-disable key-spacing */
  5. var functionsMap = {
  6. easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',
  7. easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',
  8. easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',
  9. easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',
  10. easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',
  11. easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',
  12. easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',
  13. easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',
  14. easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',
  15. easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
  16. easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',
  17. easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',
  18. easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',
  19. easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',
  20. easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',
  21. easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',
  22. easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',
  23. easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',
  24. easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',
  25. easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',
  26. easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',
  27. easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',
  28. easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',
  29. easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'
  30. };
  31. /* eslint-enable key-spacing */
  32. function getTimingFunction(functionName) {
  33. return functionsMap[functionName];
  34. }
  35. /**
  36. * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).
  37. *
  38. * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.
  39. *
  40. * @example
  41. * // Styles as object usage
  42. * const styles = {
  43. * 'transitionTimingFunction': timingFunctions('easeInQuad')
  44. * }
  45. *
  46. * // styled-components usage
  47. * const div = styled.div`
  48. * transitionTimingFunction: ${timingFunctions('easeInQuad')};
  49. * `
  50. *
  51. * // CSS as JS Output
  52. *
  53. * 'div': {
  54. * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',
  55. * }
  56. */
  57. function timingFunctions(timingFunction) {
  58. return getTimingFunction(timingFunction);
  59. }
  60. module.exports = exports.default;