export { TransitionGroup } from 'vue';
import '../../../utils/index.mjs';
import { tuple } from '../../../utils/vue/propType.mjs';

const SelectPlacements = 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 ${transitionName}-leave-prepare ${transitionName}-leave-start`,
    leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-prepare`,
    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}`;
}

export { getTransitionDirection, getTransitionGroupProps, getTransitionName, getTransitionProps };
//# sourceMappingURL=transition.mjs.map
