@kdcloudjs/kdesign 1.7.48-usePopper.1 → 1.7.48-usePopper.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/CHANGELOG.md +120 -0
- package/dist/kdesign-complete.less +20 -21
- package/dist/kdesign.css +17 -16
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +2591 -1435
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +15 -10
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/useId.d.ts +2 -0
- package/es/_utils/useId.js +30 -0
- package/es/_utils/usePopper.js +13 -7
- package/es/anchor/anchor.js +11 -2
- package/es/city-picker/style/index.css +0 -1
- package/es/city-picker/style/index.less +0 -1
- package/es/color-picker/color-picker-panel.js +1 -1
- package/es/date-picker/date-panel.js +35 -30
- package/es/date-picker/date-picker.js +4 -1
- package/es/date-picker/hooks/use-picker-input.js +2 -3
- package/es/date-picker/range-picker.js +10 -24
- package/es/date-picker/utils/date-fns.js +4 -2
- package/es/filter/filter.js +4 -5
- package/es/grid/col.js +14 -3
- package/es/grid/row.js +15 -4
- package/es/input/ClearableLabeledInput.js +2 -2
- package/es/input/TextArea.js +1 -7
- package/es/input-number/inputNumber.js +29 -8
- package/es/pagination/style/index.css +1 -0
- package/es/pagination/style/index.less +1 -0
- package/es/popper/index.d.ts +4 -1
- package/es/popper/index.js +214 -137
- package/es/popper/style/index.css +10 -11
- package/es/popper/style/index.less +17 -19
- package/es/qr-code/qr-code.js +1 -1
- package/es/radio/radio.js +2 -2
- package/es/radio/style/index.css +0 -1
- package/es/radio/style/index.less +1 -1
- package/es/select/style/index.css +3 -0
- package/es/select/style/index.less +1 -0
- package/es/split-panel/split-panel.js +16 -0
- package/es/tooltip/style/index.css +2 -2
- package/es/tooltip/style/index.less +1 -1
- package/es/tree/utils/treeUtils.js +1 -1
- package/es/upload/upload.js +1 -1
- package/lib/_utils/useId.d.ts +2 -0
- package/lib/_utils/useId.js +43 -0
- package/lib/_utils/usePopper.js +13 -7
- package/lib/anchor/anchor.js +11 -2
- package/lib/city-picker/style/index.css +0 -1
- package/lib/city-picker/style/index.less +0 -1
- package/lib/color-picker/color-picker-panel.js +1 -1
- package/lib/date-picker/date-panel.js +39 -34
- package/lib/date-picker/date-picker.js +4 -1
- package/lib/date-picker/hooks/use-picker-input.js +2 -3
- package/lib/date-picker/range-picker.js +10 -24
- package/lib/date-picker/utils/date-fns.js +4 -2
- package/lib/filter/filter.js +4 -5
- package/lib/grid/col.js +14 -3
- package/lib/grid/row.js +15 -4
- package/lib/input/ClearableLabeledInput.js +2 -2
- package/lib/input/TextArea.js +1 -7
- package/lib/input-number/inputNumber.js +29 -8
- package/lib/pagination/style/index.css +1 -0
- package/lib/pagination/style/index.less +1 -0
- package/lib/popper/index.d.ts +4 -1
- package/lib/popper/index.js +213 -136
- package/lib/popper/style/index.css +10 -11
- package/lib/popper/style/index.less +17 -19
- package/lib/qr-code/qr-code.js +1 -1
- package/lib/radio/radio.js +2 -2
- package/lib/radio/style/index.css +0 -1
- package/lib/radio/style/index.less +1 -1
- package/lib/select/style/index.css +3 -0
- package/lib/select/style/index.less +1 -0
- package/lib/split-panel/split-panel.js +16 -0
- package/lib/tooltip/style/index.css +2 -2
- package/lib/tooltip/style/index.less +1 -1
- package/lib/tree/utils/treeUtils.js +1 -1
- package/lib/upload/upload.js +1 -1
- package/package.json +7 -3
package/lib/popper/index.js
CHANGED
|
@@ -13,6 +13,8 @@ var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
|
|
|
13
13
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
14
14
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
15
15
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
16
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
|
|
17
|
+
var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
|
|
16
18
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
17
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
18
20
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
@@ -26,6 +28,8 @@ var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
|
26
28
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
27
29
|
var _reactNode = require("../_utils/reactNode");
|
|
28
30
|
var _configProvider = require("../config-provider");
|
|
31
|
+
var _hooks = require("../_utils/hooks");
|
|
32
|
+
var _useId = _interopRequireDefault(require("../_utils/useId"));
|
|
29
33
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
35
|
var Placements = (0, _type.tuple)('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
|
|
@@ -33,13 +37,16 @@ exports.Placements = Placements;
|
|
|
33
37
|
var Triggers = (0, _type.tuple)('hover', 'focus', 'click', 'contextMenu');
|
|
34
38
|
exports.Triggers = Triggers;
|
|
35
39
|
var useEnhancedEffect = typeof window !== 'undefined' ? _react.default.useLayoutEffect : _react.default.useEffect;
|
|
40
|
+
var TriggerContext = /*#__PURE__*/_react.default.createContext(null);
|
|
36
41
|
var generateGetBoundingClientRect = function generateGetBoundingClientRect() {
|
|
37
42
|
var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
38
43
|
var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
44
|
+
var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
45
|
+
var height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
39
46
|
return function () {
|
|
40
47
|
return {
|
|
41
|
-
width:
|
|
42
|
-
height:
|
|
48
|
+
width: width,
|
|
49
|
+
height: height,
|
|
43
50
|
top: y,
|
|
44
51
|
right: x,
|
|
45
52
|
bottom: y,
|
|
@@ -50,6 +57,7 @@ var generateGetBoundingClientRect = function generateGetBoundingClientRect() {
|
|
|
50
57
|
var virtualElement = {
|
|
51
58
|
getBoundingClientRect: generateGetBoundingClientRect()
|
|
52
59
|
};
|
|
60
|
+
var triggerTypeArray = ['hover', 'focus', 'click', 'contextMenu'];
|
|
53
61
|
var popperPlacementMap = {
|
|
54
62
|
top: 'top',
|
|
55
63
|
left: 'left',
|
|
@@ -66,7 +74,7 @@ var popperPlacementMap = {
|
|
|
66
74
|
};
|
|
67
75
|
exports.popperPlacementMap = popperPlacementMap;
|
|
68
76
|
var placementFlip = {
|
|
69
|
-
bottom: '
|
|
77
|
+
bottom: 'top',
|
|
70
78
|
top: 'bottom',
|
|
71
79
|
right: 'left',
|
|
72
80
|
left: 'right'
|
|
@@ -89,29 +97,28 @@ var getFallbackPlacements = function getFallbackPlacements(key) {
|
|
|
89
97
|
return f !== key;
|
|
90
98
|
}));
|
|
91
99
|
};
|
|
92
|
-
var getRealDom = function getRealDom(locatorRef
|
|
100
|
+
var getRealDom = function getRealDom(locatorRef) {
|
|
101
|
+
var locatorElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
93
102
|
var _a;
|
|
94
103
|
if (!locatorRef.current) return locatorRef.current;
|
|
95
|
-
var REF_NAME_OBJ = {
|
|
96
|
-
Input: 'input',
|
|
97
|
-
InputNumber: 'input',
|
|
98
|
-
Select: 'select',
|
|
99
|
-
Upload: 'input'
|
|
100
|
-
};
|
|
101
104
|
if (locatorRef.current.tagName) return locatorRef.current;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
if (locatorElement) {
|
|
106
|
+
var REF_NAME_OBJ = {
|
|
107
|
+
Input: 'input',
|
|
108
|
+
InputNumber: 'input',
|
|
109
|
+
Select: 'select',
|
|
110
|
+
Upload: 'input'
|
|
111
|
+
};
|
|
112
|
+
var name = REF_NAME_OBJ === null || REF_NAME_OBJ === void 0 ? void 0 : REF_NAME_OBJ[(_a = locatorElement === null || locatorElement === void 0 ? void 0 : locatorElement.type) === null || _a === void 0 ? void 0 : _a.displayName];
|
|
113
|
+
return locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current[name];
|
|
110
114
|
}
|
|
111
|
-
return
|
|
115
|
+
return locatorElement;
|
|
116
|
+
};
|
|
117
|
+
var getElement = function getElement(element) {
|
|
118
|
+
return typeof element === 'function' ? element() : element;
|
|
112
119
|
};
|
|
113
120
|
var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
114
|
-
var
|
|
121
|
+
var _context8, _context9, _context10;
|
|
115
122
|
var _a;
|
|
116
123
|
var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
|
|
117
124
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
@@ -153,40 +160,52 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
153
160
|
getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
|
|
154
161
|
return locatorNode;
|
|
155
162
|
} : _props$getTriggerElem,
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
163
|
+
_props$getPopupContai = props.getPopupContainer,
|
|
164
|
+
getPopupContainer = _props$getPopupContai === void 0 ? function () {
|
|
165
|
+
return document.body;
|
|
166
|
+
} : _props$getPopupContai,
|
|
167
|
+
onTransitionEnd = props.onTransitionEnd,
|
|
168
|
+
onAnimationEnd = props.onAnimationEnd,
|
|
159
169
|
children = props.children;
|
|
160
|
-
// const trigger = 'click'
|
|
161
|
-
// const arrow = false
|
|
162
170
|
var popperPrefixCls = getPrefixCls(pkgPrefixCls, 'popper');
|
|
163
|
-
var
|
|
164
|
-
var
|
|
171
|
+
var referencePrefixCls = "".concat(popperPrefixCls, "-reference");
|
|
172
|
+
var child = getElement(children);
|
|
173
|
+
var childrenInner = /*#__PURE__*/(0, _react.isValidElement)(child) && !(0, _reactNode.isFragment)(child) ? child : /*#__PURE__*/_react.default.createElement("span", null, child);
|
|
174
|
+
var popperElement = getElement(tip);
|
|
165
175
|
var referenceElement = _react.Children.only(childrenInner);
|
|
166
|
-
var
|
|
176
|
+
var id = (0, _useId.default)();
|
|
177
|
+
var parentContext = (0, _react.useContext)(TriggerContext);
|
|
178
|
+
var subPopupRefs = (0, _react.useRef)({});
|
|
179
|
+
var context = _react.default.useMemo(function () {
|
|
180
|
+
return {
|
|
181
|
+
registerSubPopup: function registerSubPopup(id, subPopupEle) {
|
|
182
|
+
subPopupRefs.current[id] = subPopupEle;
|
|
183
|
+
parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, subPopupEle);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
}, [parentContext]);
|
|
187
|
+
var popperRefDom = (0, _react.useRef)(null);
|
|
167
188
|
var popperRefInner = (0, _react.useRef)(null);
|
|
168
189
|
var popperRef = ref || popperRefInner;
|
|
169
190
|
var popperInstance = (0, _react.useRef)(null);
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
var container =
|
|
173
|
-
|
|
174
|
-
|
|
191
|
+
var referenceRefInner = (0, _react.useRef)(null);
|
|
192
|
+
var referenceRef = (referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.ref) || referenceRefInner;
|
|
193
|
+
var container = getPopupContainer(getRealDom(referenceRef, referenceElement) || document.body) || document.body;
|
|
194
|
+
var _useMergedState = (0, _hooks.useMergedState)(false, {
|
|
195
|
+
value: visible,
|
|
196
|
+
defaultValue: defaultVisible
|
|
197
|
+
}),
|
|
198
|
+
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
|
|
199
|
+
visibleInner = _useMergedState2[0],
|
|
200
|
+
setVisibleInner = _useMergedState2[1];
|
|
201
|
+
var _useState = (0, _react.useState)(visibleInner),
|
|
175
202
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
var _useState3 = (0, _react.useState)(
|
|
203
|
+
exist = _useState2[0],
|
|
204
|
+
setExist = _useState2[1];
|
|
205
|
+
var _useState3 = (0, _react.useState)(getRealPlacement(placement)),
|
|
179
206
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
var _useState5 = (0, _react.useState)(false),
|
|
183
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
184
|
-
active = _useState6[0],
|
|
185
|
-
setActive = _useState6[1];
|
|
186
|
-
var _useState7 = (0, _react.useState)(getRealPlacement(placement)),
|
|
187
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
188
|
-
placementInner = _useState8[0],
|
|
189
|
-
setPlacementInner = _useState8[1];
|
|
207
|
+
placementInner = _useState4[0],
|
|
208
|
+
setPlacementInner = _useState4[1];
|
|
190
209
|
var delayRef = (0, _react.useRef)();
|
|
191
210
|
var clearDelay = function clearDelay() {
|
|
192
211
|
if (typeof delayRef.current !== 'undefined') {
|
|
@@ -194,34 +213,64 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
194
213
|
delayRef.current = null;
|
|
195
214
|
}
|
|
196
215
|
};
|
|
216
|
+
var changeVisible = function changeVisible(nextOpen) {
|
|
217
|
+
var triggerType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
218
|
+
if (visibleInner !== nextOpen) {
|
|
219
|
+
if (nextOpen && (0, _includes.default)(triggerTypeArray).call(triggerTypeArray, triggerType)) {
|
|
220
|
+
onTrigger === null || onTrigger === void 0 ? void 0 : onTrigger(triggerType);
|
|
221
|
+
}
|
|
222
|
+
if (typeof visible === 'undefined') {
|
|
223
|
+
setVisibleInner(nextOpen);
|
|
224
|
+
}
|
|
225
|
+
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);
|
|
226
|
+
}
|
|
227
|
+
if (!nextOpen && (0, _keys.default)(subPopupRefs.current || {}).length) {
|
|
228
|
+
console.log('triggerOpenSub', subPopupRefs.current);
|
|
229
|
+
(0, _values.default)(subPopupRefs.current).forEach(function (d) {
|
|
230
|
+
if (typeof (d === null || d === void 0 ? void 0 : d.triggerOpen) === 'function' && (d === null || d === void 0 ? void 0 : d.visible)) {
|
|
231
|
+
d === null || d === void 0 ? void 0 : d.triggerOpen(false);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
};
|
|
197
236
|
var triggerOpen = function triggerOpen(nextOpen) {
|
|
198
237
|
var triggerType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
199
|
-
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0
|
|
200
|
-
console.log('triggerOpen', nextOpen, delay);
|
|
238
|
+
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
201
239
|
clearDelay();
|
|
202
|
-
if (
|
|
203
|
-
if (
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
240
|
+
if (!disabled) {
|
|
241
|
+
if (delay === 0) {
|
|
242
|
+
changeVisible(nextOpen, triggerType);
|
|
243
|
+
} else {
|
|
244
|
+
if (visibleInner !== nextOpen) {
|
|
245
|
+
delayRef.current = setTimeout(function () {
|
|
246
|
+
changeVisible(nextOpen, triggerType);
|
|
247
|
+
}, delay * 1000);
|
|
209
248
|
}
|
|
210
|
-
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);
|
|
211
249
|
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
var isSubPopper = function isSubPopper(event) {
|
|
253
|
+
if (!event || !(event === null || event === void 0 ? void 0 : event.target)) {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
// let targetElement: HTMLElement = event.target as HTMLElement
|
|
257
|
+
// const POP_ATTR_NAME = 'data-popper-placement'
|
|
258
|
+
// while (targetElement && targetElement !== document.documentElement) {
|
|
259
|
+
// if (targetElement?.getAttribute(POP_ATTR_NAME) && targetElement?.className.includes(popperPrefixCls)) {
|
|
260
|
+
// return true
|
|
261
|
+
// }
|
|
262
|
+
// targetElement = targetElement?.parentNode as HTMLElement
|
|
263
|
+
// }
|
|
264
|
+
var target = event.target;
|
|
265
|
+
if (subPopupRefs.current) {
|
|
266
|
+
for (var key in subPopupRefs.current) {
|
|
267
|
+
var dom = subPopupRefs.current[key].dom;
|
|
268
|
+
if (dom && ((dom === null || dom === void 0 ? void 0 : dom.contains(target)) || dom === target)) {
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
223
271
|
}
|
|
224
272
|
}
|
|
273
|
+
return false;
|
|
225
274
|
};
|
|
226
275
|
var onTriggerInner = function onTriggerInner(nextOpen, triggerType) {
|
|
227
276
|
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
@@ -229,43 +278,76 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
229
278
|
};
|
|
230
279
|
var onClick = function onClick(e) {
|
|
231
280
|
var _a, _b;
|
|
232
|
-
|
|
281
|
+
e.stopPropagation();
|
|
282
|
+
onTriggerInner(!visibleInner, 'click');
|
|
233
283
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
234
284
|
};
|
|
235
285
|
var onFocus = function onFocus(e) {
|
|
236
286
|
var _a, _b;
|
|
237
|
-
onTriggerInner(true, 'focus'
|
|
287
|
+
onTriggerInner(true, 'focus');
|
|
238
288
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
239
289
|
};
|
|
240
290
|
var onBlur = function onBlur(e) {
|
|
241
291
|
var _a, _b;
|
|
242
|
-
onTriggerInner(false, 'focus'
|
|
292
|
+
onTriggerInner(false, 'focus');
|
|
243
293
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
244
294
|
};
|
|
245
295
|
var onContextMenu = function onContextMenu(e) {
|
|
246
296
|
var _a, _b;
|
|
247
297
|
e.preventDefault();
|
|
248
|
-
|
|
249
|
-
|
|
298
|
+
var clientWidth = 0;
|
|
299
|
+
var clientHeight = 0;
|
|
300
|
+
if (arrow) {
|
|
301
|
+
if ((0, _startsWith.default)(placementInner).call(placementInner, 'top') || (0, _startsWith.default)(placementInner).call(placementInner, 'bottom')) {
|
|
302
|
+
var _context6;
|
|
303
|
+
if (!(0, _includes.default)(_context6 = ['top', 'bottom']).call(_context6, placementInner)) {
|
|
304
|
+
clientWidth = 6 * arrowSize;
|
|
305
|
+
}
|
|
306
|
+
} else {
|
|
307
|
+
var _context7;
|
|
308
|
+
if (!(0, _includes.default)(_context7 = ['right', 'left']).call(_context7, placementInner)) {
|
|
309
|
+
clientHeight = 6 * arrowSize;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
virtualElement.getBoundingClientRect = generateGetBoundingClientRect(e.clientX, e.clientY, clientWidth, clientHeight);
|
|
314
|
+
onTriggerInner(!visibleInner, 'contextMenu');
|
|
250
315
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
251
316
|
};
|
|
252
317
|
var onMouseOver = function onMouseOver(e) {
|
|
253
318
|
var _a, _b;
|
|
254
|
-
console.log('onMouseOver');
|
|
255
319
|
onTriggerInner(true, 'hover', mouseEnterDelay);
|
|
256
320
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onMouseOver) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
257
321
|
};
|
|
258
322
|
var onMouseLeave = function onMouseLeave(e) {
|
|
259
323
|
var _a, _b;
|
|
260
|
-
console.log('onMouseLeave');
|
|
261
324
|
onTriggerInner(false, 'hover', mouseLeaveDelay);
|
|
262
325
|
(_b = (_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
263
326
|
};
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
327
|
+
var onPopperAnimationEnd = function onPopperAnimationEnd(e) {
|
|
328
|
+
onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(e);
|
|
329
|
+
onTransitionEnd === null || onTransitionEnd === void 0 ? void 0 : onTransitionEnd(e);
|
|
330
|
+
};
|
|
331
|
+
var isTrigger = function isTrigger(triggerValue) {
|
|
332
|
+
return trigger === triggerValue || Array.isArray(trigger) && (0, _includes.default)(trigger).call(trigger, triggerValue);
|
|
333
|
+
};
|
|
334
|
+
var triggerEventHandle = function triggerEventHandle(triggerNode) {
|
|
335
|
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'addEventListener';
|
|
336
|
+
if (isTrigger('click')) {
|
|
337
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('click', onClick);
|
|
338
|
+
}
|
|
339
|
+
if (isTrigger('focus')) {
|
|
340
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('focus', onFocus);
|
|
341
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('blur', onBlur);
|
|
267
342
|
}
|
|
268
|
-
|
|
343
|
+
if (isTrigger('contextMenu')) {
|
|
344
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('contextmenu', onContextMenu);
|
|
345
|
+
}
|
|
346
|
+
if (isTrigger('hover')) {
|
|
347
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('mouseover', onMouseOver);
|
|
348
|
+
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('mouseleave', onMouseLeave);
|
|
349
|
+
}
|
|
350
|
+
};
|
|
269
351
|
(0, _react.useEffect)(function () {
|
|
270
352
|
setPlacementInner(getRealPlacement(placement));
|
|
271
353
|
}, [placement]);
|
|
@@ -273,9 +355,9 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
273
355
|
var scrollHandle = (0, _debounce.default)(function (e) {
|
|
274
356
|
var _a, _b;
|
|
275
357
|
if (visibleInner) {
|
|
276
|
-
var isPopper = e.target ===
|
|
358
|
+
var isPopper = e.target === popperRefDom.current || ((_b = (_a = popperRefDom.current) === null || _a === void 0 ? void 0 : _a.contains) === null || _b === void 0 ? void 0 : _b.call(_a, e.target));
|
|
277
359
|
if (scrollHidden && !isPopper) {
|
|
278
|
-
triggerOpen(false);
|
|
360
|
+
triggerOpen(false, 'scroll');
|
|
279
361
|
}
|
|
280
362
|
}
|
|
281
363
|
}, 10);
|
|
@@ -285,14 +367,18 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
285
367
|
return function () {
|
|
286
368
|
document.removeEventListener('scroll', scrollHandle, true);
|
|
287
369
|
};
|
|
288
|
-
}, [visibleInner, scrollHidden,
|
|
370
|
+
}, [visibleInner, scrollHidden, popperRefDom]);
|
|
289
371
|
(0, _react.useEffect)(function () {
|
|
290
372
|
var clickHandle = (0, _debounce.default)(function (e) {
|
|
373
|
+
var _a, _b, _c;
|
|
291
374
|
if (visibleInner) {
|
|
292
|
-
var
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
375
|
+
var isPopper = popperRefDom.current ? popperRefDom.current === e.target || ((_b = (_a = popperRefDom.current).contains) === null || _b === void 0 ? void 0 : _b.call(_a, e.target)) : false;
|
|
376
|
+
var domReference = getRealDom(referenceRef, referenceElement);
|
|
377
|
+
var isReference = domReference ? domReference === e.target || ((_c = domReference === null || domReference === void 0 ? void 0 : domReference.contains) === null || _c === void 0 ? void 0 : _c.call(domReference, e.target)) : false;
|
|
378
|
+
var isTarget = trigger === 'contextMenu' ? isPopper : isPopper || isReference;
|
|
379
|
+
console.log('clickOutside', children, e.target, isPopper, isReference, subPopupRefs.current);
|
|
380
|
+
if (clickToClose && !isTarget && !isSubPopper(e)) {
|
|
381
|
+
triggerOpen(false, 'clickOutside', 0);
|
|
296
382
|
}
|
|
297
383
|
}
|
|
298
384
|
}, 10);
|
|
@@ -302,30 +388,22 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
302
388
|
return function () {
|
|
303
389
|
document.removeEventListener('click', clickHandle, true);
|
|
304
390
|
};
|
|
305
|
-
}, [visibleInner, clickToClose, referenceRef,
|
|
391
|
+
}, [visibleInner, clickToClose, referenceRef, popperRefDom]);
|
|
306
392
|
(0, _react.useEffect)(function () {
|
|
307
393
|
var realDom = getRealDom(referenceRef, referenceElement);
|
|
308
394
|
var triggerNode = getTriggerElement(realDom);
|
|
309
|
-
|
|
310
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('click', onClick);
|
|
311
|
-
} else if (trigger === 'focus') {
|
|
312
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('focus', onFocus);
|
|
313
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('blur', onBlur);
|
|
314
|
-
} else if (trigger === 'contextMenu') {
|
|
315
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('contextmenu', onContextMenu);
|
|
316
|
-
} else {
|
|
317
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('mouseover', onMouseOver);
|
|
318
|
-
triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('mouseleave', onMouseLeave);
|
|
319
|
-
}
|
|
395
|
+
triggerEventHandle(triggerNode);
|
|
320
396
|
return function () {
|
|
321
|
-
triggerNode
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
397
|
+
triggerEventHandle(triggerNode, 'removeEventListener');
|
|
398
|
+
};
|
|
399
|
+
}, [getTriggerElement, visibleInner, referenceElement, referenceRef, trigger]);
|
|
400
|
+
(0, _react.useImperativeHandle)(popperRef, function () {
|
|
401
|
+
return {
|
|
402
|
+
dom: popperRefDom.current,
|
|
403
|
+
triggerOpen: triggerOpen,
|
|
404
|
+
visible: visibleInner
|
|
327
405
|
};
|
|
328
|
-
}
|
|
406
|
+
});
|
|
329
407
|
var popperModifiers = [{
|
|
330
408
|
name: 'offset',
|
|
331
409
|
options: {
|
|
@@ -335,23 +413,24 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
335
413
|
name: 'preventOverflow',
|
|
336
414
|
enabled: autoPlacement,
|
|
337
415
|
options: {
|
|
338
|
-
altBoundary: disabled,
|
|
339
416
|
mainAxis: true
|
|
340
417
|
}
|
|
341
418
|
}, {
|
|
342
419
|
name: 'flip',
|
|
343
420
|
enabled: autoPlacement,
|
|
344
421
|
options: {
|
|
345
|
-
altBoundary: disabled,
|
|
346
422
|
fallbackPlacements: autoPlacement ? getFallbackPlacements(placementInner) : undefined
|
|
347
423
|
}
|
|
348
424
|
}, {
|
|
349
425
|
name: 'onUpdate',
|
|
350
426
|
enabled: true,
|
|
351
427
|
phase: 'afterWrite',
|
|
352
|
-
fn: function fn(
|
|
353
|
-
var
|
|
354
|
-
|
|
428
|
+
fn: function fn(d) {
|
|
429
|
+
var _ref = d === null || d === void 0 ? void 0 : d.state,
|
|
430
|
+
p = _ref.placement;
|
|
431
|
+
if (p !== placementInner) {
|
|
432
|
+
setPlacementInner(p);
|
|
433
|
+
}
|
|
355
434
|
}
|
|
356
435
|
}];
|
|
357
436
|
var popperOptionsInner = {
|
|
@@ -361,73 +440,71 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
361
440
|
};
|
|
362
441
|
useEnhancedEffect(function () {
|
|
363
442
|
var _a, _b;
|
|
364
|
-
console.log('-----1', exist, popperInstance.current);
|
|
365
443
|
if (visibleInner) {
|
|
366
444
|
if (!exist) {
|
|
367
445
|
setExist(true);
|
|
368
446
|
} else {
|
|
369
|
-
setActive(true);
|
|
370
|
-
setTimeout(function () {
|
|
371
|
-
return setActive(false);
|
|
372
|
-
}, 1000);
|
|
373
447
|
if (popperInstance.current) {
|
|
374
448
|
(_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.setOptions(function (options) {
|
|
375
449
|
return (0, _extends2.default)((0, _extends2.default)({}, options), popperOptionsInner);
|
|
376
450
|
});
|
|
377
451
|
(_b = popperInstance.current) === null || _b === void 0 ? void 0 : _b.forceUpdate();
|
|
378
452
|
}
|
|
453
|
+
setTimeout(function () {
|
|
454
|
+
parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, popperRef.current);
|
|
455
|
+
}, 10);
|
|
379
456
|
}
|
|
380
457
|
}
|
|
381
|
-
}, [visibleInner, placementInner]);
|
|
458
|
+
}, [visibleInner, placementInner, arrow]);
|
|
382
459
|
useEnhancedEffect(function () {
|
|
383
|
-
|
|
384
|
-
if (!exist || disabled) {
|
|
460
|
+
if (!exist) {
|
|
385
461
|
return undefined;
|
|
386
462
|
}
|
|
387
463
|
var current = getRealDom(referenceRef, referenceElement);
|
|
388
464
|
if (current) {
|
|
389
|
-
popperInstance.current = (0, _core.createPopper)(trigger === 'contextMenu' ? virtualElement : (current === null || current === void 0 ? void 0 : current.closest(".".concat(
|
|
465
|
+
popperInstance.current = (0, _core.createPopper)(trigger === 'contextMenu' ? virtualElement : (current === null || current === void 0 ? void 0 : current.closest(".".concat(referencePrefixCls))) || current, popperRefDom.current, popperOptionsInner);
|
|
466
|
+
setTimeout(function () {
|
|
467
|
+
parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, popperRef.current);
|
|
468
|
+
}, 10);
|
|
390
469
|
}
|
|
391
470
|
return function () {
|
|
392
471
|
var _a;
|
|
393
|
-
console.log('-----3');
|
|
394
472
|
(_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
395
473
|
};
|
|
396
|
-
}, [exist
|
|
474
|
+
}, [exist]);
|
|
397
475
|
if (children === null || typeof children === 'undefined') {
|
|
398
476
|
return null;
|
|
399
477
|
}
|
|
478
|
+
var arrowStyle = (0, _defineProperty2.default)({}, "--arrowSize", arrowSize + 'px');
|
|
400
479
|
var popperContainerProps = {
|
|
401
|
-
ref:
|
|
402
|
-
|
|
480
|
+
ref: popperRefDom,
|
|
481
|
+
style: (0, _extends2.default)({}, arrow ? arrowStyle : {}),
|
|
482
|
+
className: (0, _classnames3.default)(popperPrefixCls, {
|
|
403
483
|
hidden: !visibleInner
|
|
404
|
-
})
|
|
405
|
-
onTransitionEnd: function onTransitionEnd(e) {
|
|
406
|
-
return _onTransitionEnd === null || _onTransitionEnd === void 0 ? void 0 : _onTransitionEnd(e);
|
|
407
|
-
}
|
|
484
|
+
})
|
|
408
485
|
};
|
|
409
|
-
var arrowStyle = (0, _defineProperty2.default)({}, "--arrowSize", arrowSize + 'px');
|
|
410
486
|
var popperProps = {
|
|
411
|
-
className: (0, _classnames3.default)([
|
|
412
|
-
style: (0, _extends2.default)((0, _extends2.default)(
|
|
487
|
+
className: (0, _classnames3.default)([(0, _concat.default)(_context8 = "".concat(popperPrefixCls, "-")).call(_context8, placementInner)], (0, _defineProperty2.default)({}, (0, _concat.default)(_context9 = "".concat(popperPrefixCls, "-")).call(_context9, placementInner, "-out"), !visibleInner), (0, _defineProperty2.default)({}, (0, _concat.default)(_context10 = "".concat(popperPrefixCls, "-")).call(_context10, placementInner, "-in"), visibleInner), prefixCls, popperClassName, className),
|
|
488
|
+
style: (0, _extends2.default)((0, _extends2.default)({}, popperStyle), style),
|
|
413
489
|
onMouseOver: trigger === 'hover' ? function () {
|
|
414
490
|
return onTriggerInner(true, 'hover', mouseEnterDelay);
|
|
415
491
|
} : undefined,
|
|
416
492
|
onMouseLeave: trigger === 'hover' ? function () {
|
|
417
493
|
return onTriggerInner(false, 'hover', mouseLeaveDelay);
|
|
418
494
|
} : undefined,
|
|
419
|
-
onAnimationEnd:
|
|
420
|
-
|
|
421
|
-
}
|
|
495
|
+
onAnimationEnd: onPopperAnimationEnd,
|
|
496
|
+
onTransitionEnd: onPopperAnimationEnd
|
|
422
497
|
};
|
|
423
498
|
var referenceProps = {
|
|
424
499
|
ref: referenceRef,
|
|
425
|
-
className: (0, _classnames3.default)((_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.className,
|
|
500
|
+
className: (0, _classnames3.default)((_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.className, referencePrefixCls)
|
|
426
501
|
};
|
|
427
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.cloneElement(referenceElement, referenceProps), exist && container && /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(
|
|
428
|
-
|
|
502
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.cloneElement(referenceElement, referenceProps), exist && container && /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(TriggerContext.Provider, {
|
|
503
|
+
value: context
|
|
504
|
+
}, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, popperContainerProps), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, popperProps), popperElement, arrow && /*#__PURE__*/_react.default.createElement("div", {
|
|
505
|
+
className: "arrow",
|
|
429
506
|
"data-popper-arrow": ""
|
|
430
|
-
}))), container));
|
|
507
|
+
})))), container));
|
|
431
508
|
});
|
|
432
509
|
exports.Popper = Popper;
|
|
433
510
|
Popper.displayName = 'Popper';
|
|
@@ -114,24 +114,23 @@
|
|
|
114
114
|
.kd-popper.hidden {
|
|
115
115
|
opacity: 0;
|
|
116
116
|
visibility: hidden;
|
|
117
|
-
-webkit-transition: all calc(0.3s - 0.1s);
|
|
118
|
-
transition: all calc(0.3s - 0.1s);
|
|
119
117
|
pointer-events: none;
|
|
120
118
|
}
|
|
121
|
-
.kd-popper
|
|
119
|
+
.kd-popper .arrow {
|
|
122
120
|
visibility: hidden;
|
|
123
121
|
}
|
|
124
|
-
.kd-popper
|
|
122
|
+
.kd-popper .arrow::before {
|
|
125
123
|
visibility: visible;
|
|
126
124
|
position: absolute;
|
|
127
125
|
border-style: solid;
|
|
126
|
+
border-color: transparent;
|
|
128
127
|
border-width: var(--arrowSize);
|
|
129
128
|
content: '';
|
|
130
129
|
-webkit-transform: rotate(45deg);
|
|
131
130
|
transform: rotate(45deg);
|
|
132
131
|
}
|
|
133
132
|
.kd-popper[data-popper-placement^='top'] .arrow {
|
|
134
|
-
bottom: var(--arrowSize);
|
|
133
|
+
bottom: calc(0.9 * var(--arrowSize));
|
|
135
134
|
}
|
|
136
135
|
.kd-popper[data-popper-placement^='top'] .arrow::before {
|
|
137
136
|
left: calc(-1 * var(--arrowSize));
|
|
@@ -139,7 +138,7 @@
|
|
|
139
138
|
border-left-color: transparent;
|
|
140
139
|
}
|
|
141
140
|
.kd-popper[data-popper-placement^='bottom'] .arrow {
|
|
142
|
-
top: calc(-
|
|
141
|
+
top: calc(-0.9 * var(--arrowSize));
|
|
143
142
|
}
|
|
144
143
|
.kd-popper[data-popper-placement^='bottom'] .arrow::before {
|
|
145
144
|
left: calc(-1 * var(--arrowSize));
|
|
@@ -147,7 +146,7 @@
|
|
|
147
146
|
border-right-color: transparent;
|
|
148
147
|
}
|
|
149
148
|
.kd-popper[data-popper-placement^='left'] .arrow {
|
|
150
|
-
right: var(--arrowSize);
|
|
149
|
+
right: calc(0.9 * var(--arrowSize));
|
|
151
150
|
}
|
|
152
151
|
.kd-popper[data-popper-placement^='left'] .arrow::before {
|
|
153
152
|
top: calc(-1 * var(--arrowSize));
|
|
@@ -155,7 +154,7 @@
|
|
|
155
154
|
border-bottom-color: transparent;
|
|
156
155
|
}
|
|
157
156
|
.kd-popper[data-popper-placement^='right'] .arrow {
|
|
158
|
-
left: calc(-
|
|
157
|
+
left: calc(-0.9 * var(--arrowSize));
|
|
159
158
|
}
|
|
160
159
|
.kd-popper[data-popper-placement^='right'] .arrow::before {
|
|
161
160
|
top: calc(-1 * var(--arrowSize));
|
|
@@ -242,17 +241,17 @@
|
|
|
242
241
|
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 0.6);
|
|
243
242
|
animation-timing-function: cubic-bezier(0.4, 0, 1, 0.6);
|
|
244
243
|
}
|
|
245
|
-
.kd-popper-
|
|
244
|
+
.kd-popper-right-end {
|
|
246
245
|
-webkit-animation-duration: calc(0.3s - 0.1s);
|
|
247
246
|
animation-duration: calc(0.3s - 0.1s);
|
|
248
247
|
}
|
|
249
|
-
.kd-popper-
|
|
248
|
+
.kd-popper-right-end-in {
|
|
250
249
|
-webkit-animation-name: kdZoomLeftBottomIn;
|
|
251
250
|
animation-name: kdZoomLeftBottomIn;
|
|
252
251
|
-webkit-animation-timing-function: cubic-bezier(0, 0.4, 0.4, 1);
|
|
253
252
|
animation-timing-function: cubic-bezier(0, 0.4, 0.4, 1);
|
|
254
253
|
}
|
|
255
|
-
.kd-popper-
|
|
254
|
+
.kd-popper-right-end-out {
|
|
256
255
|
-webkit-animation-name: kdZoomLeftBottomOut;
|
|
257
256
|
animation-name: kdZoomLeftBottomOut;
|
|
258
257
|
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 0.6);
|