@rc-component/trigger 1.13.1 → 1.13.2
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/useWinClick.js +8 -7
- package/es/index.js +3 -2
- package/lib/hooks/useWinClick.js +8 -7
- package/lib/index.js +3 -2
- package/package.json +2 -2
package/es/hooks/useWinClick.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { warning } from 'rc-util';
|
|
2
|
+
import { getShadowRoot } from "rc-util/es/Dom/shadow";
|
|
2
3
|
import raf from "rc-util/es/raf";
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
import { getWin } from "../util";
|
|
@@ -43,10 +44,10 @@ export default function useWinClick(open, clickToHide, targetEle, popupEle, mask
|
|
|
43
44
|
win.addEventListener('click', onWindowClick);
|
|
44
45
|
|
|
45
46
|
// shadow root
|
|
46
|
-
var
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
var targetShadowRoot = getShadowRoot(targetEle);
|
|
48
|
+
if (targetShadowRoot) {
|
|
49
|
+
targetShadowRoot.addEventListener('mousedown', onWindowMouseDown);
|
|
50
|
+
targetShadowRoot.addEventListener('click', onWindowClick);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
// Warning if target and popup not in same root
|
|
@@ -57,9 +58,9 @@ export default function useWinClick(open, clickToHide, targetEle, popupEle, mask
|
|
|
57
58
|
return function () {
|
|
58
59
|
win.removeEventListener('mousedown', onWindowMouseDown);
|
|
59
60
|
win.removeEventListener('click', onWindowClick);
|
|
60
|
-
if (
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
if (targetShadowRoot) {
|
|
62
|
+
targetShadowRoot.removeEventListener('mousedown', onWindowMouseDown);
|
|
63
|
+
targetShadowRoot.removeEventListener('click', onWindowClick);
|
|
63
64
|
}
|
|
64
65
|
};
|
|
65
66
|
}
|
package/es/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import Portal from '@rc-component/portal';
|
|
|
6
6
|
import classNames from 'classnames';
|
|
7
7
|
import ResizeObserver from 'rc-resize-observer';
|
|
8
8
|
import { isDOM } from "rc-util/es/Dom/findDOMNode";
|
|
9
|
+
import { getShadowRoot } from "rc-util/es/Dom/shadow";
|
|
9
10
|
import useEvent from "rc-util/es/hooks/useEvent";
|
|
10
11
|
import useId from "rc-util/es/hooks/useId";
|
|
11
12
|
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
|
|
@@ -121,9 +122,9 @@ export function generateTrigger() {
|
|
|
121
122
|
var originChildProps = (child === null || child === void 0 ? void 0 : child.props) || {};
|
|
122
123
|
var cloneProps = {};
|
|
123
124
|
var inPopupOrChild = useEvent(function (ele) {
|
|
124
|
-
var
|
|
125
|
+
var _getShadowRoot, _getShadowRoot2;
|
|
125
126
|
var childDOM = targetEle;
|
|
126
|
-
return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || (
|
|
127
|
+
return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || ((_getShadowRoot = getShadowRoot(childDOM)) === null || _getShadowRoot === void 0 ? void 0 : _getShadowRoot.host) === ele || ele === childDOM || (popupEle === null || popupEle === void 0 ? void 0 : popupEle.contains(ele)) || ((_getShadowRoot2 = getShadowRoot(popupEle)) === null || _getShadowRoot2 === void 0 ? void 0 : _getShadowRoot2.host) === ele || ele === popupEle || Object.values(subPopupElements.current).some(function (subPopupEle) {
|
|
127
128
|
return (subPopupEle === null || subPopupEle === void 0 ? void 0 : subPopupEle.contains(ele)) || ele === subPopupEle;
|
|
128
129
|
});
|
|
129
130
|
});
|
package/lib/hooks/useWinClick.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = useWinClick;
|
|
9
9
|
var _rcUtil = require("rc-util");
|
|
10
|
+
var _shadow = require("rc-util/lib/Dom/shadow");
|
|
10
11
|
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
|
|
11
12
|
var React = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _util = require("../util");
|
|
@@ -51,10 +52,10 @@ function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable,
|
|
|
51
52
|
win.addEventListener('click', onWindowClick);
|
|
52
53
|
|
|
53
54
|
// shadow root
|
|
54
|
-
var
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
var targetShadowRoot = (0, _shadow.getShadowRoot)(targetEle);
|
|
56
|
+
if (targetShadowRoot) {
|
|
57
|
+
targetShadowRoot.addEventListener('mousedown', onWindowMouseDown);
|
|
58
|
+
targetShadowRoot.addEventListener('click', onWindowClick);
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
// Warning if target and popup not in same root
|
|
@@ -65,9 +66,9 @@ function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable,
|
|
|
65
66
|
return function () {
|
|
66
67
|
win.removeEventListener('mousedown', onWindowMouseDown);
|
|
67
68
|
win.removeEventListener('click', onWindowClick);
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
if (targetShadowRoot) {
|
|
70
|
+
targetShadowRoot.removeEventListener('mousedown', onWindowMouseDown);
|
|
71
|
+
targetShadowRoot.removeEventListener('click', onWindowClick);
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
}
|
package/lib/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var _portal = _interopRequireDefault(require("@rc-component/portal"));
|
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
|
|
16
16
|
var _findDOMNode = require("rc-util/lib/Dom/findDOMNode");
|
|
17
|
+
var _shadow = require("rc-util/lib/Dom/shadow");
|
|
17
18
|
var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
|
|
18
19
|
var _useId = _interopRequireDefault(require("rc-util/lib/hooks/useId"));
|
|
19
20
|
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
@@ -130,9 +131,9 @@ function generateTrigger() {
|
|
|
130
131
|
var originChildProps = (child === null || child === void 0 ? void 0 : child.props) || {};
|
|
131
132
|
var cloneProps = {};
|
|
132
133
|
var inPopupOrChild = (0, _useEvent.default)(function (ele) {
|
|
133
|
-
var
|
|
134
|
+
var _getShadowRoot, _getShadowRoot2;
|
|
134
135
|
var childDOM = targetEle;
|
|
135
|
-
return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || (
|
|
136
|
+
return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || ((_getShadowRoot = (0, _shadow.getShadowRoot)(childDOM)) === null || _getShadowRoot === void 0 ? void 0 : _getShadowRoot.host) === ele || ele === childDOM || (popupEle === null || popupEle === void 0 ? void 0 : popupEle.contains(ele)) || ((_getShadowRoot2 = (0, _shadow.getShadowRoot)(popupEle)) === null || _getShadowRoot2 === void 0 ? void 0 : _getShadowRoot2.host) === ele || ele === popupEle || Object.values(subPopupElements.current).some(function (subPopupEle) {
|
|
136
137
|
return (subPopupEle === null || subPopupEle === void 0 ? void 0 : subPopupEle.contains(ele)) || ele === subPopupEle;
|
|
137
138
|
});
|
|
138
139
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rc-component/trigger",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
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.31.1"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"react": ">=16.9.0",
|