useAnimateConfig.js 799 B

123456789101112131415161718192021222324252627282930313233
  1. import { getTransitionName } from '../../_util/motion';
  2. const motion = {
  3. motionAppear: false,
  4. motionEnter: true,
  5. motionLeave: true
  6. };
  7. export default function useAnimateConfig(prefixCls, animated = {
  8. inkBar: true,
  9. tabPane: false
  10. }) {
  11. let mergedAnimated;
  12. if (animated === false) {
  13. mergedAnimated = {
  14. inkBar: false,
  15. tabPane: false
  16. };
  17. } else if (animated === true) {
  18. mergedAnimated = {
  19. inkBar: true,
  20. tabPane: true
  21. };
  22. } else {
  23. mergedAnimated = Object.assign({
  24. inkBar: true
  25. }, typeof animated === 'object' ? animated : {});
  26. }
  27. if (mergedAnimated.tabPane) {
  28. mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {
  29. motionName: getTransitionName(prefixCls, 'switch')
  30. });
  31. }
  32. return mergedAnimated;
  33. }