rc-trigger
Version:
base abstract trigger component for react
80 lines (65 loc) • 2.82 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var React = _interopRequireWildcard(require("react"));
var _rcMotion = _interopRequireDefault(require("rc-motion"));
var _classnames = _interopRequireDefault(require("classnames"));
var MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
var prefixCls = props.prefixCls,
visible = props.visible,
zIndex = props.zIndex,
children = props.children,
_props$mobile = props.mobile;
_props$mobile = _props$mobile === void 0 ? {} : _props$mobile;
var popupClassName = _props$mobile.popupClassName,
popupStyle = _props$mobile.popupStyle,
_props$mobile$popupMo = _props$mobile.popupMotion,
popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,
popupRender = _props$mobile.popupRender,
onClick = props.onClick;
var elementRef = React.useRef(); // ========================= Refs =========================
React.useImperativeHandle(ref, function () {
return {
forceAlign: function forceAlign() {},
getElement: function getElement() {
return elementRef.current;
}
};
}); // ======================== Render ========================
var mergedStyle = (0, _objectSpread2.default)({
zIndex: zIndex
}, popupStyle);
var childNode = children; // Wrapper when multiple children
if (React.Children.count(children) > 1) {
childNode = /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-content")
}, children);
} // Mobile support additional render
if (popupRender) {
childNode = popupRender(childNode);
}
return /*#__PURE__*/React.createElement(_rcMotion.default, (0, _extends2.default)({
visible: visible,
ref: elementRef,
removeOnLeave: true
}, popupMotion), function (_ref, motionRef) {
var motionClassName = _ref.className,
motionStyle = _ref.style;
var mergedClassName = (0, _classnames.default)(prefixCls, popupClassName, motionClassName);
return /*#__PURE__*/React.createElement("div", {
ref: motionRef,
className: mergedClassName,
onClick: onClick,
style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, motionStyle), mergedStyle)
}, childNode);
});
});
MobilePopupInner.displayName = 'MobilePopupInner';
var _default = MobilePopupInner;
exports.default = _default;