1
This commit is contained in:
+3
@@ -0,0 +1,3 @@
|
||||
import React from 'react';
|
||||
declare const MotionContent: React.FC<React.PropsWithChildren>;
|
||||
export default MotionContent;
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
var _motion = _interopRequireDefault(require("@rc-component/motion"));
|
||||
var _clsx = require("clsx");
|
||||
var _reactNode = require("../../_util/reactNode");
|
||||
var _context = require("../../config-provider/context");
|
||||
const MotionContent = ({
|
||||
children
|
||||
}) => {
|
||||
const {
|
||||
getPrefixCls
|
||||
} = _react.default.useContext(_context.ConfigContext);
|
||||
const rootPrefixCls = getPrefixCls();
|
||||
// This will never reach since we will not render this when no children
|
||||
/* istanbul ignore next */
|
||||
if (! /*#__PURE__*/_react.default.isValidElement(children)) {
|
||||
return children;
|
||||
}
|
||||
return /*#__PURE__*/_react.default.createElement(_motion.default, {
|
||||
visible: true,
|
||||
motionName: `${rootPrefixCls}-fade`,
|
||||
motionAppear: true,
|
||||
motionEnter: true,
|
||||
motionLeave: false,
|
||||
removeOnLeave: false
|
||||
}, ({
|
||||
style: motionStyle,
|
||||
className: motionClassName
|
||||
}) => {
|
||||
return (0, _reactNode.cloneElement)(children, oriProps => ({
|
||||
className: (0, _clsx.clsx)(oriProps.className, motionClassName),
|
||||
style: {
|
||||
...oriProps.style,
|
||||
...motionStyle
|
||||
}
|
||||
}));
|
||||
});
|
||||
};
|
||||
var _default = exports.default = MotionContent;
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import React from 'react';
|
||||
declare const UniqueProvider: React.FC<React.PropsWithChildren>;
|
||||
export default UniqueProvider;
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
var _trigger = require("@rc-component/trigger");
|
||||
var _MotionContent = _interopRequireDefault(require("./MotionContent"));
|
||||
const cachedPlacements = [null, null];
|
||||
function uniqueBuiltinPlacements(ori) {
|
||||
if (cachedPlacements[0] !== ori) {
|
||||
const target = {};
|
||||
Object.keys(ori).forEach(placement => {
|
||||
target[placement] = {
|
||||
...ori[placement],
|
||||
dynamicInset: false
|
||||
};
|
||||
});
|
||||
cachedPlacements[0] = ori;
|
||||
cachedPlacements[1] = target;
|
||||
}
|
||||
return cachedPlacements[1];
|
||||
}
|
||||
const UniqueProvider = ({
|
||||
children
|
||||
}) => {
|
||||
const renderPopup = options => {
|
||||
const {
|
||||
id,
|
||||
builtinPlacements,
|
||||
popup
|
||||
} = options;
|
||||
const popupEle = typeof popup === 'function' ? popup() : popup;
|
||||
const parsedPlacements = uniqueBuiltinPlacements(builtinPlacements);
|
||||
return {
|
||||
...options,
|
||||
getPopupContainer: null,
|
||||
arrow: false,
|
||||
popup: /*#__PURE__*/_react.default.createElement(_MotionContent.default, {
|
||||
key: id
|
||||
}, popupEle),
|
||||
builtinPlacements: parsedPlacements
|
||||
};
|
||||
};
|
||||
return /*#__PURE__*/_react.default.createElement(_trigger.UniqueProvider, {
|
||||
postTriggerProps: renderPopup
|
||||
}, children);
|
||||
};
|
||||
var _default = exports.default = UniqueProvider;
|
||||
Reference in New Issue
Block a user