@kdcloudjs/kdesign 1.3.2 → 1.3.3

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 (50) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/dist/kdesign-complete.less +171 -103
  3. package/dist/kdesign.css +160 -73
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +346 -268
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/button/group.js +2 -1
  11. package/es/button/style/index.css +20 -19
  12. package/es/button/style/index.less +29 -27
  13. package/es/button/style/token.less +4 -4
  14. package/es/checkbox/checkbox.js +20 -12
  15. package/es/config-provider/compDefaultProps.d.ts +0 -1
  16. package/es/config-provider/compDefaultProps.js +1 -2
  17. package/es/menu/menu.d.ts +1 -1
  18. package/es/menu/menu.js +51 -19
  19. package/es/menu/menuItem.d.ts +1 -0
  20. package/es/menu/menuItem.js +14 -10
  21. package/es/menu/style/index.css +139 -53
  22. package/es/menu/style/index.less +101 -69
  23. package/es/menu/style/mixin.less +33 -1
  24. package/es/menu/style/token.less +4 -2
  25. package/es/menu/subMenu.d.ts +1 -1
  26. package/es/menu/subMenu.js +118 -112
  27. package/es/radio/radio.d.ts +1 -1
  28. package/es/radio/radio.js +18 -11
  29. package/es/select/select.js +9 -2
  30. package/lib/button/group.js +2 -1
  31. package/lib/button/style/index.css +20 -19
  32. package/lib/button/style/index.less +29 -27
  33. package/lib/button/style/token.less +4 -4
  34. package/lib/checkbox/checkbox.js +19 -11
  35. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  36. package/lib/config-provider/compDefaultProps.js +1 -2
  37. package/lib/menu/menu.d.ts +1 -1
  38. package/lib/menu/menu.js +57 -23
  39. package/lib/menu/menuItem.d.ts +1 -0
  40. package/lib/menu/menuItem.js +16 -10
  41. package/lib/menu/style/index.css +139 -53
  42. package/lib/menu/style/index.less +101 -69
  43. package/lib/menu/style/mixin.less +33 -1
  44. package/lib/menu/style/token.less +4 -2
  45. package/lib/menu/subMenu.d.ts +1 -1
  46. package/lib/menu/subMenu.js +137 -135
  47. package/lib/radio/radio.d.ts +1 -1
  48. package/lib/radio/radio.js +30 -20
  49. package/lib/select/select.js +9 -2
  50. package/package.json +1 -1
@@ -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 React = _interopRequireWildcard(require("react"));
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 _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
38
+ var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
47
39
 
48
- 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); }
40
+ var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
49
41
 
50
- 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; }
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 _classNames3, _classNames4, _context5;
67
59
 
68
- var _React$useContext = React.useContext(_configProvider.ConfigContext),
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,7 +83,7 @@ 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"]); // 初始化level
86
+ restProps = __rest(_a, ["prefixCls", "theme", "mode", "title", "icon", "disabled", "children", "collapsed", "keyValue", "selectedKey", "openKeys", "triggerSubMenuAction", "forceSubMenuRender", "inlineIndent", "className", "style", "handleOnOpenChange", "paddingLeft"]); // 初始化level
94
87
 
95
88
 
96
89
  if (!restProps.level) {
@@ -105,21 +98,19 @@ var SubMenu = function SubMenu(props) {
105
98
  (0, _devwarning.default)(!children, 'submenu', 'cannot found children in Menu.SubMenu'); // className前缀
106
99
 
107
100
  var prefixCls = getPrefixCls(pkgPrefixCls, 'menu-submenu', customPrefixcls);
108
- var subMenuRef = React.useRef(null);
109
- var subMenuWrapperRef = React.useRef(null);
110
101
 
111
- var _React$useState = React.useState(false),
112
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
113
- isVisible = _React$useState2[0],
114
- setIsVisible = _React$useState2[1];
102
+ var subMenuRef = _react.default.useRef(null);
115
103
 
116
- React.useEffect(function () {
117
- if (openKeys.length > 0) {
118
- setIsVisible((0, _includes.default)(openKeys).call(openKeys, keyValue));
119
- }
120
- }, [keyValue]);
121
- React.useEffect(function () {
122
- if (!isVisible) return;
104
+ var subMenuWrapperRef = _react.default.useRef(null);
105
+
106
+ var subMenuVerticalRef = _react.default.useRef(null);
107
+
108
+ var subMenuWrapperVerticalRef = _react.default.useRef(null);
109
+
110
+ var visible = Array.isArray(openKeys) && (0, _includes.default)(openKeys).call(openKeys, keyValue);
111
+
112
+ _react.default.useEffect(function () {
113
+ if (!visible) return;
123
114
  var subMenuWrapperEle = subMenuWrapperRef.current;
124
115
  var subMenuEle = subMenuRef.current;
125
116
 
@@ -160,22 +151,23 @@ var SubMenu = function SubMenu(props) {
160
151
 
161
152
  var curPaddingRight = getPaddingRight();
162
153
  var curPaddingLeft = getPaddingLeft();
163
- var getCurrentStyle = React.useCallback(function () {
154
+
155
+ var getCurrentStyle = _react.default.useCallback(function () {
164
156
  var _a; // 内嵌模式height主要是用来动画的,必须要设置overflow溢出隐藏
165
157
 
166
158
 
167
159
  if (mode === 'inline') {
168
160
  var height = ((_a = subMenuWrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight) || 0;
169
161
  return {
170
- height: isVisible && !collapsed ? "".concat(height, "px") : '0px',
162
+ height: visible && !collapsed ? "".concat(height, "px") : '0px',
171
163
  overflow: 'hidden',
172
- opacity: isVisible && !collapsed ? 1 : 0,
164
+ opacity: visible && !collapsed ? 1 : 0,
173
165
  transition: 'all 0.2s cubic-bezier(0,.4,.4,1)'
174
166
  };
175
167
  }
176
168
 
177
169
  var style = {
178
- visibility: forceSubMenuRender && !isVisible ? 'visible' : 'hidden'
170
+ visibility: forceSubMenuRender && !visible ? 'visible' : 'hidden'
179
171
  };
180
172
 
181
173
  if (restProps.subMenuMode === 'horizontal') {
@@ -204,16 +196,24 @@ var SubMenu = function SubMenu(props) {
204
196
  paddingLeft: "".concat(popupOffsetPosition[0], "px"),
205
197
  paddingTop: "".concat(popupOffsetPosition[1], "px")
206
198
  });
207
- }, [subMenuRef, restProps.popupOffset, forceSubMenuRender, isVisible, mode, restProps.subMenuMode]);
199
+ }, [subMenuRef, restProps.popupOffset, forceSubMenuRender, visible, mode, restProps.subMenuMode]);
200
+
201
+ var handleVisibleChange = function handleVisibleChange(status) {
202
+ var clean = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
203
+ handleOnOpenChange(keyValue, status, clean);
204
+ };
208
205
 
209
206
  var closeSubMenu = function closeSubMenu() {
210
- setIsVisible(false);
211
- handleOnOpenChange(keyValue);
207
+ handleVisibleChange(false, true);
212
208
  }; // 点击区域外的地方关闭
213
209
 
214
210
 
215
- (0, _hooks.useOnClickOutside)([subMenuRef], function () {
216
- if (triggerSubMenuAction === 'click' && mode === 'vertical') {
211
+ (0, _hooks.useOnClickOutside)([subMenuVerticalRef, subMenuWrapperVerticalRef], function (e) {
212
+ var _a;
213
+
214
+ var className = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className) || '';
215
+
216
+ if (!(0, _includes.default)(className).call(className, _menuItem.MENU_ITEM_CONTAINER_NAME)) {
217
217
  closeSubMenu();
218
218
  }
219
219
  }); // 缩略模式自动关闭子菜单
@@ -224,8 +224,7 @@ var SubMenu = function SubMenu(props) {
224
224
 
225
225
  var handleMouseEvent = function handleMouseEvent(status) {
226
226
  if (disabled || triggerSubMenuAction === 'click') return;
227
- handleOnOpenChange(keyValue);
228
- setIsVisible(status);
227
+ handleVisibleChange(status);
229
228
  };
230
229
 
231
230
  var handleOnMouseEnter = function handleOnMouseEnter() {
@@ -250,20 +249,18 @@ var SubMenu = function SubMenu(props) {
250
249
  }; // 子菜单展开收缩
251
250
 
252
251
 
253
- var handleOnClickSubMenu = function handleOnClickSubMenu(e) {
252
+ var handleOnClickSubMenu = function handleOnClickSubMenu() {
254
253
  if (disabled || triggerSubMenuAction === 'hover') return;
255
- e.stopPropagation();
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__*/React.createElement("p", null, title.charAt(0));
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__*/React.createElement("span", null, title);
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__*/React.createElement(_index.Icon, {
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, isVisible ? 'up' : 'down'), true))
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 _context5;
280
+ var _context3;
358
281
 
359
282
  var width = (0, _util.getItemWidth)(children);
360
- return /*#__PURE__*/React.createElement("div", {
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__*/React.createElement("div", {
288
+ }, /*#__PURE__*/_react.default.createElement("div", {
366
289
  className: (0, _classnames.default)("".concat(prefixCls, "-thrid-title"))
367
- }, /*#__PURE__*/React.createElement("span", null, title)), /*#__PURE__*/React.createElement("ul", {
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)(_context5 = (0, _reactChildren.toArray)(children)).call(_context5, function (item, i) {
370
- return /*#__PURE__*/React.cloneElement(item, {
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,
@@ -392,18 +315,97 @@ var SubMenu = function SubMenu(props) {
392
315
  paddingRight: "".concat(curPaddingRight, "px"),
393
316
  paddingLeft: "".concat(curPaddingLeft, "px")
394
317
  };
395
- return /*#__PURE__*/React.createElement("li", (0, _extends2.default)({
396
- ref: subMenuRef,
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 && isVisible), _classNames2)),
398
- key: keyValue
399
- }, mouseEvent, {
318
+
319
+ if (mode !== 'vertical') {
320
+ var _classNames2, _context4;
321
+
322
+ return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
323
+ ref: subMenuRef,
324
+ 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 && visible), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-active"), Array.isArray(openKeys) && (0, _includes.default)(openKeys).call(openKeys, keyValue)), _classNames2)),
325
+ key: keyValue
326
+ }, mouseEvent, {
327
+ style: style
328
+ }), /*#__PURE__*/_react.default.createElement("div", {
329
+ className: (0, _classnames.default)("".concat(prefixCls, "-title")),
330
+ style: titleStyle
331
+ }, icon && /*#__PURE__*/_react.default.cloneElement((0, _util.renderReactNodeFunction)(icon), {
332
+ className: (0, _classnames.default)("".concat(prefixCls, "-icon"))
333
+ }), renderItemTitle(), renderItemArrow()), /*#__PURE__*/_react.default.createElement("div", {
334
+ style: getCurrentStyle(),
335
+ ref: subMenuWrapperRef
336
+ }, /*#__PURE__*/_react.default.createElement("ul", {
337
+ className: (0, _classnames.default)("".concat(prefixCls, "-sub"), restProps.popupClassName)
338
+ }, (0, _map.default)(_context4 = (0, _reactChildren.toArray)(children)).call(_context4, function (item, index) {
339
+ var key = item.key || index;
340
+ return /*#__PURE__*/_react.default.cloneElement(item, {
341
+ key: key,
342
+ level: restProps.level + 1,
343
+ keyValue: key,
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
+ inlineIndent: inlineIndent,
353
+ paddingLeft: curPaddingLeft
354
+ });
355
+ }))));
356
+ } // eslint-disable-next-line react-hooks/rules-of-hooks
357
+
358
+
359
+ return (0, _usePopper.default)( /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
360
+ className: (0, _classnames.default)(prefixCls, className, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, "light", theme === 'light'), (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-collapsed"), collapsed), (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-hover"), !disabled && visible), (0, _defineProperty2.default)(_classNames3, "".concat(prefixCls, "-active"), Array.isArray(openKeys) && (0, _includes.default)(openKeys).call(openKeys, keyValue)), _classNames3)),
361
+ ref: subMenuVerticalRef,
362
+ key: keyValue,
400
363
  style: style
401
- }), /*#__PURE__*/React.createElement("div", {
364
+ }, {
365
+ onMouseLeave: handleOnMouseLeave,
366
+ onMouseEnter: handleOnMouseEnter,
367
+ onClick: handleOnClickSubMenu
368
+ }), /*#__PURE__*/_react.default.createElement("div", {
402
369
  className: (0, _classnames.default)("".concat(prefixCls, "-title")),
403
370
  style: titleStyle
404
- }, icon && /*#__PURE__*/React.cloneElement((0, _util.renderReactNodeFunction)(icon), {
371
+ }, icon && /*#__PURE__*/_react.default.cloneElement((0, _util.renderReactNodeFunction)(icon), {
405
372
  className: (0, _classnames.default)("".concat(prefixCls, "-icon"))
406
- }), renderItemTitle(), renderItemArrow()), restProps.subMenuMode === 'horizontal' ? renderThridMenu() : renderSubMenu());
373
+ }), renderItemTitle(), renderItemArrow())), /*#__PURE__*/_react.default.createElement("div", {
374
+ ref: subMenuWrapperVerticalRef,
375
+ onMouseLeave: function onMouseLeave() {
376
+ handleOnMouseLeave();
377
+ },
378
+ onMouseEnter: function onMouseEnter() {
379
+ handleOnMouseEnter();
380
+ }
381
+ }, /*#__PURE__*/_react.default.createElement("ul", {
382
+ className: (0, _classnames.default)("".concat(prefixCls, "-sub"), restProps.popupClassName, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, "".concat(prefixCls, "-sub-second"), restProps.level === 1), (0, _defineProperty2.default)(_classNames4, "".concat(prefixCls, "-sub-third"), restProps.level === 2), _classNames4))
383
+ }, (0, _map.default)(_context5 = (0, _reactChildren.toArray)(children)).call(_context5, function (item, index) {
384
+ var key = item.key || index;
385
+ return /*#__PURE__*/_react.default.cloneElement(item, {
386
+ key: key,
387
+ level: restProps.level + 1,
388
+ keyValue: key,
389
+ collapsed: collapsed,
390
+ mode: mode,
391
+ theme: theme,
392
+ selectedKey: selectedKey,
393
+ openKeys: openKeys,
394
+ forceSubMenuRender: forceSubMenuRender,
395
+ triggerSubMenuAction: triggerSubMenuAction,
396
+ handleOnOpenChange: handleOnOpenChange,
397
+ handleOnClick: handleOnClick,
398
+ inlineIndent: inlineIndent,
399
+ paddingLeft: curPaddingLeft
400
+ });
401
+ }))), {
402
+ arrow: false,
403
+ placement: 'rightTop',
404
+ gap: 0,
405
+ visible: visible,
406
+ prefixCls: 'kd-menu-popper',
407
+ popperClassName: theme === 'light' ? 'light' : ''
408
+ });
407
409
  };
408
410
 
409
411
  SubMenu.displayName = 'SubMenu';
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { IRadioProps } from './interface';
3
3
  declare const Radio: React.ForwardRefExoticComponent<IRadioProps & React.RefAttributes<unknown>>;
4
4
  export default Radio;
@@ -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 React = _interopRequireWildcard(require("react"));
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 = React.useContext(_context.default);
54
+ var context = _react.default.useContext(_context.default);
55
55
 
56
- var _React$useContext = React.useContext(_ConfigContext.default),
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 = React.useRef();
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 = React.useState(checked || defaultChecked),
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
- React.useEffect(function () {
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
- var handleRepeatClick = function handleRepeatClick(e) {
114
- var element = e.target;
115
-
116
- if (element.tagName !== 'INPUT') {
117
- e.stopPropagation();
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
- React.createElement("label", {
134
+ _react.default.createElement("label", {
125
135
  className: classString,
126
136
  style: style,
127
- ref: mergedRef,
128
- onClick: handleRepeatClick
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__*/React.createElement("span", {
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__*/React.forwardRef(InternalRadio);
147
+ var Radio = /*#__PURE__*/_react.default.forwardRef(InternalRadio);
148
+
139
149
  Radio.displayName = 'Radio';
140
150
  var _default = Radio;
141
151
  exports.default = _default;
@@ -520,8 +520,15 @@ var InternalSelect = function InternalSelect(props, ref) {
520
520
  return (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) === 0 && /*#__PURE__*/_react.default.createElement("div", {
521
521
  className: emptyListCls
522
522
  }, emptyContent);
523
- }; // 渲染下拉列表框
523
+ };
524
+
525
+ var isShowSearch = (0, _react.useCallback)(function () {
526
+ if (isMultiple) {
527
+ return showSearch !== null && showSearch !== void 0 ? showSearch : true;
528
+ }
524
529
 
530
+ return showSearch !== null && showSearch !== void 0 ? showSearch : false;
531
+ }, [showSearch, isMultiple]); // 渲染下拉列表框
525
532
 
526
533
  var renderContent = function renderContent() {
527
534
  var _a;
@@ -557,7 +564,7 @@ var InternalSelect = function InternalSelect(props, ref) {
557
564
  className: dropDownCls,
558
565
  style: dropDownStyle,
559
566
  ref: dropDownRef
560
- }, (showSearch || isMultiple) && /*#__PURE__*/_react.default.createElement("div", {
567
+ }, isShowSearch() && /*#__PURE__*/_react.default.createElement("div", {
561
568
  className: searchCls
562
569
  }, /*#__PURE__*/_react.default.createElement(_index.Input, {
563
570
  ref: searchRef,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [