@kdcloudjs/kdesign 1.7.70 → 1.8.0

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.
Files changed (66) hide show
  1. package/dist/kdesign-complete.less +105 -10
  2. package/dist/kdesign.css +361 -66
  3. package/dist/kdesign.css.map +1 -1
  4. package/dist/kdesign.js +4202 -440
  5. package/dist/kdesign.js.map +1 -1
  6. package/dist/kdesign.min.css +2 -2
  7. package/dist/kdesign.min.js +13 -13
  8. package/dist/kdesign.min.js.map +1 -1
  9. package/es/_utils/useId.d.ts +2 -0
  10. package/es/_utils/useId.js +30 -0
  11. package/es/date-picker/calendar.d.ts +3 -2
  12. package/es/date-picker/date-panel.d.ts +2 -1
  13. package/es/date-picker/date-picker.d.ts +4 -0
  14. package/es/date-picker/hooks/use-range-disabled.d.ts +3 -2
  15. package/es/date-picker/hooks/use-range-disabled.js +4 -2
  16. package/es/date-picker/interface.d.ts +2 -1
  17. package/es/date-picker/panel/month/month.d.ts +2 -2
  18. package/es/date-picker/panel/month/month.js +7 -3
  19. package/es/date-picker/panel/quarter/quarter.d.ts +2 -2
  20. package/es/date-picker/panel/quarter/quarter.js +7 -3
  21. package/es/date-picker/panel/week/week.d.ts +2 -1
  22. package/es/date-picker/panel/year/year.d.ts +2 -1
  23. package/es/date-picker/panel/year/year.js +7 -3
  24. package/es/date-picker/range-picker.js +3 -1
  25. package/es/date-picker/single/input-date.d.ts +2 -1
  26. package/es/popper/index.d.ts +54 -0
  27. package/es/popper/index.js +495 -0
  28. package/es/popper/style/css.js +2 -0
  29. package/es/popper/style/index.css +355 -0
  30. package/es/popper/style/index.d.ts +2 -0
  31. package/es/popper/style/index.js +2 -0
  32. package/es/popper/style/index.less +101 -0
  33. package/es/tooltip/style/index.css +4 -65
  34. package/es/tooltip/style/index.less +3 -10
  35. package/es/tooltip/tooltip.d.ts +3 -7
  36. package/es/tooltip/tooltip.js +10 -26
  37. package/lib/_utils/useId.d.ts +2 -0
  38. package/lib/_utils/useId.js +43 -0
  39. package/lib/date-picker/calendar.d.ts +3 -2
  40. package/lib/date-picker/date-panel.d.ts +2 -1
  41. package/lib/date-picker/date-picker.d.ts +4 -0
  42. package/lib/date-picker/hooks/use-range-disabled.d.ts +3 -2
  43. package/lib/date-picker/hooks/use-range-disabled.js +4 -2
  44. package/lib/date-picker/interface.d.ts +2 -1
  45. package/lib/date-picker/panel/month/month.d.ts +2 -2
  46. package/lib/date-picker/panel/month/month.js +7 -3
  47. package/lib/date-picker/panel/quarter/quarter.d.ts +2 -2
  48. package/lib/date-picker/panel/quarter/quarter.js +7 -3
  49. package/lib/date-picker/panel/week/week.d.ts +2 -1
  50. package/lib/date-picker/panel/year/year.d.ts +2 -1
  51. package/lib/date-picker/panel/year/year.js +7 -3
  52. package/lib/date-picker/range-picker.js +3 -1
  53. package/lib/date-picker/single/input-date.d.ts +2 -1
  54. package/lib/popper/index.d.ts +54 -0
  55. package/lib/popper/index.js +512 -0
  56. package/lib/popper/style/css.js +4 -0
  57. package/lib/popper/style/index.css +355 -0
  58. package/lib/popper/style/index.d.ts +2 -0
  59. package/lib/popper/style/index.js +4 -0
  60. package/lib/popper/style/index.less +101 -0
  61. package/lib/style/components.less +1 -0
  62. package/lib/tooltip/style/index.css +4 -65
  63. package/lib/tooltip/style/index.less +3 -10
  64. package/lib/tooltip/tooltip.d.ts +3 -7
  65. package/lib/tooltip/tooltip.js +10 -31
  66. package/package.json +8 -3
@@ -0,0 +1,512 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.popperPlacementMap = exports.default = exports.Triggers = exports.Popper = exports.Placements = void 0;
11
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
12
+ var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
13
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
14
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
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"));
18
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
22
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
23
+ var _react = _interopRequireWildcard(require("react"));
24
+ var _core = require("@popperjs/core");
25
+ var _type = require("../_utils/type");
26
+ var _classnames3 = _interopRequireDefault(require("classnames"));
27
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+ var _reactNode = require("../_utils/reactNode");
30
+ var _configProvider = require("../config-provider");
31
+ var _hooks = require("../_utils/hooks");
32
+ var _useId = _interopRequireDefault(require("../_utils/useId"));
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); }
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; }
35
+ var Placements = (0, _type.tuple)('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
36
+ exports.Placements = Placements;
37
+ var Triggers = (0, _type.tuple)('hover', 'focus', 'click', 'contextMenu');
38
+ exports.Triggers = Triggers;
39
+ var useEnhancedEffect = typeof window !== 'undefined' ? _react.default.useLayoutEffect : _react.default.useEffect;
40
+ var TriggerContext = /*#__PURE__*/_react.default.createContext(null);
41
+ var generateGetBoundingClientRect = function generateGetBoundingClientRect() {
42
+ var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
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;
46
+ return function () {
47
+ return {
48
+ width: width,
49
+ height: height,
50
+ top: y,
51
+ right: x,
52
+ bottom: y,
53
+ left: x
54
+ };
55
+ };
56
+ };
57
+ var virtualElement = {
58
+ getBoundingClientRect: generateGetBoundingClientRect()
59
+ };
60
+ var triggerTypeArray = ['hover', 'focus', 'click', 'contextMenu'];
61
+ var popperPlacementMap = {
62
+ top: 'top',
63
+ left: 'left',
64
+ right: 'right',
65
+ bottom: 'bottom',
66
+ topLeft: 'top-start',
67
+ topRight: 'top-end',
68
+ bottomLeft: 'bottom-start',
69
+ bottomRight: 'bottom-end',
70
+ leftTop: 'left-start',
71
+ leftBottom: 'left-end',
72
+ rightTop: 'right-start',
73
+ rightBottom: 'right-end'
74
+ };
75
+ exports.popperPlacementMap = popperPlacementMap;
76
+ var placementFlip = {
77
+ bottom: 'top',
78
+ top: 'bottom',
79
+ right: 'left',
80
+ left: 'right'
81
+ };
82
+ var getRealPlacement = function getRealPlacement(key) {
83
+ return popperPlacementMap[key] ? popperPlacementMap[key] : 'top';
84
+ };
85
+ var getFallbackPlacements = function getFallbackPlacements(key) {
86
+ var _context, _context2, _context3, _context4;
87
+ var prefix = key.split('-')[0];
88
+ var suffix = ['']; // , '-start', '-end']
89
+ return (0, _toConsumableArray2.default)((0, _filter.default)(_context = (0, _flat.default)(_context2 = (0, _map.default)(_context3 = (0, _toConsumableArray2.default)((0, _filter.default)(_context4 = (0, _keys.default)(placementFlip)).call(_context4, function (r) {
90
+ var _context5;
91
+ return (0, _includes.default)(_context5 = [prefix, placementFlip[prefix]]).call(_context5, r);
92
+ }))).call(_context3, function (d) {
93
+ return (0, _map.default)(suffix).call(suffix, function (o) {
94
+ return d + o;
95
+ });
96
+ })).call(_context2)).call(_context, function (f) {
97
+ return f !== key;
98
+ }));
99
+ };
100
+ var getRealDom = function getRealDom(locatorRef) {
101
+ var locatorElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
102
+ var _a;
103
+ if (!locatorRef.current) return locatorRef.current;
104
+ if (locatorRef.current.tagName) return locatorRef.current;
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];
114
+ }
115
+ return locatorElement;
116
+ };
117
+ var getElement = function getElement(element) {
118
+ return typeof element === 'function' ? element() : element;
119
+ };
120
+ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
121
+ var _context8, _context9, _context10;
122
+ var _a;
123
+ var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
124
+ getPrefixCls = _React$useContext.getPrefixCls,
125
+ pkgPrefixCls = _React$useContext.prefixCls;
126
+ var prefixCls = props.prefixCls,
127
+ onTrigger = props.onTrigger,
128
+ style = props.style,
129
+ popperStyle = props.popperStyle,
130
+ _props$arrow = props.arrow,
131
+ arrow = _props$arrow === void 0 ? false : _props$arrow,
132
+ onVisibleChange = props.onVisibleChange,
133
+ className = props.className,
134
+ popperClassName = props.popperClassName,
135
+ tip = props.tip,
136
+ _props$disabled = props.disabled,
137
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
138
+ _props$trigger = props.trigger,
139
+ trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
140
+ _props$placement = props.placement,
141
+ placement = _props$placement === void 0 ? 'top' : _props$placement,
142
+ visible = props.visible,
143
+ _props$arrowSize = props.arrowSize,
144
+ arrowSize = _props$arrowSize === void 0 ? 4.25 : _props$arrowSize,
145
+ _props$gap = props.gap,
146
+ defaultGap = _props$gap === void 0 ? 4 : _props$gap,
147
+ _props$scrollHidden = props.scrollHidden,
148
+ scrollHidden = _props$scrollHidden === void 0 ? false : _props$scrollHidden,
149
+ _props$mouseEnterDela = props.mouseEnterDelay,
150
+ mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,
151
+ _props$mouseLeaveDela = props.mouseLeaveDelay,
152
+ mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
153
+ _props$defaultVisible = props.defaultVisible,
154
+ defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
155
+ _props$autoPlacement = props.autoPlacement,
156
+ autoPlacement = _props$autoPlacement === void 0 ? true : _props$autoPlacement,
157
+ _props$clickToClose = props.clickToClose,
158
+ clickToClose = _props$clickToClose === void 0 ? true : _props$clickToClose,
159
+ _props$getTriggerElem = props.getTriggerElement,
160
+ getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
161
+ return locatorNode;
162
+ } : _props$getTriggerElem,
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,
169
+ children = props.children;
170
+ var popperPrefixCls = getPrefixCls(pkgPrefixCls, 'popper');
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);
175
+ var referenceElement = _react.Children.only(childrenInner);
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);
188
+ var popperRefInner = (0, _react.useRef)(null);
189
+ var popperRef = ref || popperRefInner;
190
+ var popperInstance = (0, _react.useRef)(null);
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),
202
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
203
+ exist = _useState2[0],
204
+ setExist = _useState2[1];
205
+ var _useState3 = (0, _react.useState)(getRealPlacement(placement)),
206
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
207
+ placementInner = _useState4[0],
208
+ setPlacementInner = _useState4[1];
209
+ var delayRef = (0, _react.useRef)();
210
+ var clearDelay = function clearDelay() {
211
+ if (typeof delayRef.current !== 'undefined') {
212
+ clearTimeout(delayRef.current);
213
+ delayRef.current = null;
214
+ }
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
+ };
236
+ var triggerOpen = function triggerOpen(nextOpen) {
237
+ var triggerType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
238
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
239
+ clearDelay();
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);
248
+ }
249
+ }
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
+ }
271
+ }
272
+ }
273
+ return false;
274
+ };
275
+ var onTriggerInner = function onTriggerInner(nextOpen, triggerType) {
276
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
277
+ triggerOpen(nextOpen, triggerType, delay);
278
+ };
279
+ var onClick = function onClick(e) {
280
+ var _a, _b;
281
+ e.stopPropagation();
282
+ onTriggerInner(!visibleInner, 'click');
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);
284
+ };
285
+ var onFocus = function onFocus(e) {
286
+ var _a, _b;
287
+ onTriggerInner(true, 'focus');
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);
289
+ };
290
+ var onBlur = function onBlur(e) {
291
+ var _a, _b;
292
+ onTriggerInner(false, 'focus');
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);
294
+ };
295
+ var onContextMenu = function onContextMenu(e) {
296
+ var _a, _b;
297
+ e.preventDefault();
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');
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);
316
+ };
317
+ var onMouseOver = function onMouseOver(e) {
318
+ var _a, _b;
319
+ onTriggerInner(true, 'hover', mouseEnterDelay);
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);
321
+ };
322
+ var onMouseLeave = function onMouseLeave(e) {
323
+ var _a, _b;
324
+ onTriggerInner(false, 'hover', mouseLeaveDelay);
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);
326
+ };
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);
342
+ }
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
+ };
351
+ (0, _react.useEffect)(function () {
352
+ setPlacementInner(getRealPlacement(placement));
353
+ }, [placement]);
354
+ (0, _react.useEffect)(function () {
355
+ var scrollHandle = (0, _debounce.default)(function (e) {
356
+ var _a, _b;
357
+ if (visibleInner) {
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));
359
+ if (scrollHidden && !isPopper) {
360
+ triggerOpen(false, 'scroll');
361
+ }
362
+ }
363
+ }, 10);
364
+ if (visibleInner) {
365
+ document.addEventListener('scroll', scrollHandle, true);
366
+ }
367
+ return function () {
368
+ document.removeEventListener('scroll', scrollHandle, true);
369
+ };
370
+ }, [visibleInner, scrollHidden, popperRefDom]);
371
+ (0, _react.useEffect)(function () {
372
+ var clickHandle = (0, _debounce.default)(function (e) {
373
+ var _a, _b, _c;
374
+ if (visibleInner) {
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);
382
+ }
383
+ }
384
+ }, 10);
385
+ if (visibleInner) {
386
+ document.addEventListener('click', clickHandle, true);
387
+ }
388
+ return function () {
389
+ document.removeEventListener('click', clickHandle, true);
390
+ };
391
+ }, [visibleInner, clickToClose, referenceRef, popperRefDom]);
392
+ (0, _react.useEffect)(function () {
393
+ var realDom = getRealDom(referenceRef, referenceElement);
394
+ var triggerNode = getTriggerElement(realDom);
395
+ triggerEventHandle(triggerNode);
396
+ return function () {
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
405
+ };
406
+ });
407
+ var popperModifiers = [{
408
+ name: 'offset',
409
+ options: {
410
+ offset: [0, defaultGap + (arrow ? 5 : 0)]
411
+ }
412
+ }, {
413
+ name: 'preventOverflow',
414
+ enabled: autoPlacement,
415
+ options: {
416
+ mainAxis: true
417
+ }
418
+ }, {
419
+ name: 'flip',
420
+ enabled: autoPlacement,
421
+ options: {
422
+ fallbackPlacements: autoPlacement ? getFallbackPlacements(placementInner) : undefined
423
+ }
424
+ }, {
425
+ name: 'onUpdate',
426
+ enabled: true,
427
+ phase: 'afterWrite',
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
+ }
434
+ }
435
+ }];
436
+ var popperOptionsInner = {
437
+ placement: placementInner,
438
+ modifiers: popperModifiers,
439
+ strategy: 'fixed'
440
+ };
441
+ useEnhancedEffect(function () {
442
+ var _a, _b;
443
+ if (visibleInner) {
444
+ if (!exist) {
445
+ setExist(true);
446
+ } else {
447
+ if (popperInstance.current) {
448
+ (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.setOptions(function (options) {
449
+ return (0, _extends2.default)((0, _extends2.default)({}, options), popperOptionsInner);
450
+ });
451
+ (_b = popperInstance.current) === null || _b === void 0 ? void 0 : _b.forceUpdate();
452
+ }
453
+ setTimeout(function () {
454
+ parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, popperRef.current);
455
+ }, 10);
456
+ }
457
+ }
458
+ }, [visibleInner, placementInner, arrow]);
459
+ useEnhancedEffect(function () {
460
+ if (!exist) {
461
+ return undefined;
462
+ }
463
+ var current = getRealDom(referenceRef, referenceElement);
464
+ if (current) {
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);
469
+ }
470
+ return function () {
471
+ var _a;
472
+ (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
473
+ };
474
+ }, [exist]);
475
+ if (children === null || typeof children === 'undefined') {
476
+ return null;
477
+ }
478
+ var arrowStyle = (0, _defineProperty2.default)({}, "--arrowSize", arrowSize + 'px');
479
+ var popperContainerProps = {
480
+ ref: popperRefDom,
481
+ style: (0, _extends2.default)({}, arrow ? arrowStyle : {}),
482
+ className: (0, _classnames3.default)(popperPrefixCls, {
483
+ hidden: !visibleInner
484
+ })
485
+ };
486
+ var popperProps = {
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),
489
+ onMouseOver: trigger === 'hover' ? function () {
490
+ return onTriggerInner(true, 'hover', mouseEnterDelay);
491
+ } : undefined,
492
+ onMouseLeave: trigger === 'hover' ? function () {
493
+ return onTriggerInner(false, 'hover', mouseLeaveDelay);
494
+ } : undefined,
495
+ onAnimationEnd: onPopperAnimationEnd,
496
+ onTransitionEnd: onPopperAnimationEnd
497
+ };
498
+ var referenceProps = {
499
+ ref: referenceRef,
500
+ className: (0, _classnames3.default)((_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.className, referencePrefixCls)
501
+ };
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",
506
+ "data-popper-arrow": ""
507
+ })))), container));
508
+ });
509
+ exports.Popper = Popper;
510
+ Popper.displayName = 'Popper';
511
+ var _default = Popper;
512
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.css");
4
+ require("./index.css");