@rc-component/trigger 1.5.4 → 1.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/hooks/useAlign.js +4 -3
- package/es/index.js +3 -2
- package/lib/hooks/useAlign.js +4 -3
- package/lib/index.js +3 -2
- package/package.json +2 -2
package/es/hooks/useAlign.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
-
import
|
|
3
|
+
import { isDOM } from "rc-util/es/Dom/findDOMNode";
|
|
4
|
+
import isVisible from "rc-util/es/Dom/isVisible";
|
|
4
5
|
import useEvent from "rc-util/es/hooks/useEvent";
|
|
5
6
|
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
|
|
6
7
|
import * as React from 'react';
|
|
@@ -86,7 +87,7 @@ export default function useAlign(open, popupEle, target, placement, builtinPlace
|
|
|
86
87
|
var win = getWin(popupElement);
|
|
87
88
|
|
|
88
89
|
// Placement
|
|
89
|
-
var placementInfo = builtinPlacements[placement]
|
|
90
|
+
var placementInfo = _objectSpread(_objectSpread({}, builtinPlacements[placement]), popupAlign);
|
|
90
91
|
|
|
91
92
|
// Reset first
|
|
92
93
|
popupElement.style.left = '0';
|
|
@@ -167,7 +168,7 @@ export default function useAlign(open, popupEle, target, placement, builtinPlace
|
|
|
167
168
|
var _scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);
|
|
168
169
|
|
|
169
170
|
// No need to align since it's not visible in view
|
|
170
|
-
if (_scaleX === 0 || _scaleY === 0 || target
|
|
171
|
+
if (_scaleX === 0 || _scaleY === 0 || isDOM(target) && !isVisible(target)) {
|
|
171
172
|
return;
|
|
172
173
|
}
|
|
173
174
|
|
package/es/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import ResizeObserver from 'rc-resize-observer';
|
|
|
8
8
|
import useEvent from "rc-util/es/hooks/useEvent";
|
|
9
9
|
import useId from "rc-util/es/hooks/useId";
|
|
10
10
|
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
|
|
11
|
+
import { isDOM } from "rc-util/es/Dom/findDOMNode";
|
|
11
12
|
import * as React from 'react';
|
|
12
13
|
import TriggerContext from "./context";
|
|
13
14
|
import useAction from "./hooks/useAction";
|
|
@@ -86,7 +87,7 @@ export function generateTrigger() {
|
|
|
86
87
|
popupEle = _React$useState2[0],
|
|
87
88
|
setPopupEle = _React$useState2[1];
|
|
88
89
|
var setPopupRef = React.useCallback(function (node) {
|
|
89
|
-
if (node
|
|
90
|
+
if (isDOM(node)) {
|
|
90
91
|
setPopupEle(node);
|
|
91
92
|
}
|
|
92
93
|
parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, node);
|
|
@@ -99,7 +100,7 @@ export function generateTrigger() {
|
|
|
99
100
|
targetEle = _React$useState4[0],
|
|
100
101
|
setTargetEle = _React$useState4[1];
|
|
101
102
|
var setTargetRef = React.useCallback(function (node) {
|
|
102
|
-
if (node
|
|
103
|
+
if (isDOM(node)) {
|
|
103
104
|
setTargetEle(node);
|
|
104
105
|
}
|
|
105
106
|
}, []);
|
package/lib/hooks/useAlign.js
CHANGED
|
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = useAlign;
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var
|
|
11
|
+
var _findDOMNode = require("rc-util/lib/Dom/findDOMNode");
|
|
12
|
+
var _isVisible = _interopRequireDefault(require("rc-util/lib/Dom/isVisible"));
|
|
12
13
|
var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
|
|
13
14
|
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
14
15
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -94,7 +95,7 @@ function useAlign(open, popupEle, target, placement, builtinPlacements, popupAli
|
|
|
94
95
|
var win = (0, _util.getWin)(popupElement);
|
|
95
96
|
|
|
96
97
|
// Placement
|
|
97
|
-
var placementInfo = builtinPlacements[placement]
|
|
98
|
+
var placementInfo = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, builtinPlacements[placement]), popupAlign);
|
|
98
99
|
|
|
99
100
|
// Reset first
|
|
100
101
|
popupElement.style.left = '0';
|
|
@@ -175,7 +176,7 @@ function useAlign(open, popupEle, target, placement, builtinPlacements, popupAli
|
|
|
175
176
|
var _scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);
|
|
176
177
|
|
|
177
178
|
// No need to align since it's not visible in view
|
|
178
|
-
if (_scaleX === 0 || _scaleY === 0 || target
|
|
179
|
+
if (_scaleX === 0 || _scaleY === 0 || (0, _findDOMNode.isDOM)(target) && !(0, _isVisible.default)(target)) {
|
|
179
180
|
return;
|
|
180
181
|
}
|
|
181
182
|
|
package/lib/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
|
|
|
16
16
|
var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
|
|
17
17
|
var _useId = _interopRequireDefault(require("rc-util/lib/hooks/useId"));
|
|
18
18
|
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
19
|
+
var _findDOMNode = require("rc-util/lib/Dom/findDOMNode");
|
|
19
20
|
var React = _interopRequireWildcard(require("react"));
|
|
20
21
|
var _context = _interopRequireDefault(require("./context"));
|
|
21
22
|
var _useAction3 = _interopRequireDefault(require("./hooks/useAction"));
|
|
@@ -95,7 +96,7 @@ function generateTrigger() {
|
|
|
95
96
|
popupEle = _React$useState2[0],
|
|
96
97
|
setPopupEle = _React$useState2[1];
|
|
97
98
|
var setPopupRef = React.useCallback(function (node) {
|
|
98
|
-
if (
|
|
99
|
+
if ((0, _findDOMNode.isDOM)(node)) {
|
|
99
100
|
setPopupEle(node);
|
|
100
101
|
}
|
|
101
102
|
parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, node);
|
|
@@ -108,7 +109,7 @@ function generateTrigger() {
|
|
|
108
109
|
targetEle = _React$useState4[0],
|
|
109
110
|
setTargetEle = _React$useState4[1];
|
|
110
111
|
var setTargetRef = React.useCallback(function (node) {
|
|
111
|
-
if (
|
|
112
|
+
if ((0, _findDOMNode.isDOM)(node)) {
|
|
112
113
|
setTargetEle(node);
|
|
113
114
|
}
|
|
114
115
|
}, []);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rc-component/trigger",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.6",
|
|
4
4
|
"description": "base abstract trigger component for react",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=8.x"
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"rc-align": "^4.0.0",
|
|
67
67
|
"rc-motion": "^2.0.0",
|
|
68
68
|
"rc-resize-observer": "^1.3.1",
|
|
69
|
-
"rc-util": "^5.
|
|
69
|
+
"rc-util": "^5.29.2"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"react": ">=16.9.0",
|