Guest User

Untitled

a guest
May 20th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. import PropTypes from 'prop-types';
  2. import React from 'react';
  3. import * as Spinner from 'better-react-spinkit';
  4. import './index.css';
  5.  
  6. export const Loader = ({
  7. col,
  8. color,
  9. columnWidth,
  10. columns,
  11. cubeSize,
  12. dotSize,
  13. duration,
  14. endOpacity,
  15. gutter,
  16. gutterWidth,
  17. innerColor,
  18. innerSize,
  19. name,
  20. row,
  21. scaleEnd,
  22. scaleStart,
  23. scaleYEnd,
  24. scaleYStart,
  25. size,
  26. startOpacity,
  27. style,
  28. timingFunction,
  29. }) => {
  30. const Component = Spinner[name];
  31. return (
  32. <div className={`loader-component ${style}`}>
  33. <Component
  34. col={col}
  35. color={color}
  36. columnWidth={columnWidth}
  37. columns={columns}
  38. cubeSize={cubeSize}
  39. dotSize={dotSize}
  40. duration={duration}
  41. endOpacity={endOpacity}
  42. gutter={gutter}
  43. gutterWidth={gutterWidth}
  44. innerColor={innerColor}
  45. innerSize={innerSize}
  46. name={name}
  47. row={row}
  48. scaleEnd={scaleEnd}
  49. scaleStart={scaleStart}
  50. scaleYEnd={scaleYEnd}
  51. scaleYStart={scaleYStart}
  52. size={size}
  53. startOpacity={startOpacity}
  54. style={style}
  55. timingFunction={timingFunction}
  56. />
  57. </div>
  58. );
  59. };
  60.  
  61. Loader.propTypes = {
  62. col: PropTypes.number,
  63. color: PropTypes.string,
  64. columnWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  65. columns: PropTypes.number,
  66. cubeSize: PropTypes.number,
  67. dotSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  68. duration: PropTypes.number,
  69. endOpacity: PropTypes.number,
  70. gutter: PropTypes.number,
  71. gutterWidth: PropTypes.number,
  72. innerColor: PropTypes.string,
  73. innerSize: PropTypes.number,
  74. name: PropTypes.oneOf([
  75. 'ChasingDots',
  76. 'Circle',
  77. 'CubeGrid',
  78. 'DoubleBounce',
  79. 'FadingCircle',
  80. 'FoldingCube',
  81. 'Pulse',
  82. 'RotatingPlane',
  83. 'ThreeBounce',
  84. 'WanderingCubes',
  85. 'Wave',
  86. 'Wordpress',
  87. ]),
  88. row: PropTypes.number,
  89. scaleEnd: PropTypes.number,
  90. scaleStart: PropTypes.number,
  91. scaleYEnd: PropTypes.number,
  92. scaleYStart: PropTypes.number,
  93. size: PropTypes.number,
  94. startOpacity: PropTypes.number,
  95. style: PropTypes.string,
  96. timingFunction: PropTypes.func,
  97. };
  98.  
  99. Loader.defaultProps = {
  100. color: '#204475',
  101. name: 'ThreeBounce',
  102. style: 'default',
  103. };
  104.  
  105. export default Loader;
Add Comment
Please, Sign In to add comment