'use strict';

var vue = require('vue');
require('../../../utils/index.cjs');
var propType = require('../../../utils/vue/propType.cjs');

const SelectPlacements = propType.tuple("bottomLeft", "bottomRight", "topLeft", "topRight");
function getTransitionDirection(placement) {
  if (placement !== void 0 && (placement === "topLeft" || placement === "topRight"))
    return `slide-down`;
  return `slide-up`;
}
function getTransitionProps(transitionName, opt = {}) {
  const transitionProps = transitionName ? {
    name: transitionName,
    appear: true,
    // type: 'animation',
    // appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,
    // appearActiveClass: `antdv-base-transtion`,
    // appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
    enterFromClass: `${transitionName}-enter ${transitionName}-enter-prepare ${transitionName}-enter-start`,
    enterActiveClass: `${transitionName}-enter ${transitionName}-enter-prepare`,
    enterToClass: `${transitionName}-enter ${transitionName}-enter-active`,
    leaveFromClass: ` ${transitionName}-leave`,
    leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-active`,
    leaveToClass: `${transitionName}-leave ${transitionName}-leave-active`,
    ...opt
  } : {
    css: false,
    ...opt
  };
  return transitionProps;
}
function getTransitionGroupProps(transitionName, opt = {}) {
  const transitionProps = transitionName ? {
    name: transitionName,
    appear: true,
    // appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,
    appearActiveClass: `${transitionName}`,
    appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
    enterFromClass: `${transitionName}-appear ${transitionName}-enter ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
    enterActiveClass: `${transitionName}`,
    enterToClass: `${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
    leaveActiveClass: `${transitionName} ${transitionName}-leave`,
    leaveToClass: `${transitionName}-leave-active`,
    ...opt
  } : {
    css: false,
    ...opt
  };
  return transitionProps;
}
function getTransitionName(rootPrefixCls, motion, transitionName) {
  if (transitionName !== void 0)
    return transitionName;
  return `${rootPrefixCls}-${motion}`;
}

Object.defineProperty(exports, 'TransitionGroup', {
  enumerable: true,
  get: function () { return vue.TransitionGroup; }
});
exports.getTransitionDirection = getTransitionDirection;
exports.getTransitionGroupProps = getTransitionGroupProps;
exports.getTransitionName = getTransitionName;
exports.getTransitionProps = getTransitionProps;
//# sourceMappingURL=transition.cjs.map
