UNPKG

acud

Version:

acg react 组件库

50 lines • 1.54 kB
import { tuple } from './type'; // ================== Collapse Motion ================== var getCollapsedHeight = function getCollapsedHeight() { return { height: 0, opacity: 0 }; }; var getRealHeight = function getRealHeight(node) { return { height: node.scrollHeight, opacity: 1 }; }; var getCurrentHeight = function getCurrentHeight(node) { return { height: node.offsetHeight }; }; var skipOpacityTransition = function skipOpacityTransition(_, event) { return event.propertyName === 'height'; }; var collapseMotion = { motionName: 'acud-motion-collapse', onAppearStart: getCollapsedHeight, onEnterStart: getCollapsedHeight, onAppearActive: getRealHeight, onEnterActive: getRealHeight, onLeaveStart: getCurrentHeight, onLeaveActive: getCollapsedHeight, onAppearEnd: skipOpacityTransition, onEnterEnd: skipOpacityTransition, onLeaveEnd: skipOpacityTransition, motionDeadline: 500 }; var SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight'); var getTransitionDirection = function getTransitionDirection(placement) { if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) { return 'slide-down'; } return 'slide-up'; }; var getTransitionName = function getTransitionName(rootPrefixCls, motion, transitionName) { if (transitionName !== undefined) { return transitionName; } return "".concat(rootPrefixCls, "-").concat(motion); }; export { getTransitionName, getTransitionDirection }; export default collapseMotion;