@uiw/react-overlay
Advanced tools
Comparing version
@@ -7,9 +7,15 @@ "use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = Overlay; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); | ||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); | ||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); | ||
var _react = _interopRequireWildcard(require("react")); | ||
@@ -63,11 +69,13 @@ | ||
dialogProps = _props$dialogProps === void 0 ? {} : _props$dialogProps, | ||
otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); | ||
otherProps = (0, _objectWithoutProperties2["default"])(props, _excluded); | ||
var _useState = (0, _react.useState)(props.isOpen || false), | ||
isOpen = _useState[0], | ||
setIsOpen = _useState[1]; | ||
_useState2 = (0, _slicedToArray2["default"])(_useState, 2), | ||
isOpen = _useState2[0], | ||
setIsOpen = _useState2[1]; | ||
var _useState2 = (0, _react.useState)(false), | ||
visible = _useState2[0], | ||
setVisible = _useState2[1]; | ||
var _useState3 = (0, _react.useState)(false), | ||
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2), | ||
visible = _useState4[0], | ||
setVisible = _useState4[1]; | ||
@@ -92,8 +100,8 @@ var container = (0, _react.useRef)(null); | ||
}, [visible]); | ||
var decoratedChild = typeof children === 'object' ? /*#__PURE__*/(0, _react.cloneElement)(children, (0, _extends2["default"])({}, dialogProps, { | ||
style: (0, _extends2["default"])({}, children.props.style, dialogProps.style), | ||
className: [children.props.className, prefixCls + "-content"].filter(Boolean).join(' ').trim(), | ||
var decoratedChild = (0, _typeof2["default"])(children) === 'object' ? /*#__PURE__*/(0, _react.cloneElement)(children, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, dialogProps), {}, { | ||
style: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, children.props.style), dialogProps.style), | ||
className: [children.props.className, "".concat(prefixCls, "-content")].filter(Boolean).join(' ').trim(), | ||
tabIndex: 0 | ||
})) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", (0, _extends2["default"])({}, dialogProps, { | ||
className: prefixCls + "-content", | ||
})) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, dialogProps), {}, { | ||
className: "".concat(prefixCls, "-content"), | ||
children: children | ||
@@ -123,3 +131,3 @@ })); | ||
if (hasBackdrop && usePortal) { | ||
document.body.classList.add(prefixCls + "-open"); | ||
document.body.classList.add("".concat(prefixCls, "-open")); | ||
} | ||
@@ -130,3 +138,3 @@ } | ||
if (hasBackdrop && usePortal) { | ||
document.body.classList.remove(prefixCls + "-open"); | ||
document.body.classList.remove("".concat(prefixCls, "-open")); | ||
} // if (unmountOnExit) { | ||
@@ -138,7 +146,7 @@ // setVisible(false) | ||
var TransitionGroupComp = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, (0, _extends2["default"])({ | ||
var TransitionGroupComp = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({ | ||
classNames: transitionName, | ||
unmountOnExit: unmountOnExit, | ||
timeout: timeout | ||
}, otherProps, { | ||
}, otherProps), {}, { | ||
"in": isOpen, | ||
@@ -153,6 +161,6 @@ onEntering: onOpening, | ||
ref: overlay, | ||
className: [prefixCls, className, !usePortal ? prefixCls + "-inline" : null, isOpen ? prefixCls + "-enter-done" : null].filter(Boolean).join(' ').trim(), | ||
children: [hasBackdrop && /*#__PURE__*/(0, _react.cloneElement)( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}), (0, _extends2["default"])({}, backdropProps, { | ||
className: [prefixCls, className, !usePortal ? "".concat(prefixCls, "-inline") : null, isOpen ? "".concat(prefixCls, "-enter-done") : null].filter(Boolean).join(' ').trim(), | ||
children: [hasBackdrop && /*#__PURE__*/(0, _react.cloneElement)( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}), (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, backdropProps), {}, { | ||
onMouseDown: handleBackdropMouseDown, | ||
className: [prefixCls + "-backdrop", backdropProps.className].filter(Boolean).join(' ').trim(), | ||
className: ["".concat(prefixCls, "-backdrop"), backdropProps.className].filter(Boolean).join(' ').trim(), | ||
tabIndex: maskClosable ? 0 : null | ||
@@ -162,3 +170,3 @@ })), usePortal ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { | ||
onMouseDown: handleBackdropMouseDown, | ||
className: prefixCls + "-container", | ||
className: "".concat(prefixCls, "-container"), | ||
children: /*#__PURE__*/(0, _react.cloneElement)(decoratedChild, { | ||
@@ -175,3 +183,3 @@ 'data-status': status | ||
if (visible && usePortal) { | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactPortal["default"], (0, _extends2["default"])({}, (0, _extends2["default"])({}, portalProps), { | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactPortal["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _objectSpread2["default"])({}, portalProps)), {}, { | ||
children: TransitionGroupComp | ||
@@ -178,0 +186,0 @@ })); |
@@ -1,3 +0,3 @@ | ||
import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; | ||
import _extends from "@babel/runtime/helpers/extends"; | ||
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; | ||
var _excluded = ["className", "style", "isOpen", "prefixCls", "usePortal", "maskClosable", "backdropProps", "portalProps", "hasBackdrop", "unmountOnExit", "timeout", "transitionName", "onOpening", "onOpened", "onClosing", "onClosed", "onClose", "children", "dialogProps"]; | ||
@@ -24,50 +24,32 @@ | ||
export default function Overlay(props) { | ||
var className = props.className, | ||
style = props.style, | ||
_props$isOpen = props.isOpen, | ||
_ = _props$isOpen === void 0 ? false : _props$isOpen, | ||
_props$prefixCls = props.prefixCls, | ||
prefixCls = _props$prefixCls === void 0 ? 'w-overlay' : _props$prefixCls, | ||
_props$usePortal = props.usePortal, | ||
usePortal = _props$usePortal === void 0 ? true : _props$usePortal, | ||
_props$maskClosable = props.maskClosable, | ||
maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable, | ||
_props$backdropProps = props.backdropProps, | ||
backdropProps = _props$backdropProps === void 0 ? {} : _props$backdropProps, | ||
_props$portalProps = props.portalProps, | ||
portalProps = _props$portalProps === void 0 ? {} : _props$portalProps, | ||
_props$hasBackdrop = props.hasBackdrop, | ||
hasBackdrop = _props$hasBackdrop === void 0 ? true : _props$hasBackdrop, | ||
_props$unmountOnExit = props.unmountOnExit, | ||
unmountOnExit = _props$unmountOnExit === void 0 ? true : _props$unmountOnExit, | ||
_props$timeout = props.timeout, | ||
timeout = _props$timeout === void 0 ? 300 : _props$timeout, | ||
_props$transitionName = props.transitionName, | ||
transitionName = _props$transitionName === void 0 ? 'w-overlay' : _props$transitionName, | ||
_props$onOpening = props.onOpening, | ||
onOpening = _props$onOpening === void 0 ? noop : _props$onOpening, | ||
_props$onOpened = props.onOpened, | ||
onOpened = _props$onOpened === void 0 ? noop : _props$onOpened, | ||
_props$onClosing = props.onClosing, | ||
onClosing = _props$onClosing === void 0 ? noop : _props$onClosing, | ||
_props$onClosed = props.onClosed, | ||
onClosed = _props$onClosed === void 0 ? noop : _props$onClosed, | ||
_props$onClose = props.onClose, | ||
onClose = _props$onClose === void 0 ? noop : _props$onClose, | ||
children = props.children, | ||
_props$dialogProps = props.dialogProps, | ||
dialogProps = _props$dialogProps === void 0 ? {} : _props$dialogProps, | ||
var { | ||
className, | ||
style, | ||
isOpen: _ = false, | ||
prefixCls = 'w-overlay', | ||
usePortal = true, | ||
maskClosable = true, | ||
backdropProps = {}, | ||
portalProps = {}, | ||
hasBackdrop = true, | ||
unmountOnExit = true, | ||
// 设置 true 销毁根节点 | ||
timeout = 300, | ||
transitionName = 'w-overlay', | ||
// onEnter = noop, | ||
onOpening = noop, | ||
onOpened = noop, | ||
onClosing = noop, | ||
onClosed = noop, | ||
onClose = noop, | ||
children, | ||
dialogProps = {} | ||
} = props, | ||
otherProps = _objectWithoutPropertiesLoose(props, _excluded); | ||
var _useState = useState(props.isOpen || false), | ||
isOpen = _useState[0], | ||
setIsOpen = _useState[1]; | ||
var _useState2 = useState(false), | ||
visible = _useState2[0], | ||
setVisible = _useState2[1]; | ||
var [isOpen, setIsOpen] = useState(props.isOpen || false); | ||
var [visible, setVisible] = useState(false); | ||
var container = useRef(null); | ||
var overlay = useRef(null); | ||
useEffect(function () { | ||
useEffect(() => { | ||
if (isOpen !== props.isOpen && props.isOpen) { | ||
@@ -82,3 +64,3 @@ setVisible(true); | ||
}, [props.isOpen]); | ||
useEffect(function () { | ||
useEffect(() => { | ||
if (visible) { | ||
@@ -137,3 +119,3 @@ overlayWillOpen(); | ||
}, otherProps, { | ||
"in": isOpen, | ||
in: isOpen, | ||
onEntering: onOpening, | ||
@@ -143,3 +125,3 @@ onEntered: onOpened, | ||
onExited: handleClosed, | ||
children: function children(status) { | ||
children: status => { | ||
return /*#__PURE__*/_jsxs("div", { | ||
@@ -146,0 +128,0 @@ style: style, |
{ | ||
"name": "@uiw/react-overlay", | ||
"version": "4.9.6", | ||
"version": "4.9.7", | ||
"description": "Overlay component", | ||
@@ -47,10 +47,10 @@ "author": "Kenny Wong <wowohoo@qq.com>", | ||
"dependencies": { | ||
"@uiw/react-portal": "^4.9.6", | ||
"@uiw/utils": "^4.9.6", | ||
"@uiw/react-portal": "^4.9.7", | ||
"@uiw/utils": "^4.9.7", | ||
"react-transition-group": "^4.4.2" | ||
}, | ||
"devDependencies": { | ||
"@babel/runtime": "7.15.3", | ||
"@babel/runtime": "7.15.4", | ||
"@types/jest": "27.0.1", | ||
"@types/react": "17.0.19", | ||
"@types/react": "17.0.20", | ||
"@types/react-dom": "17.0.9", | ||
@@ -57,0 +57,0 @@ "@types/react-transition-group": "4.4.2", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
-100%66901
-2.18%780
-1.27%Updated
Updated