@kdcloudjs/kdesign 1.7.68-stable.8 → 1.7.68-stable.9

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 (47) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/kdesign-complete.less +110 -0
  3. package/dist/kdesign.css +365 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +3876 -167
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +12 -12
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/useId.d.ts +2 -0
  11. package/es/_utils/useId.js +30 -0
  12. package/es/city-picker/city-picker.js +16 -28
  13. package/es/city-picker/option.js +1 -5
  14. package/es/city-picker/style/index.css +8 -0
  15. package/es/city-picker/style/index.less +10 -0
  16. package/es/config-provider/compDefaultProps.d.ts +0 -1
  17. package/es/config-provider/compDefaultProps.js +0 -1
  18. package/es/locale/locale.d.ts +1 -0
  19. package/es/locale/zh-CN.d.ts +1 -0
  20. package/es/locale/zh-CN.js +1 -0
  21. package/es/popper/index.d.ts +61 -0
  22. package/es/popper/index.js +550 -0
  23. package/es/popper/style/css.js +2 -0
  24. package/es/popper/style/index.css +355 -0
  25. package/es/popper/style/index.d.ts +2 -0
  26. package/es/popper/style/index.js +2 -0
  27. package/es/popper/style/index.less +99 -0
  28. package/lib/_utils/useId.d.ts +2 -0
  29. package/lib/_utils/useId.js +43 -0
  30. package/lib/city-picker/city-picker.js +16 -28
  31. package/lib/city-picker/option.js +1 -5
  32. package/lib/city-picker/style/index.css +8 -0
  33. package/lib/city-picker/style/index.less +10 -0
  34. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  35. package/lib/config-provider/compDefaultProps.js +0 -1
  36. package/lib/locale/locale.d.ts +1 -0
  37. package/lib/locale/zh-CN.d.ts +1 -0
  38. package/lib/locale/zh-CN.js +1 -0
  39. package/lib/popper/index.d.ts +61 -0
  40. package/lib/popper/index.js +567 -0
  41. package/lib/popper/style/css.js +4 -0
  42. package/lib/popper/style/index.css +355 -0
  43. package/lib/popper/style/index.d.ts +2 -0
  44. package/lib/popper/style/index.js +4 -0
  45. package/lib/popper/style/index.less +99 -0
  46. package/lib/style/components.less +1 -0
  47. package/package.json +1 -1
@@ -470,7 +470,6 @@ declare const compDefaultProps: {
470
470
  defaultOpen: boolean;
471
471
  showArrow: boolean;
472
472
  placeholder: string;
473
- description: string;
474
473
  showDescription: boolean;
475
474
  optionHighlightProps: string;
476
475
  allowClear: boolean;
@@ -499,7 +499,6 @@ var compDefaultProps = {
499
499
  defaultOpen: false,
500
500
  showArrow: true,
501
501
  placeholder: '',
502
- description: '城市',
503
502
  showDescription: true,
504
503
  optionHighlightProps: 'highlightText',
505
504
  allowClear: true
@@ -69,6 +69,7 @@ declare class LocaleCache {
69
69
  'CityPicker.commonEmptyText': string;
70
70
  'CityPicker.tabsDomestic': string;
71
71
  'CityPicker.tabsInternation': string;
72
+ 'CityPicker.title': string;
72
73
  'ColorPicker.followFunctionalColor': string;
73
74
  'Search.placeholder': string;
74
75
  'Search.desc': string[];
@@ -41,6 +41,7 @@ declare const locale: {
41
41
  'CityPicker.commonEmptyText': string;
42
42
  'CityPicker.tabsDomestic': string;
43
43
  'CityPicker.tabsInternation': string;
44
+ 'CityPicker.title': string;
44
45
  'ColorPicker.followFunctionalColor': string;
45
46
  'Search.placeholder': string;
46
47
  'Search.desc': string[];
@@ -52,6 +52,7 @@ var locale = (0, _extends2.default)((0, _extends2.default)({
52
52
  'CityPicker.commonEmptyText': '无常用城市',
53
53
  'CityPicker.tabsDomestic': '国内',
54
54
  'CityPicker.tabsInternation': '国际/中国港澳台',
55
+ 'CityPicker.title': '城市',
55
56
  'ColorPicker.followFunctionalColor': '跟随功能色',
56
57
  'Search.placeholder': '请输入需要搜索的内容',
57
58
  'Search.desc': ['空格代表"或",回车代表"且"'],
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import { Modifier, Placement } from '@popperjs/core';
3
+ export declare const Placements: ["top", "left", "right", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight", "leftTop", "leftBottom", "rightTop", "rightBottom"];
4
+ export declare type PlacementType = typeof Placements[number];
5
+ export declare const Triggers: ["hover", "focus", "click", "contextMenu"];
6
+ export declare type TriggerType = typeof Triggers[number];
7
+ export declare type Reason = TriggerType | 'scroll' | 'clickOutside' | 'clickToClose' | 'parentHidden' | 'unknown';
8
+ export declare type RenderFunction = () => React.ReactNode;
9
+ export declare type PopperProps = {
10
+ gap?: number;
11
+ arrow?: boolean;
12
+ visible?: boolean;
13
+ prefixCls?: string;
14
+ arrowSize?: number;
15
+ disabled?: boolean;
16
+ arrowOffset?: number;
17
+ scrollHidden?: boolean;
18
+ mouseEnterDelay?: number;
19
+ mouseLeaveDelay?: number;
20
+ defaultVisible?: boolean;
21
+ autoPlacement?: boolean;
22
+ autoPlacementList?: Placement[];
23
+ className?: string;
24
+ style?: React.CSSProperties;
25
+ popperClassName?: string;
26
+ popperStyle?: React.CSSProperties;
27
+ popperOuterClassName?: string;
28
+ popperOuterStyle?: React.CSSProperties;
29
+ placement?: PlacementType;
30
+ tip?: any;
31
+ trigger?: TriggerType | Array<TriggerType>;
32
+ strategy?: 'fixed' | 'absolute';
33
+ clickToClose?: boolean;
34
+ onTrigger?: (trigger: TriggerType) => void;
35
+ onVisibleChange?: (visible: boolean, reason?: Reason) => void;
36
+ getTriggerElement?: (locatorNode: HTMLElement) => HTMLElement;
37
+ getPopupContainer?: (locatorNode: HTMLElement) => HTMLElement;
38
+ onTransitionEnd?: (e: React.TransitionEvent) => void;
39
+ onAnimationEnd?: (e: React.AnimationEvent) => void;
40
+ children?: React.ReactNode;
41
+ customerModifiers?: (modifiers: Partial<Modifier<any, any>>[]) => Partial<Modifier<any, any>>[];
42
+ };
43
+ export interface TriggerContextProps {
44
+ registerSubPopup: (id: string, node: any) => void;
45
+ }
46
+ export declare const popperPlacementMap: {
47
+ top: string;
48
+ left: string;
49
+ right: string;
50
+ bottom: string;
51
+ topLeft: string;
52
+ topRight: string;
53
+ bottomLeft: string;
54
+ bottomRight: string;
55
+ leftTop: string;
56
+ leftBottom: string;
57
+ rightTop: string;
58
+ rightBottom: string;
59
+ };
60
+ export declare const Popper: React.ForwardRefExoticComponent<PopperProps & React.RefAttributes<unknown>>;
61
+ export default Popper;
@@ -0,0 +1,567 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
14
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
15
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
16
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
17
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
18
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
19
+ var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
20
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
21
+ var _react = _interopRequireWildcard(require("react"));
22
+ var _core = require("@popperjs/core");
23
+ var _type = require("../_utils/type");
24
+ var _classnames3 = _interopRequireDefault(require("classnames"));
25
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
26
+ var _reactDom = _interopRequireDefault(require("react-dom"));
27
+ var _reactNode = require("../_utils/reactNode");
28
+ var _configProvider = require("../config-provider");
29
+ var _hooks = require("../_utils/hooks");
30
+ var _useId = _interopRequireDefault(require("../_utils/useId"));
31
+ 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); }
32
+ 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; }
33
+ var Placements = (0, _type.tuple)('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
34
+ exports.Placements = Placements;
35
+ var Triggers = (0, _type.tuple)('hover', 'focus', 'click', 'contextMenu');
36
+ exports.Triggers = Triggers;
37
+ var useEnhancedEffect = typeof window !== 'undefined' ? _react.default.useLayoutEffect : _react.default.useEffect;
38
+ var TriggerContext = /*#__PURE__*/_react.default.createContext(null);
39
+ var generateGetBoundingClientRect = function generateGetBoundingClientRect() {
40
+ var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
41
+ var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
42
+ var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
43
+ var height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
44
+ return function () {
45
+ return {
46
+ width: width,
47
+ height: height,
48
+ top: y,
49
+ right: x,
50
+ bottom: y,
51
+ left: x
52
+ };
53
+ };
54
+ };
55
+ var virtualElement = {
56
+ getBoundingClientRect: generateGetBoundingClientRect()
57
+ };
58
+ var triggerTypeArray = ['hover', 'focus', 'click', 'contextMenu'];
59
+ var popperPlacementMap = {
60
+ top: 'top',
61
+ left: 'left',
62
+ right: 'right',
63
+ bottom: 'bottom',
64
+ topLeft: 'top-start',
65
+ topRight: 'top-end',
66
+ bottomLeft: 'bottom-start',
67
+ bottomRight: 'bottom-end',
68
+ leftTop: 'left-start',
69
+ leftBottom: 'left-end',
70
+ rightTop: 'right-start',
71
+ rightBottom: 'right-end'
72
+ };
73
+ exports.popperPlacementMap = popperPlacementMap;
74
+ var getRealPlacement = function getRealPlacement(key) {
75
+ return popperPlacementMap[key] ? popperPlacementMap[key] : 'top';
76
+ };
77
+ var getFallbackPlacementList = function getFallbackPlacementList(arr) {
78
+ var _context;
79
+ return (0, _filter.default)(_context = (0, _map.default)(arr).call(arr, function (d) {
80
+ return popperPlacementMap[d] ? popperPlacementMap[d] : '';
81
+ })).call(_context, function (d) {
82
+ return d;
83
+ });
84
+ };
85
+ var getRealDom = function getRealDom(locatorRef) {
86
+ var locatorElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
87
+ var _a;
88
+ if (!locatorRef.current) return locatorRef.current;
89
+ if (locatorRef.current.tagName) return locatorRef.current;
90
+ if (locatorElement) {
91
+ var REF_NAME_OBJ = {
92
+ Input: 'input',
93
+ InputNumber: 'input',
94
+ Select: 'select',
95
+ Upload: 'input'
96
+ };
97
+ 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];
98
+ return locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current[name];
99
+ }
100
+ return locatorElement;
101
+ };
102
+ var getElement = function getElement(element) {
103
+ return typeof element === 'function' ? element() : element;
104
+ };
105
+ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
106
+ var _context4, _context5, _context6;
107
+ var _a;
108
+ var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
109
+ getPrefixCls = _React$useContext.getPrefixCls,
110
+ pkgPrefixCls = _React$useContext.prefixCls;
111
+ var prefixCls = props.prefixCls,
112
+ onTrigger = props.onTrigger,
113
+ style = props.style,
114
+ popperStyle = props.popperStyle,
115
+ _props$arrow = props.arrow,
116
+ arrow = _props$arrow === void 0 ? false : _props$arrow,
117
+ onVisibleChange = props.onVisibleChange,
118
+ className = props.className,
119
+ popperClassName = props.popperClassName,
120
+ popperOuterClassName = props.popperOuterClassName,
121
+ popperOuterStyle = props.popperOuterStyle,
122
+ tip = props.tip,
123
+ _props$disabled = props.disabled,
124
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
125
+ _props$trigger = props.trigger,
126
+ trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
127
+ _props$placement = props.placement,
128
+ placement = _props$placement === void 0 ? 'top' : _props$placement,
129
+ _props$strategy = props.strategy,
130
+ strategy = _props$strategy === void 0 ? 'absolute' : _props$strategy,
131
+ visible = props.visible,
132
+ _props$arrowSize = props.arrowSize,
133
+ arrowSize = _props$arrowSize === void 0 ? 4.25 : _props$arrowSize,
134
+ _props$arrowOffset = props.arrowOffset,
135
+ arrowOffset = _props$arrowOffset === void 0 ? 12 : _props$arrowOffset,
136
+ _props$gap = props.gap,
137
+ defaultGap = _props$gap === void 0 ? 8 : _props$gap,
138
+ _props$scrollHidden = props.scrollHidden,
139
+ scrollHidden = _props$scrollHidden === void 0 ? false : _props$scrollHidden,
140
+ _props$mouseEnterDela = props.mouseEnterDelay,
141
+ mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,
142
+ _props$mouseLeaveDela = props.mouseLeaveDelay,
143
+ mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
144
+ _props$defaultVisible = props.defaultVisible,
145
+ defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
146
+ _props$autoPlacement = props.autoPlacement,
147
+ autoPlacement = _props$autoPlacement === void 0 ? true : _props$autoPlacement,
148
+ autoPlacementList = props.autoPlacementList,
149
+ _props$clickToClose = props.clickToClose,
150
+ clickToClose = _props$clickToClose === void 0 ? true : _props$clickToClose,
151
+ _props$getTriggerElem = props.getTriggerElement,
152
+ getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
153
+ return locatorNode;
154
+ } : _props$getTriggerElem,
155
+ _props$getPopupContai = props.getPopupContainer,
156
+ getPopupContainer = _props$getPopupContai === void 0 ? function () {
157
+ return document.body;
158
+ } : _props$getPopupContai,
159
+ onTransitionEnd = props.onTransitionEnd,
160
+ onAnimationEnd = props.onAnimationEnd,
161
+ children = props.children,
162
+ customerModifiers = props.customerModifiers;
163
+ var popperPrefixCls = getPrefixCls(pkgPrefixCls, 'popper');
164
+ var referencePrefixCls = "".concat(popperPrefixCls, "-reference");
165
+ var child = getElement(children);
166
+ var childrenInner = /*#__PURE__*/(0, _react.isValidElement)(child) && !(0, _reactNode.isFragment)(child) ? child : /*#__PURE__*/_react.default.createElement("span", null, child);
167
+ var popperElement = getElement(tip);
168
+ var referenceElement = _react.Children.only(childrenInner);
169
+ var arrowOffsetInner = arrowSize + arrowOffset;
170
+ var getArrowOffset = function getArrowOffset(popperSize, referenceSize, arr) {
171
+ var boundary = arrowOffsetInner * 2;
172
+ var offset;
173
+ if (referenceSize < boundary || popperSize < boundary) {
174
+ var o = Math.min(referenceSize, popperSize) / 2;
175
+ if (arr[1] === 'start') {
176
+ offset = o;
177
+ } else {
178
+ offset = Math.max(popperSize - o, 0);
179
+ }
180
+ } else {
181
+ if (arr[1] === 'start') {
182
+ offset = arrowOffsetInner;
183
+ } else {
184
+ offset = popperSize - arrowOffsetInner;
185
+ }
186
+ }
187
+ return offset;
188
+ };
189
+ var id = (0, _useId.default)();
190
+ var parentContext = (0, _react.useContext)(TriggerContext);
191
+ var subPopupRefs = (0, _react.useRef)({});
192
+ var context = _react.default.useMemo(function () {
193
+ return {
194
+ registerSubPopup: function registerSubPopup(id, subPopupEle) {
195
+ subPopupRefs.current[id] = subPopupEle;
196
+ parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, subPopupEle);
197
+ }
198
+ };
199
+ }, [parentContext]);
200
+ var popperRefDom = (0, _react.useRef)(null);
201
+ var popperRefInner = (0, _react.useRef)(null);
202
+ var popperRef = ref || popperRefInner;
203
+ var popperInstance = (0, _react.useRef)(null);
204
+ var referenceRefInner = (0, _react.useRef)(null);
205
+ var onVisibleChangeRef = (0, _react.useRef)(onVisibleChange);
206
+ var referenceRef = (referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.ref) || referenceRefInner;
207
+ var container = getPopupContainer(getRealDom(referenceRef, referenceElement) || document.body) || document.body;
208
+ var _useMergedState = (0, _hooks.useMergedState)(false, {
209
+ value: visible,
210
+ defaultValue: defaultVisible
211
+ }),
212
+ _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
213
+ visibleInner = _useMergedState2[0],
214
+ setVisibleInner = _useMergedState2[1];
215
+ var _useState = (0, _react.useState)(visibleInner),
216
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
217
+ exist = _useState2[0],
218
+ setExist = _useState2[1];
219
+ var _useState3 = (0, _react.useState)(getRealPlacement(placement)),
220
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
221
+ placementInner = _useState4[0],
222
+ setPlacementInner = _useState4[1];
223
+ var delayRef = (0, _react.useRef)();
224
+ var clearDelay = function clearDelay() {
225
+ if (typeof delayRef.current !== 'undefined') {
226
+ clearTimeout(delayRef.current);
227
+ delayRef.current = null;
228
+ }
229
+ };
230
+ var changeVisible = function changeVisible(nextOpen) {
231
+ var triggerType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'unknown';
232
+ var _a;
233
+ if (visibleInner !== nextOpen) {
234
+ if (nextOpen && (0, _includes.default)(triggerTypeArray).call(triggerTypeArray, triggerType)) {
235
+ onTrigger === null || onTrigger === void 0 ? void 0 : onTrigger(triggerType);
236
+ }
237
+ if (typeof visible === 'undefined') {
238
+ setVisibleInner(nextOpen);
239
+ }
240
+ (_a = onVisibleChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onVisibleChangeRef, nextOpen, triggerType);
241
+ }
242
+ if (!nextOpen && (0, _keys.default)(subPopupRefs.current || {}).length) {
243
+ (0, _values.default)(subPopupRefs.current).forEach(function (d) {
244
+ if (typeof (d === null || d === void 0 ? void 0 : d.triggerOpen) === 'function' && (d === null || d === void 0 ? void 0 : d.visible)) {
245
+ d === null || d === void 0 ? void 0 : d.triggerOpen(false, 'parentHidden');
246
+ }
247
+ });
248
+ }
249
+ };
250
+ var triggerOpen = function triggerOpen(nextOpen) {
251
+ var triggerType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'unknown';
252
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
253
+ clearDelay();
254
+ if (!disabled) {
255
+ if (delay === 0) {
256
+ changeVisible(nextOpen, triggerType);
257
+ } else {
258
+ if (visibleInner !== nextOpen) {
259
+ delayRef.current = setTimeout(function () {
260
+ changeVisible(nextOpen, triggerType);
261
+ }, delay * 1000);
262
+ }
263
+ }
264
+ }
265
+ };
266
+ var isSubPopper = function isSubPopper(event) {
267
+ if (!event || !(event === null || event === void 0 ? void 0 : event.target)) {
268
+ return false;
269
+ }
270
+ // let targetElement: HTMLElement = event.target as HTMLElement
271
+ // const POP_ATTR_NAME = 'data-popper-placement'
272
+ // while (targetElement && targetElement !== document.documentElement) {
273
+ // if (targetElement?.getAttribute(POP_ATTR_NAME) && targetElement?.className.includes(popperPrefixCls)) {
274
+ // return true
275
+ // }
276
+ // targetElement = targetElement?.parentNode as HTMLElement
277
+ // }
278
+ var target = event.target;
279
+ if (subPopupRefs.current) {
280
+ for (var key in subPopupRefs.current) {
281
+ var dom = subPopupRefs.current[key].dom;
282
+ if (dom && ((dom === null || dom === void 0 ? void 0 : dom.contains(target)) || dom === target)) {
283
+ return true;
284
+ }
285
+ }
286
+ }
287
+ return false;
288
+ };
289
+ var onTriggerInner = function onTriggerInner(nextOpen, triggerType) {
290
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
291
+ triggerOpen(nextOpen, triggerType, delay);
292
+ };
293
+ var onClick = function onClick() {
294
+ if (clickToClose || !visibleInner) {
295
+ onTriggerInner(!visibleInner, 'click');
296
+ }
297
+ };
298
+ var onFocus = function onFocus() {
299
+ onTriggerInner(true, 'focus');
300
+ };
301
+ var onBlur = function onBlur() {
302
+ onTriggerInner(false, 'focus');
303
+ };
304
+ var onContextMenu = function onContextMenu(e) {
305
+ e.preventDefault();
306
+ var clientWidth = 0;
307
+ var clientHeight = 0;
308
+ if (arrow) {
309
+ if ((0, _startsWith.default)(placementInner).call(placementInner, 'top') || (0, _startsWith.default)(placementInner).call(placementInner, 'bottom')) {
310
+ var _context2;
311
+ if (!(0, _includes.default)(_context2 = ['top', 'bottom']).call(_context2, placementInner)) {
312
+ clientWidth = 6 * arrowSize;
313
+ }
314
+ } else {
315
+ var _context3;
316
+ if (!(0, _includes.default)(_context3 = ['right', 'left']).call(_context3, placementInner)) {
317
+ clientHeight = 6 * arrowSize;
318
+ }
319
+ }
320
+ }
321
+ virtualElement.getBoundingClientRect = generateGetBoundingClientRect(e.clientX, e.clientY, clientWidth, clientHeight);
322
+ onTriggerInner(!visibleInner, 'contextMenu');
323
+ };
324
+ var onMouseOver = function onMouseOver() {
325
+ onTriggerInner(true, 'hover', mouseEnterDelay);
326
+ };
327
+ var onMouseLeave = function onMouseLeave() {
328
+ onTriggerInner(false, 'hover', mouseLeaveDelay);
329
+ };
330
+ var onPopperAnimationEnd = function onPopperAnimationEnd(e) {
331
+ onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(e);
332
+ onTransitionEnd === null || onTransitionEnd === void 0 ? void 0 : onTransitionEnd(e);
333
+ };
334
+ var isTrigger = function isTrigger(triggerValue) {
335
+ return trigger === triggerValue || Array.isArray(trigger) && (0, _includes.default)(trigger).call(trigger, triggerValue);
336
+ };
337
+ var triggerEventHandle = function triggerEventHandle(triggerNode) {
338
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'addEventListener';
339
+ if (isTrigger('click')) {
340
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('click', onClick);
341
+ }
342
+ if (isTrigger('focus')) {
343
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('focus', onFocus);
344
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('blur', onBlur);
345
+ }
346
+ if (isTrigger('contextMenu')) {
347
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('contextmenu', onContextMenu);
348
+ }
349
+ if (isTrigger('hover')) {
350
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('mouseover', onMouseOver);
351
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode[type]('mouseleave', onMouseLeave);
352
+ }
353
+ };
354
+ (0, _react.useEffect)(function () {
355
+ onVisibleChangeRef.current = onVisibleChange;
356
+ }, [onVisibleChange]);
357
+ (0, _react.useEffect)(function () {
358
+ setPlacementInner(getRealPlacement(placement));
359
+ }, [placement]);
360
+ (0, _react.useEffect)(function () {
361
+ var scrollHandle = (0, _debounce.default)(function (e) {
362
+ var _a, _b;
363
+ if (visibleInner) {
364
+ 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));
365
+ if (scrollHidden && !isPopper) {
366
+ triggerOpen(false, 'scroll');
367
+ }
368
+ }
369
+ }, 10);
370
+ if (visibleInner) {
371
+ document.addEventListener('scroll', scrollHandle, true);
372
+ }
373
+ return function () {
374
+ document.removeEventListener('scroll', scrollHandle, true);
375
+ };
376
+ }, [visibleInner, scrollHidden, popperRefDom]);
377
+ (0, _react.useEffect)(function () {
378
+ var clickHandle = (0, _debounce.default)(function (e) {
379
+ var _a, _b, _c;
380
+ if (visibleInner) {
381
+ 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;
382
+ var domReference = getRealDom(referenceRef, referenceElement);
383
+ 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;
384
+ var isTarget = isPopper || isReference;
385
+ if (!isTarget && !isSubPopper(e)) {
386
+ triggerOpen(false, 'clickOutside', 0);
387
+ }
388
+ if (clickToClose && isReference && trigger !== 'focus') {
389
+ triggerOpen(false, 'clickToClose', 0);
390
+ }
391
+ }
392
+ }, 10, {
393
+ leading: true
394
+ });
395
+ if (visibleInner) {
396
+ document.addEventListener('click', clickHandle, true);
397
+ }
398
+ return function () {
399
+ document.removeEventListener('click', clickHandle, true);
400
+ };
401
+ }, [visibleInner, clickToClose, referenceRef, popperRefDom]);
402
+ (0, _react.useEffect)(function () {
403
+ var realDom = getRealDom(referenceRef, referenceElement);
404
+ var triggerNode = getTriggerElement(realDom);
405
+ triggerEventHandle(triggerNode);
406
+ return function () {
407
+ triggerEventHandle(triggerNode, 'removeEventListener');
408
+ };
409
+ }, [getTriggerElement, visibleInner, referenceElement, referenceRef, trigger]);
410
+ (0, _react.useImperativeHandle)(popperRef, function () {
411
+ return {
412
+ dom: popperRefDom.current,
413
+ triggerOpen: triggerOpen,
414
+ visible: visibleInner
415
+ };
416
+ });
417
+ var defaultModifiers = [{
418
+ name: 'offset',
419
+ options: {
420
+ offset: [0, defaultGap + (arrow ? 5 : 0)]
421
+ }
422
+ }, {
423
+ name: 'preventOverflow',
424
+ enabled: autoPlacement && !(0, _includes.default)(placementInner).call(placementInner, '-'),
425
+ options: {
426
+ mainAxis: true
427
+ }
428
+ }, {
429
+ name: 'flip',
430
+ enabled: autoPlacement,
431
+ options: {
432
+ fallbackPlacements: Array.isArray(autoPlacementList) ? getFallbackPlacementList(autoPlacementList) : undefined
433
+ }
434
+ }, {
435
+ name: 'applyArrowOffset',
436
+ enabled: true,
437
+ phase: 'write',
438
+ fn: function fn(data) {
439
+ var _data$state = data.state,
440
+ arrow = _data$state.elements.arrow,
441
+ placement = _data$state.placement,
442
+ _data$state$rects = _data$state.rects,
443
+ popper = _data$state$rects.popper,
444
+ reference = _data$state$rects.reference;
445
+ if (arrow) {
446
+ var arr = placement.split('-');
447
+ var offset;
448
+ if (arr.length === 2) {
449
+ switch (arr[0]) {
450
+ case 'bottom':
451
+ offset = getArrowOffset(popper.width, reference.width, arr);
452
+ if (offset) {
453
+ arrow.style.transform = "translate(".concat(offset, "px, 0px)");
454
+ }
455
+ break;
456
+ case 'left':
457
+ offset = getArrowOffset(popper.height, reference.height, arr);
458
+ if (offset) {
459
+ arrow.style.transform = "translate(0px, ".concat(offset, "px)");
460
+ }
461
+ break;
462
+ case 'right':
463
+ offset = getArrowOffset(popper.height, reference.height, arr);
464
+ if (offset) {
465
+ arrow.style.transform = "translate(0px, ".concat(offset, "px)");
466
+ }
467
+ break;
468
+ default:
469
+ offset = getArrowOffset(popper.width, reference.width, arr);
470
+ if (offset) {
471
+ arrow.style.transform = "translate(".concat(offset, "px, 0px)");
472
+ }
473
+ break;
474
+ }
475
+ }
476
+ }
477
+ }
478
+ }, {
479
+ name: 'onUpdate',
480
+ enabled: true,
481
+ phase: 'afterWrite',
482
+ fn: function fn(d) {
483
+ var _ref = d === null || d === void 0 ? void 0 : d.state,
484
+ p = _ref.placement;
485
+ if (p !== placementInner) {
486
+ setPlacementInner(p);
487
+ }
488
+ }
489
+ }];
490
+ var popperModifiers = typeof customerModifiers === 'function' ? customerModifiers(defaultModifiers) : defaultModifiers;
491
+ var popperOptionsInner = {
492
+ placement: placementInner,
493
+ modifiers: popperModifiers,
494
+ strategy: strategy
495
+ };
496
+ useEnhancedEffect(function () {
497
+ var _a, _b;
498
+ if (visibleInner) {
499
+ if (!exist) {
500
+ setExist(true);
501
+ } else {
502
+ if (popperInstance.current) {
503
+ (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.setOptions(function (options) {
504
+ return (0, _extends2.default)((0, _extends2.default)({}, options), popperOptionsInner);
505
+ });
506
+ (_b = popperInstance.current) === null || _b === void 0 ? void 0 : _b.forceUpdate();
507
+ }
508
+ setTimeout(function () {
509
+ parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, popperRef.current);
510
+ }, 10);
511
+ }
512
+ }
513
+ }, [visibleInner, placementInner, arrow]);
514
+ useEnhancedEffect(function () {
515
+ if (!exist) {
516
+ return undefined;
517
+ }
518
+ var current = getRealDom(referenceRef, referenceElement);
519
+ if (current) {
520
+ popperInstance.current = (0, _core.createPopper)(trigger === 'contextMenu' ? virtualElement : (current === null || current === void 0 ? void 0 : current.closest(".".concat(referencePrefixCls))) || current, popperRefDom.current, popperOptionsInner);
521
+ setTimeout(function () {
522
+ parentContext === null || parentContext === void 0 ? void 0 : parentContext.registerSubPopup(id, popperRef.current);
523
+ }, 10);
524
+ }
525
+ return function () {
526
+ var _a;
527
+ (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
528
+ };
529
+ }, [exist]);
530
+ if (children === null || typeof children === 'undefined') {
531
+ return null;
532
+ }
533
+ var arrowStyle = (0, _defineProperty2.default)({}, "--arrowSize", arrowSize + 'px');
534
+ var popperContainerProps = {
535
+ ref: popperRefDom,
536
+ style: (0, _extends2.default)((0, _extends2.default)({}, arrow ? arrowStyle : {}), popperOuterStyle),
537
+ className: (0, _classnames3.default)(popperPrefixCls, {
538
+ hidden: !visibleInner
539
+ }, popperOuterClassName)
540
+ };
541
+ var popperProps = {
542
+ className: (0, _classnames3.default)([(0, _concat.default)(_context4 = "".concat(popperPrefixCls, "-")).call(_context4, placementInner)], (0, _defineProperty2.default)({}, (0, _concat.default)(_context5 = "".concat(popperPrefixCls, "-")).call(_context5, placementInner, "-out"), !visibleInner), (0, _defineProperty2.default)({}, (0, _concat.default)(_context6 = "".concat(popperPrefixCls, "-")).call(_context6, placementInner, "-in"), visibleInner), prefixCls, popperClassName, className),
543
+ style: (0, _extends2.default)((0, _extends2.default)({}, popperStyle), style),
544
+ onMouseOver: trigger === 'hover' ? function () {
545
+ return onTriggerInner(true, 'hover', mouseEnterDelay);
546
+ } : undefined,
547
+ onMouseLeave: trigger === 'hover' ? function () {
548
+ return onTriggerInner(false, 'hover', mouseLeaveDelay);
549
+ } : undefined,
550
+ onAnimationEnd: onPopperAnimationEnd,
551
+ onTransitionEnd: onPopperAnimationEnd
552
+ };
553
+ var referenceProps = {
554
+ ref: referenceRef,
555
+ className: (0, _classnames3.default)((_a = referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.props) === null || _a === void 0 ? void 0 : _a.className, referencePrefixCls)
556
+ };
557
+ 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, {
558
+ value: context
559
+ }, /*#__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", {
560
+ className: "arrow",
561
+ "data-popper-arrow": ""
562
+ })))), container));
563
+ });
564
+ exports.Popper = Popper;
565
+ Popper.displayName = 'Popper';
566
+ var _default = Popper;
567
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.css");
4
+ require("./index.css");