@kdcloudjs/kdesign 1.3.2 → 1.3.5
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 +43 -1
- package/dist/kdesign-complete.less +176 -107
- package/dist/kdesign.css +161 -77
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +3776 -2037
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.d.ts +1 -0
- package/es/_utils/usePopper.js +29 -25
- package/es/anchor/anchor.js +20 -1
- package/es/base-data/style/index.css +1 -0
- package/es/base-data/style/index.less +1 -0
- package/es/button/group.js +2 -1
- package/es/button/style/index.css +20 -19
- package/es/button/style/index.less +29 -27
- package/es/button/style/token.less +4 -4
- package/es/checkbox/checkbox.js +20 -12
- package/es/config-provider/compDefaultProps.d.ts +0 -1
- package/es/config-provider/compDefaultProps.js +1 -2
- package/es/form/Field.js +7 -6
- package/es/form/Form.d.ts +1 -0
- package/es/form/Form.js +3 -1
- package/es/form/interface.d.ts +1 -0
- package/es/menu/menu.d.ts +1 -1
- package/es/menu/menu.js +55 -22
- package/es/menu/menuItem.d.ts +1 -0
- package/es/menu/menuItem.js +14 -10
- package/es/menu/style/index.css +139 -53
- package/es/menu/style/index.less +101 -69
- package/es/menu/style/mixin.less +33 -1
- package/es/menu/style/token.less +4 -2
- package/es/menu/subMenu.d.ts +1 -1
- package/es/menu/subMenu.js +126 -119
- package/es/radio/radio.d.ts +1 -1
- package/es/radio/radio.js +18 -11
- package/es/select/select.js +33 -20
- package/es/style/core/reset.less +4 -4
- package/es/style/index.css +0 -4
- package/es/table/feature/useRangeSelection.d.ts +3 -0
- package/es/table/feature/useRangeSelection.js +10 -0
- package/es/table/interface.d.ts +15 -2
- package/es/table/table.js +14 -7
- package/lib/_utils/usePopper.d.ts +1 -0
- package/lib/_utils/usePopper.js +29 -25
- package/lib/anchor/anchor.js +20 -1
- package/lib/base-data/style/index.css +1 -0
- package/lib/base-data/style/index.less +1 -0
- package/lib/button/group.js +2 -1
- package/lib/button/style/index.css +20 -19
- package/lib/button/style/index.less +29 -27
- package/lib/button/style/token.less +4 -4
- package/lib/checkbox/checkbox.js +19 -11
- package/lib/config-provider/compDefaultProps.d.ts +0 -1
- package/lib/config-provider/compDefaultProps.js +1 -2
- package/lib/form/Field.js +7 -6
- package/lib/form/Form.d.ts +1 -0
- package/lib/form/Form.js +3 -1
- package/lib/form/interface.d.ts +1 -0
- package/lib/menu/menu.d.ts +1 -1
- package/lib/menu/menu.js +61 -26
- package/lib/menu/menuItem.d.ts +1 -0
- package/lib/menu/menuItem.js +16 -10
- package/lib/menu/style/index.css +139 -53
- package/lib/menu/style/index.less +101 -69
- package/lib/menu/style/mixin.less +33 -1
- package/lib/menu/style/token.less +4 -2
- package/lib/menu/subMenu.d.ts +1 -1
- package/lib/menu/subMenu.js +145 -142
- package/lib/radio/radio.d.ts +1 -1
- package/lib/radio/radio.js +30 -20
- package/lib/select/select.js +33 -20
- package/lib/style/core/reset.less +4 -4
- package/lib/style/index.css +0 -4
- package/lib/table/feature/useRangeSelection.d.ts +3 -0
- package/lib/table/feature/useRangeSelection.js +21 -0
- package/lib/table/interface.d.ts +15 -2
- package/lib/table/table.js +15 -7
- package/package.json +2 -2
package/lib/menu/subMenu.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
-
|
|
5
|
-
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
6
|
-
|
|
7
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
-
|
|
9
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
10
4
|
|
|
11
5
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -17,8 +11,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/he
|
|
|
17
11
|
|
|
18
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
13
|
|
|
20
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
21
|
-
|
|
22
14
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
23
15
|
|
|
24
16
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
@@ -27,7 +19,7 @@ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
|
|
|
27
19
|
|
|
28
20
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
29
21
|
|
|
30
|
-
var
|
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
|
31
23
|
|
|
32
24
|
var _configProvider = require("../config-provider");
|
|
33
25
|
|
|
@@ -43,11 +35,11 @@ var _hooks = require("../_utils/hooks");
|
|
|
43
35
|
|
|
44
36
|
var _index = require("../index");
|
|
45
37
|
|
|
46
|
-
var
|
|
38
|
+
var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
|
|
47
39
|
|
|
48
|
-
|
|
40
|
+
var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
var _menuItem = require("./menuItem");
|
|
51
43
|
|
|
52
44
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
53
45
|
var t = {};
|
|
@@ -63,9 +55,9 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
63
55
|
};
|
|
64
56
|
|
|
65
57
|
var SubMenu = function SubMenu(props) {
|
|
66
|
-
var _classNames2;
|
|
58
|
+
var _classNames2, _classNames3, _context4;
|
|
67
59
|
|
|
68
|
-
var _React$useContext =
|
|
60
|
+
var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
|
|
69
61
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
70
62
|
pkgPrefixCls = _React$useContext.prefixCls,
|
|
71
63
|
userDefaultProps = _React$useContext.compDefaultProps; // 属性需要合并一遍用户定义的默认属性
|
|
@@ -73,6 +65,7 @@ var SubMenu = function SubMenu(props) {
|
|
|
73
65
|
|
|
74
66
|
var _a = (0, _utils.getCompProps)('MenuSubMenu', userDefaultProps, props),
|
|
75
67
|
customPrefixcls = _a.prefixCls,
|
|
68
|
+
theme = _a.theme,
|
|
76
69
|
mode = _a.mode,
|
|
77
70
|
title = _a.title,
|
|
78
71
|
icon = _a.icon,
|
|
@@ -90,8 +83,9 @@ var SubMenu = function SubMenu(props) {
|
|
|
90
83
|
handleOnOpenChange = _a.handleOnOpenChange,
|
|
91
84
|
_a$paddingLeft = _a.paddingLeft,
|
|
92
85
|
paddingLeft = _a$paddingLeft === void 0 ? 0 : _a$paddingLeft,
|
|
93
|
-
restProps = __rest(_a, ["prefixCls", "mode", "title", "icon", "disabled", "children", "collapsed", "keyValue", "selectedKey", "openKeys", "triggerSubMenuAction", "forceSubMenuRender", "inlineIndent", "className", "style", "handleOnOpenChange", "paddingLeft"]);
|
|
86
|
+
restProps = __rest(_a, ["prefixCls", "theme", "mode", "title", "icon", "disabled", "children", "collapsed", "keyValue", "selectedKey", "openKeys", "triggerSubMenuAction", "forceSubMenuRender", "inlineIndent", "className", "style", "handleOnOpenChange", "paddingLeft"]);
|
|
94
87
|
|
|
88
|
+
var isVertical = mode === 'vertical'; // 初始化level
|
|
95
89
|
|
|
96
90
|
if (!restProps.level) {
|
|
97
91
|
restProps.level = 1;
|
|
@@ -105,21 +99,19 @@ var SubMenu = function SubMenu(props) {
|
|
|
105
99
|
(0, _devwarning.default)(!children, 'submenu', 'cannot found children in Menu.SubMenu'); // className前缀
|
|
106
100
|
|
|
107
101
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'menu-submenu', customPrefixcls);
|
|
108
|
-
var subMenuRef = React.useRef(null);
|
|
109
|
-
var subMenuWrapperRef = React.useRef(null);
|
|
110
102
|
|
|
111
|
-
var
|
|
112
|
-
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
113
|
-
isVisible = _React$useState2[0],
|
|
114
|
-
setIsVisible = _React$useState2[1];
|
|
103
|
+
var subMenuRef = _react.default.useRef(null);
|
|
115
104
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
105
|
+
var subMenuWrapperRef = _react.default.useRef(null);
|
|
106
|
+
|
|
107
|
+
var subMenuVerticalRef = _react.default.useRef(null);
|
|
108
|
+
|
|
109
|
+
var subMenuWrapperVerticalRef = _react.default.useRef(null);
|
|
110
|
+
|
|
111
|
+
var visible = Array.isArray(openKeys) && (0, _includes.default)(openKeys).call(openKeys, keyValue);
|
|
112
|
+
|
|
113
|
+
_react.default.useEffect(function () {
|
|
114
|
+
if (!visible || isVertical) return;
|
|
123
115
|
var subMenuWrapperEle = subMenuWrapperRef.current;
|
|
124
116
|
var subMenuEle = subMenuRef.current;
|
|
125
117
|
|
|
@@ -160,22 +152,23 @@ var SubMenu = function SubMenu(props) {
|
|
|
160
152
|
|
|
161
153
|
var curPaddingRight = getPaddingRight();
|
|
162
154
|
var curPaddingLeft = getPaddingLeft();
|
|
163
|
-
|
|
155
|
+
|
|
156
|
+
var getCurrentStyle = _react.default.useCallback(function () {
|
|
164
157
|
var _a; // 内嵌模式height主要是用来动画的,必须要设置overflow溢出隐藏
|
|
165
158
|
|
|
166
159
|
|
|
167
160
|
if (mode === 'inline') {
|
|
168
161
|
var height = ((_a = subMenuWrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight) || 0;
|
|
169
162
|
return {
|
|
170
|
-
height:
|
|
163
|
+
height: visible && !collapsed ? "".concat(height, "px") : '0px',
|
|
171
164
|
overflow: 'hidden',
|
|
172
|
-
opacity:
|
|
165
|
+
opacity: visible && !collapsed ? 1 : 0,
|
|
173
166
|
transition: 'all 0.2s cubic-bezier(0,.4,.4,1)'
|
|
174
167
|
};
|
|
175
168
|
}
|
|
176
169
|
|
|
177
170
|
var style = {
|
|
178
|
-
visibility: forceSubMenuRender && !
|
|
171
|
+
visibility: forceSubMenuRender && !visible ? 'visible' : 'hidden'
|
|
179
172
|
};
|
|
180
173
|
|
|
181
174
|
if (restProps.subMenuMode === 'horizontal') {
|
|
@@ -204,28 +197,34 @@ var SubMenu = function SubMenu(props) {
|
|
|
204
197
|
paddingLeft: "".concat(popupOffsetPosition[0], "px"),
|
|
205
198
|
paddingTop: "".concat(popupOffsetPosition[1], "px")
|
|
206
199
|
});
|
|
207
|
-
}, [subMenuRef, restProps.popupOffset, forceSubMenuRender,
|
|
200
|
+
}, [subMenuRef, restProps.popupOffset, forceSubMenuRender, visible, mode, restProps.subMenuMode]);
|
|
201
|
+
|
|
202
|
+
var handleVisibleChange = function handleVisibleChange(status) {
|
|
203
|
+
var clean = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
204
|
+
handleOnOpenChange(keyValue, status, clean);
|
|
205
|
+
};
|
|
208
206
|
|
|
209
207
|
var closeSubMenu = function closeSubMenu() {
|
|
210
|
-
|
|
211
|
-
handleOnOpenChange(keyValue);
|
|
208
|
+
handleVisibleChange(false, true);
|
|
212
209
|
}; // 点击区域外的地方关闭
|
|
213
210
|
|
|
214
211
|
|
|
215
|
-
(0, _hooks.useOnClickOutside)([
|
|
216
|
-
|
|
212
|
+
(0, _hooks.useOnClickOutside)([subMenuVerticalRef, subMenuWrapperVerticalRef], function (e) {
|
|
213
|
+
var _a;
|
|
214
|
+
|
|
215
|
+
var className = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className) || '';
|
|
216
|
+
|
|
217
|
+
if (!(0, _includes.default)(className).call(className, _menuItem.MENU_ITEM_CONTAINER_NAME)) {
|
|
217
218
|
closeSubMenu();
|
|
218
219
|
}
|
|
219
|
-
}); // 缩略模式自动关闭子菜单
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
220
|
+
}); // // 缩略模式自动关闭子菜单
|
|
221
|
+
// if (triggerSubMenuAction === 'click' && mode === 'vertical' && collapsed) {
|
|
222
|
+
// closeSubMenu()
|
|
223
|
+
// }
|
|
224
224
|
|
|
225
225
|
var handleMouseEvent = function handleMouseEvent(status) {
|
|
226
226
|
if (disabled || triggerSubMenuAction === 'click') return;
|
|
227
|
-
|
|
228
|
-
setIsVisible(status);
|
|
227
|
+
handleVisibleChange(status);
|
|
229
228
|
};
|
|
230
229
|
|
|
231
230
|
var handleOnMouseEnter = function handleOnMouseEnter() {
|
|
@@ -242,7 +241,7 @@ var SubMenu = function SubMenu(props) {
|
|
|
242
241
|
// 保存路径
|
|
243
242
|
info.keyPath = (0, _concat.default)(_context = info.keyPath).call(_context, [keyValue]);
|
|
244
243
|
|
|
245
|
-
if (triggerSubMenuAction === 'click' &&
|
|
244
|
+
if (triggerSubMenuAction === 'click' && isVertical) {
|
|
246
245
|
closeSubMenu();
|
|
247
246
|
}
|
|
248
247
|
|
|
@@ -250,20 +249,18 @@ var SubMenu = function SubMenu(props) {
|
|
|
250
249
|
}; // 子菜单展开收缩
|
|
251
250
|
|
|
252
251
|
|
|
253
|
-
var handleOnClickSubMenu = function handleOnClickSubMenu(
|
|
252
|
+
var handleOnClickSubMenu = function handleOnClickSubMenu() {
|
|
254
253
|
if (disabled || triggerSubMenuAction === 'hover') return;
|
|
255
|
-
|
|
256
|
-
handleOnOpenChange(keyValue);
|
|
257
|
-
setIsVisible(!isVisible);
|
|
254
|
+
handleVisibleChange(!visible);
|
|
258
255
|
};
|
|
259
256
|
|
|
260
257
|
var renderItemTitle = function renderItemTitle() {
|
|
261
258
|
if (!icon && collapsed && restProps.level === 1 && (0, _util.isString)(title)) {
|
|
262
|
-
return /*#__PURE__*/
|
|
259
|
+
return /*#__PURE__*/_react.default.createElement("p", null, title.charAt(0));
|
|
263
260
|
}
|
|
264
261
|
|
|
265
262
|
if ((0, _util.isString)(title)) {
|
|
266
|
-
return /*#__PURE__*/
|
|
263
|
+
return /*#__PURE__*/_react.default.createElement("span", null, title);
|
|
267
264
|
}
|
|
268
265
|
|
|
269
266
|
return (0, _util.renderReactNodeFunction)(title);
|
|
@@ -273,101 +270,27 @@ var SubMenu = function SubMenu(props) {
|
|
|
273
270
|
var _context2;
|
|
274
271
|
|
|
275
272
|
if (mode !== 'inline' || collapsed) return null;
|
|
276
|
-
return /*#__PURE__*/
|
|
273
|
+
return /*#__PURE__*/_react.default.createElement(_index.Icon, {
|
|
277
274
|
type: "arrow-down",
|
|
278
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-arrow"), (0, _defineProperty2.default)({}, (0, _concat.default)(_context2 = "".concat(prefixCls, "-arrow-")).call(_context2,
|
|
275
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-arrow"), (0, _defineProperty2.default)({}, (0, _concat.default)(_context2 = "".concat(prefixCls, "-arrow-")).call(_context2, visible ? 'up' : 'down'), true))
|
|
279
276
|
});
|
|
280
277
|
};
|
|
281
278
|
|
|
282
|
-
var renderSubMenu = function renderSubMenu() {
|
|
283
|
-
var _context3;
|
|
284
|
-
|
|
285
|
-
var style = getCurrentStyle(); // 展开收缩动画。针对二级三级菜单目前使用单一的样式去区分了
|
|
286
|
-
|
|
287
|
-
var motionClassName = {};
|
|
288
|
-
|
|
289
|
-
if (mode !== 'inline') {
|
|
290
|
-
var prefixClsMotion = "".concat(prefixCls, "-sub");
|
|
291
|
-
|
|
292
|
-
if (isVisible) {
|
|
293
|
-
motionClassName["".concat(prefixClsMotion, "-second")] = restProps.level === 1;
|
|
294
|
-
motionClassName["".concat(prefixClsMotion, "-third")] = restProps.level === 2;
|
|
295
|
-
} else {
|
|
296
|
-
motionClassName["".concat(prefixClsMotion, "-hide")] = true;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
301
|
-
style: style,
|
|
302
|
-
ref: subMenuWrapperRef
|
|
303
|
-
}, /*#__PURE__*/React.createElement("ul", {
|
|
304
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-sub"), restProps.popupClassName, motionClassName)
|
|
305
|
-
}, (0, _map.default)(_context3 = (0, _reactChildren.toArray)(children)).call(_context3, function (item, index) {
|
|
306
|
-
var key = item.key || index;
|
|
307
|
-
return /*#__PURE__*/React.cloneElement(item, {
|
|
308
|
-
key: key,
|
|
309
|
-
level: restProps.level + 1,
|
|
310
|
-
keyValue: key,
|
|
311
|
-
collapsed: collapsed,
|
|
312
|
-
mode: mode,
|
|
313
|
-
selectedKey: selectedKey,
|
|
314
|
-
openKeys: openKeys,
|
|
315
|
-
forceSubMenuRender: forceSubMenuRender,
|
|
316
|
-
triggerSubMenuAction: triggerSubMenuAction,
|
|
317
|
-
handleOnOpenChange: handleOnOpenChange,
|
|
318
|
-
handleOnClick: handleOnClick,
|
|
319
|
-
inlineIndent: inlineIndent,
|
|
320
|
-
paddingLeft: curPaddingLeft
|
|
321
|
-
});
|
|
322
|
-
})));
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
var renderThridMenu = function renderThridMenu() {
|
|
326
|
-
var _context4;
|
|
327
|
-
|
|
328
|
-
var style = getCurrentStyle();
|
|
329
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
330
|
-
style: style
|
|
331
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
332
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-thrid")),
|
|
333
|
-
onClick: function onClick(e) {
|
|
334
|
-
e.stopPropagation();
|
|
335
|
-
},
|
|
336
|
-
style: {
|
|
337
|
-
width: (0, _util.getWrapWidth)(children)
|
|
338
|
-
}
|
|
339
|
-
}, (0, _map.default)(_context4 = (0, _reactChildren.toArray)(children)).call(_context4, function (item, i) {
|
|
340
|
-
return /*#__PURE__*/React.cloneElement(item, {
|
|
341
|
-
level: restProps.level + 1,
|
|
342
|
-
subMenuMode: restProps.subMenuMode,
|
|
343
|
-
keyValue: item.key || i,
|
|
344
|
-
collapsed: collapsed,
|
|
345
|
-
mode: mode,
|
|
346
|
-
selectedKey: selectedKey,
|
|
347
|
-
openKeys: openKeys,
|
|
348
|
-
forceSubMenuRender: forceSubMenuRender,
|
|
349
|
-
triggerSubMenuAction: triggerSubMenuAction,
|
|
350
|
-
handleOnOpenChange: handleOnOpenChange,
|
|
351
|
-
handleOnClick: handleOnClick
|
|
352
|
-
});
|
|
353
|
-
})));
|
|
354
|
-
};
|
|
355
|
-
|
|
356
279
|
if (restProps.subMenuMode === 'horizontal' && restProps.level > 1 && children) {
|
|
357
|
-
var
|
|
280
|
+
var _context3;
|
|
358
281
|
|
|
359
282
|
var width = (0, _util.getItemWidth)(children);
|
|
360
|
-
return /*#__PURE__*/
|
|
283
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
361
284
|
className: (0, _classnames.default)("".concat(prefixCls, "-thrid-item")),
|
|
362
285
|
style: {
|
|
363
286
|
width: width
|
|
364
287
|
}
|
|
365
|
-
}, /*#__PURE__*/
|
|
288
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
366
289
|
className: (0, _classnames.default)("".concat(prefixCls, "-thrid-title"))
|
|
367
|
-
}, /*#__PURE__*/
|
|
290
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, title)), /*#__PURE__*/_react.default.createElement("ul", {
|
|
368
291
|
className: (0, _classnames.default)("".concat(prefixCls, "-thrid-list"), restProps.popupClassName)
|
|
369
|
-
}, (0, _map.default)(
|
|
370
|
-
return /*#__PURE__*/
|
|
292
|
+
}, (0, _map.default)(_context3 = (0, _reactChildren.toArray)(children)).call(_context3, function (item, i) {
|
|
293
|
+
return /*#__PURE__*/_react.default.cloneElement(item, {
|
|
371
294
|
level: restProps.level + 1,
|
|
372
295
|
subMenuMode: restProps.subMenuMode,
|
|
373
296
|
keyValue: item && item.key || i,
|
|
@@ -391,19 +314,99 @@ var SubMenu = function SubMenu(props) {
|
|
|
391
314
|
var titleStyle = {
|
|
392
315
|
paddingRight: "".concat(curPaddingRight, "px"),
|
|
393
316
|
paddingLeft: "".concat(curPaddingLeft, "px")
|
|
394
|
-
};
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
className: (0, _classnames.default)(prefixCls, className, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-collapsed"), collapsed), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-hover"), !disabled &&
|
|
317
|
+
}; // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
318
|
+
|
|
319
|
+
var verticalView = (0, _usePopper.default)( /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
320
|
+
className: (0, _classnames.default)(prefixCls, className, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, "light", theme === 'light'), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-collapsed"), collapsed), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-hover"), !disabled && visible), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-active"), Array.isArray(openKeys) && (0, _includes.default)(openKeys).call(openKeys, keyValue)), _classNames2)),
|
|
321
|
+
ref: subMenuVerticalRef,
|
|
398
322
|
key: keyValue
|
|
399
|
-
},
|
|
400
|
-
|
|
401
|
-
|
|
323
|
+
}, {
|
|
324
|
+
onMouseLeave: handleOnMouseLeave,
|
|
325
|
+
onMouseEnter: handleOnMouseEnter,
|
|
326
|
+
onClick: handleOnClickSubMenu
|
|
327
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
402
328
|
className: (0, _classnames.default)("".concat(prefixCls, "-title")),
|
|
403
329
|
style: titleStyle
|
|
404
|
-
}, icon && /*#__PURE__*/
|
|
330
|
+
}, icon && /*#__PURE__*/_react.default.cloneElement((0, _util.renderReactNodeFunction)(icon), {
|
|
405
331
|
className: (0, _classnames.default)("".concat(prefixCls, "-icon"))
|
|
406
|
-
}), renderItemTitle(), renderItemArrow()),
|
|
332
|
+
}), renderItemTitle(), renderItemArrow())), /*#__PURE__*/_react.default.createElement("div", {
|
|
333
|
+
ref: subMenuWrapperVerticalRef,
|
|
334
|
+
onMouseLeave: function onMouseLeave() {
|
|
335
|
+
handleOnMouseLeave();
|
|
336
|
+
},
|
|
337
|
+
onMouseEnter: function onMouseEnter() {
|
|
338
|
+
handleOnMouseEnter();
|
|
339
|
+
}
|
|
340
|
+
}, /*#__PURE__*/_react.default.createElement("ul", {
|
|
341
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-sub"), restProps.popupClassName, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-sub-second"), restProps.level === 1), (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-sub-third"), restProps.level === 2), _classNames3))
|
|
342
|
+
}, (0, _map.default)(_context4 = (0, _reactChildren.toArray)(children)).call(_context4, function (item, index) {
|
|
343
|
+
var key = item.key || index;
|
|
344
|
+
return /*#__PURE__*/_react.default.cloneElement(item, {
|
|
345
|
+
key: key,
|
|
346
|
+
level: restProps.level + 1,
|
|
347
|
+
keyValue: key,
|
|
348
|
+
collapsed: collapsed,
|
|
349
|
+
mode: mode,
|
|
350
|
+
theme: theme,
|
|
351
|
+
selectedKey: selectedKey,
|
|
352
|
+
openKeys: openKeys,
|
|
353
|
+
forceSubMenuRender: forceSubMenuRender,
|
|
354
|
+
triggerSubMenuAction: triggerSubMenuAction,
|
|
355
|
+
handleOnOpenChange: handleOnOpenChange,
|
|
356
|
+
handleOnClick: handleOnClick,
|
|
357
|
+
inlineIndent: inlineIndent,
|
|
358
|
+
paddingLeft: curPaddingLeft
|
|
359
|
+
});
|
|
360
|
+
}))), {
|
|
361
|
+
arrow: false,
|
|
362
|
+
placement: 'rightTop',
|
|
363
|
+
gap: 0,
|
|
364
|
+
visible: isVertical ? visible : false,
|
|
365
|
+
disabled: isVertical ? undefined : true,
|
|
366
|
+
prefixCls: 'kd-menu-popper',
|
|
367
|
+
popperClassName: theme === 'light' ? 'light' : ''
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
if (isVertical) {
|
|
371
|
+
return verticalView;
|
|
372
|
+
} else {
|
|
373
|
+
var _classNames4, _context5;
|
|
374
|
+
|
|
375
|
+
return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
376
|
+
ref: subMenuRef,
|
|
377
|
+
className: (0, _classnames.default)(prefixCls, className, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, "".concat(prefixCls, "-collapsed"), collapsed), (0, _defineProperty2.default)(_classNames4, "".concat(prefixCls, "-disabled"), disabled), _classNames4)),
|
|
378
|
+
key: keyValue
|
|
379
|
+
}, mouseEvent, {
|
|
380
|
+
style: style
|
|
381
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
382
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-title")),
|
|
383
|
+
style: titleStyle
|
|
384
|
+
}, icon && /*#__PURE__*/_react.default.cloneElement((0, _util.renderReactNodeFunction)(icon), {
|
|
385
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-icon"))
|
|
386
|
+
}), renderItemTitle(), renderItemArrow()), /*#__PURE__*/_react.default.createElement("div", {
|
|
387
|
+
style: getCurrentStyle(),
|
|
388
|
+
ref: subMenuWrapperRef
|
|
389
|
+
}, /*#__PURE__*/_react.default.createElement("ul", {
|
|
390
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-sub"), restProps.popupClassName)
|
|
391
|
+
}, (0, _map.default)(_context5 = (0, _reactChildren.toArray)(children)).call(_context5, function (item, index) {
|
|
392
|
+
var key = item.key || index;
|
|
393
|
+
return /*#__PURE__*/_react.default.cloneElement(item, {
|
|
394
|
+
key: key,
|
|
395
|
+
level: restProps.level + 1,
|
|
396
|
+
keyValue: key,
|
|
397
|
+
collapsed: collapsed,
|
|
398
|
+
mode: mode,
|
|
399
|
+
selectedKey: selectedKey,
|
|
400
|
+
openKeys: openKeys,
|
|
401
|
+
forceSubMenuRender: forceSubMenuRender,
|
|
402
|
+
triggerSubMenuAction: triggerSubMenuAction,
|
|
403
|
+
handleOnOpenChange: handleOnOpenChange,
|
|
404
|
+
handleOnClick: handleOnClick,
|
|
405
|
+
inlineIndent: inlineIndent,
|
|
406
|
+
paddingLeft: curPaddingLeft
|
|
407
|
+
});
|
|
408
|
+
}))));
|
|
409
|
+
}
|
|
407
410
|
};
|
|
408
411
|
|
|
409
412
|
SubMenu.displayName = 'SubMenu';
|
package/lib/radio/radio.d.ts
CHANGED
package/lib/radio/radio.js
CHANGED
|
@@ -21,7 +21,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
|
|
|
21
21
|
|
|
22
22
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
25
25
|
|
|
26
26
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
27
|
|
|
@@ -51,14 +51,15 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
51
51
|
var InternalRadio = function InternalRadio(props, ref) {
|
|
52
52
|
var _classNames;
|
|
53
53
|
|
|
54
|
-
var context =
|
|
54
|
+
var context = _react.default.useContext(_context.default);
|
|
55
55
|
|
|
56
|
-
var _React$useContext =
|
|
56
|
+
var _React$useContext = _react.default.useContext(_ConfigContext.default),
|
|
57
57
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
58
58
|
prefixCls = _React$useContext.prefixCls,
|
|
59
59
|
userDefaultProps = _React$useContext.compDefaultProps;
|
|
60
60
|
|
|
61
|
-
var innerRef =
|
|
61
|
+
var innerRef = _react.default.useRef();
|
|
62
|
+
|
|
62
63
|
var mergedRef = ref || innerRef;
|
|
63
64
|
|
|
64
65
|
var _a = (0, _utils.getCompProps)('Radio', userDefaultProps, props),
|
|
@@ -78,14 +79,15 @@ var InternalRadio = function InternalRadio(props, ref) {
|
|
|
78
79
|
|
|
79
80
|
var radioPrefixCls = getPrefixCls === null || getPrefixCls === void 0 ? void 0 : getPrefixCls(prefixCls, getPrefix(radioType), customPrefixcls); // 样式前缀
|
|
80
81
|
|
|
81
|
-
var _React$useState =
|
|
82
|
+
var _React$useState = _react.default.useState(checked || defaultChecked),
|
|
82
83
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
83
84
|
isChecked = _React$useState2[0],
|
|
84
85
|
setIsChecked = _React$useState2[1];
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
_react.default.useEffect(function () {
|
|
87
88
|
checked !== undefined && setIsChecked(checked);
|
|
88
89
|
}, [checked]);
|
|
90
|
+
|
|
89
91
|
var radioProps = (0, _extends2.default)({}, restProps);
|
|
90
92
|
|
|
91
93
|
var onChange = function onChange(e) {
|
|
@@ -110,32 +112,40 @@ var InternalRadio = function InternalRadio(props, ref) {
|
|
|
110
112
|
|
|
111
113
|
var classString = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(radioPrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(radioPrefixCls, "-disabled"), radioProps.disabled), (0, _defineProperty2.default)(_classNames, "".concat(radioPrefixCls, "-checked"), context ? radioProps.checked : isChecked), _classNames), className); // 单选包裹元素class名称
|
|
112
114
|
|
|
113
|
-
|
|
114
|
-
var
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
(0, _react.useEffect)(function () {
|
|
116
|
+
var handleRepeatClick = function handleRepeatClick(e) {
|
|
117
|
+
var element = e.target;
|
|
118
|
+
|
|
119
|
+
if (element.tagName !== 'INPUT') {
|
|
120
|
+
e.stopPropagation();
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
var radioRef = mergedRef;
|
|
125
|
+
radioRef.current.addEventListener('click', handleRepeatClick);
|
|
126
|
+
return function () {
|
|
127
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
128
|
+
radioRef.current.removeEventListener('click', handleRepeatClick);
|
|
129
|
+
};
|
|
130
|
+
}, []);
|
|
121
131
|
return (
|
|
122
132
|
/*#__PURE__*/
|
|
123
133
|
// eslint-disable-next-line
|
|
124
|
-
|
|
134
|
+
_react.default.createElement("label", {
|
|
125
135
|
className: classString,
|
|
126
136
|
style: style,
|
|
127
|
-
ref: mergedRef
|
|
128
|
-
|
|
129
|
-
}, /*#__PURE__*/React.createElement("input", (0, _extends2.default)({
|
|
137
|
+
ref: mergedRef
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
130
139
|
type: "radio",
|
|
131
140
|
className: "".concat(radioPrefixCls, "-input")
|
|
132
|
-
}, radioProps)), children !== undefined ? /*#__PURE__*/
|
|
141
|
+
}, radioProps)), children !== undefined ? /*#__PURE__*/_react.default.createElement("span", {
|
|
133
142
|
className: "".concat(radioPrefixCls, "-text")
|
|
134
143
|
}, children) : null)
|
|
135
144
|
);
|
|
136
145
|
};
|
|
137
146
|
|
|
138
|
-
var Radio = /*#__PURE__*/
|
|
147
|
+
var Radio = /*#__PURE__*/_react.default.forwardRef(InternalRadio);
|
|
148
|
+
|
|
139
149
|
Radio.displayName = 'Radio';
|
|
140
150
|
var _default = Radio;
|
|
141
151
|
exports.default = _default;
|