@kdcloudjs/kdesign 1.5.3 → 1.5.6

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 (101) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/default-theme.js +4 -4
  3. package/dist/kdesign-complete.less +164 -88
  4. package/dist/kdesign.css +160 -86
  5. package/dist/kdesign.css.map +1 -1
  6. package/dist/kdesign.js +392 -253
  7. package/dist/kdesign.js.map +1 -1
  8. package/dist/kdesign.min.css +4 -4
  9. package/dist/kdesign.min.js +6 -6
  10. package/dist/kdesign.min.js.map +1 -1
  11. package/es/_utils/usePopper.js +79 -46
  12. package/es/alert/alert.js +2 -2
  13. package/es/alert/style/index.css +27 -11
  14. package/es/alert/style/index.less +24 -10
  15. package/es/alert/style/mixin.less +8 -2
  16. package/es/alert/style/token.less +16 -8
  17. package/es/config-provider/compDefaultProps.d.ts +1 -0
  18. package/es/config-provider/compDefaultProps.js +2 -1
  19. package/es/drawer/drawer.js +1 -0
  20. package/es/dropdown/dropdown.js +16 -6
  21. package/es/dropdown/style/index.css +13 -14
  22. package/es/dropdown/style/index.less +4 -5
  23. package/es/dropdown/style/token.less +6 -5
  24. package/es/radio/style/index.css +7 -1
  25. package/es/radio/style/index.less +9 -1
  26. package/es/search/style/index.css +3 -3
  27. package/es/select/select.js +1 -1
  28. package/es/spin/style/index.css +25 -26
  29. package/es/spin/style/index.less +18 -19
  30. package/es/spin/style/token.less +9 -3
  31. package/es/stepper/stepper.js +9 -4
  32. package/es/stepper/style/index.css +2 -0
  33. package/es/stepper/style/index.less +2 -0
  34. package/es/stepper/style/token.less +1 -2
  35. package/es/style/icon/kdicon.css +2 -1
  36. package/es/style/icon/kdicon.woff +0 -0
  37. package/es/style/themes/default.less +3 -4
  38. package/es/tabs/style/index.css +1 -0
  39. package/es/tabs/style/index.less +1 -0
  40. package/es/timeline/style/index.css +22 -21
  41. package/es/timeline/style/index.less +2 -2
  42. package/es/timeline/style/token.less +4 -7
  43. package/es/tooltip/tooltip.js +1 -1
  44. package/es/tree/style/index.css +56 -7
  45. package/es/tree/style/index.less +26 -18
  46. package/es/tree/style/mixin.less +25 -1
  47. package/es/tree/style/token.less +6 -4
  48. package/es/tree/tree.d.ts +2 -0
  49. package/es/tree/tree.js +77 -20
  50. package/es/tree/treeHooks.d.ts +1 -1
  51. package/es/tree/treeHooks.js +3 -4
  52. package/es/tree/treeNode.d.ts +1 -0
  53. package/es/tree/treeNode.js +45 -49
  54. package/es/tree/utils/treeUtils.d.ts +6 -3
  55. package/es/tree/utils/treeUtils.js +66 -42
  56. package/lib/_utils/usePopper.js +79 -46
  57. package/lib/alert/alert.js +2 -2
  58. package/lib/alert/style/index.css +27 -11
  59. package/lib/alert/style/index.less +24 -10
  60. package/lib/alert/style/mixin.less +8 -2
  61. package/lib/alert/style/token.less +16 -8
  62. package/lib/config-provider/compDefaultProps.d.ts +1 -0
  63. package/lib/config-provider/compDefaultProps.js +2 -1
  64. package/lib/drawer/drawer.js +1 -0
  65. package/lib/dropdown/dropdown.js +15 -6
  66. package/lib/dropdown/style/index.css +13 -14
  67. package/lib/dropdown/style/index.less +4 -5
  68. package/lib/dropdown/style/token.less +6 -5
  69. package/lib/radio/style/index.css +7 -1
  70. package/lib/radio/style/index.less +9 -1
  71. package/lib/search/style/index.css +3 -3
  72. package/lib/select/select.js +1 -1
  73. package/lib/spin/style/index.css +25 -26
  74. package/lib/spin/style/index.less +18 -19
  75. package/lib/spin/style/token.less +9 -3
  76. package/lib/stepper/stepper.js +9 -4
  77. package/lib/stepper/style/index.css +2 -0
  78. package/lib/stepper/style/index.less +2 -0
  79. package/lib/stepper/style/token.less +1 -2
  80. package/lib/style/icon/kdicon.css +2 -1
  81. package/lib/style/icon/kdicon.woff +0 -0
  82. package/lib/style/themes/default.less +3 -4
  83. package/lib/tabs/style/index.css +1 -0
  84. package/lib/tabs/style/index.less +1 -0
  85. package/lib/timeline/style/index.css +22 -21
  86. package/lib/timeline/style/index.less +2 -2
  87. package/lib/timeline/style/token.less +4 -7
  88. package/lib/tooltip/tooltip.js +1 -1
  89. package/lib/tree/style/index.css +56 -7
  90. package/lib/tree/style/index.less +26 -18
  91. package/lib/tree/style/mixin.less +25 -1
  92. package/lib/tree/style/token.less +6 -4
  93. package/lib/tree/tree.d.ts +2 -0
  94. package/lib/tree/tree.js +78 -20
  95. package/lib/tree/treeHooks.d.ts +1 -1
  96. package/lib/tree/treeHooks.js +3 -4
  97. package/lib/tree/treeNode.d.ts +1 -0
  98. package/lib/tree/treeNode.js +46 -48
  99. package/lib/tree/utils/treeUtils.d.ts +6 -3
  100. package/lib/tree/utils/treeUtils.js +64 -42
  101. package/package.json +1 -1
@@ -219,6 +219,11 @@ function usePopper(locatorElement, popperElement, props) {
219
219
  visible = _useState10[0],
220
220
  setVisible = _useState10[1];
221
221
 
222
+ var _useState11 = useState(false),
223
+ _useState12 = _slicedToArray(_useState11, 2),
224
+ active = _useState12[0],
225
+ setActive = _useState12[1];
226
+
222
227
  useEffect(function () {
223
228
  if (props.visible) {
224
229
  !exist && setExist(true);
@@ -229,20 +234,20 @@ function usePopper(locatorElement, popperElement, props) {
229
234
  }
230
235
  }, [exist, props.visible]);
231
236
 
232
- var _useState11 = useState(''),
233
- _useState12 = _slicedToArray(_useState11, 2),
234
- evType = _useState12[0],
235
- setEvType = _useState12[1];
236
-
237
- var _useState13 = useState(),
237
+ var _useState13 = useState(''),
238
238
  _useState14 = _slicedToArray(_useState13, 2),
239
- align = _useState14[0],
240
- setAlign = _useState14[1];
239
+ evType = _useState14[0],
240
+ setEvType = _useState14[1];
241
241
 
242
- var _useState15 = useState(placement),
242
+ var _useState15 = useState(),
243
243
  _useState16 = _slicedToArray(_useState15, 2),
244
- currentPlacement = _useState16[0],
245
- setCurrentPlacement = _useState16[1];
244
+ align = _useState16[0],
245
+ setAlign = _useState16[1];
246
+
247
+ var _useState17 = useState(placement),
248
+ _useState18 = _slicedToArray(_useState17, 2),
249
+ nextPlacement = _useState18[0],
250
+ setNextPlacement = _useState18[1];
246
251
 
247
252
  var alignPopper = useCallback(function () {
248
253
  if ((locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current) && (popperRef === null || popperRef === void 0 ? void 0 : popperRef.current)) {
@@ -287,39 +292,47 @@ function usePopper(locatorElement, popperElement, props) {
287
292
  bottom: locatorTop + borderTop + translateTop + height - containerTop - scrollTop
288
293
  };
289
294
  var currentPos = trigger === 'contextMenu' ? mousePos : locatorPos;
290
- var _currentPlacement = placement;
295
+ var currentPlacement = nextPlacement;
291
296
 
292
297
  if (autoPlacement) {
293
298
  if (top - gap - popperHeight <= 5 && bottom + gap + popperHeight < document.body.clientHeight - 5) {
294
- _currentPlacement = _currentPlacement.replace('top', 'bottom');
299
+ currentPlacement = currentPlacement.replace('top', 'bottom');
295
300
  }
296
301
 
297
302
  if (bottom + gap + popperHeight >= document.body.clientHeight - 5 && top - gap - popperHeight > 5) {
298
- _currentPlacement = _currentPlacement.replace('bottom', 'top');
303
+ currentPlacement = currentPlacement.replace('bottom', 'top');
299
304
  }
300
305
 
301
306
  if (left + popperWidth >= document.body.clientWidth - 5 && right - popperWidth > 5) {
302
- _currentPlacement = _currentPlacement.replace('Left', 'Right');
307
+ currentPlacement = currentPlacement.replace('Left', 'Right');
303
308
  }
304
309
 
305
310
  if (right - popperWidth <= 5 && left + popperWidth < document.body.clientWidth - 5) {
306
- _currentPlacement = _currentPlacement.replace('Right', 'Left');
311
+ currentPlacement = currentPlacement.replace('Right', 'Left');
307
312
  }
308
313
 
309
314
  if (top + popperHeight >= document.body.clientHeight - 5 && bottom - popperHeight > 5) {
310
- _currentPlacement = _currentPlacement.replace('Top', 'Bottom');
315
+ currentPlacement = currentPlacement.replace('Top', 'Bottom');
311
316
  }
312
317
 
313
318
  if (bottom - popperHeight <= 5 && top + popperHeight < document.body.clientHeight - 5) {
314
- _currentPlacement = _currentPlacement.replace('Bottom', 'Top');
319
+ currentPlacement = currentPlacement.replace('Bottom', 'Top');
315
320
  }
316
321
 
317
322
  if (left - gap - popperWidth <= 5 && right + gap + popperWidth < document.body.clientWidth - 5) {
318
- _currentPlacement = _currentPlacement.replace('left', 'right');
323
+ currentPlacement = currentPlacement.replace('left', 'right');
319
324
  }
320
325
 
321
326
  if (right + gap + popperWidth >= document.body.clientWidth - 5 && left - gap - popperWidth > 5) {
322
- _currentPlacement = _currentPlacement.replace('right', 'left');
327
+ currentPlacement = currentPlacement.replace('right', 'left');
328
+ }
329
+
330
+ if (right - width / 2 + popperWidth / 2 >= document.body.clientWidth - 5 && right - popperWidth > 5) {
331
+ currentPlacement += 'Right';
332
+ }
333
+
334
+ if (left - width / 2 - popperWidth / 2 <= 5 && left + popperWidth < document.body.clientWidth - 5) {
335
+ currentPlacement += 'Left';
323
336
  }
324
337
  }
325
338
 
@@ -381,16 +394,16 @@ function usePopper(locatorElement, popperElement, props) {
381
394
  top: topBottom
382
395
  }
383
396
  };
384
- var alignPos = mapAlign[_currentPlacement];
397
+ var alignPos = mapAlign[currentPlacement];
385
398
  var _arrowPos = {
386
399
  top: 0,
387
400
  left: 0
388
401
  };
389
402
 
390
- if (/left/.test(_currentPlacement) || /right/.test(_currentPlacement)) {
391
- if (/Top/.test(_currentPlacement)) {
403
+ if (/left/.test(currentPlacement) || /right/.test(currentPlacement)) {
404
+ if (/Top/.test(currentPlacement)) {
392
405
  _arrowPos.top = arrowOffset;
393
- } else if (/Bottom/.test(_currentPlacement)) {
406
+ } else if (/Bottom/.test(currentPlacement)) {
394
407
  _arrowPos.top = popperHeight - arrowOffset - 2 * arrowSize;
395
408
  } else {
396
409
  _arrowPos.top = (popperHeight - arrowWidth) / 2 - 1;
@@ -417,29 +430,40 @@ function usePopper(locatorElement, popperElement, props) {
417
430
  _arrowPos.top += scrollBottom - document.body.clientHeight;
418
431
  }
419
432
  }
420
- }
421
-
422
- if (/top/.test(_currentPlacement) || /bottom/.test(_currentPlacement)) {
423
- if (/Left/.test(_currentPlacement)) {
433
+ } else if (/top/.test(currentPlacement) || /bottom/.test(currentPlacement)) {
434
+ if (/Left/.test(currentPlacement)) {
424
435
  _arrowPos.left = arrowOffset;
425
- } else if (/Right/.test(_currentPlacement)) {
436
+ } else if (/Right/.test(currentPlacement)) {
426
437
  _arrowPos.left = popperWidth - arrowOffset - 2 * arrowSize;
427
438
  } else {
428
439
  _arrowPos.left = (popperWidth - arrowWidth) / 2 - 1;
429
440
  }
441
+
442
+ if (left <= 0) {
443
+ alignPos.left = locatorPos.left;
444
+ _arrowPos.left = arrowOffset;
445
+ } else if (right >= document.body.clientWidth) {
446
+ alignPos.left = locatorPos.right - popperWidth;
447
+ alignPos.right = -360;
448
+ _arrowPos.left = popperWidth - arrowOffset - 2 * arrowSize;
449
+ }
430
450
  }
431
451
 
432
452
  setAlign(alignPos);
433
453
  setArrowPos(_arrowPos);
434
- setCurrentPlacement(_currentPlacement);
454
+ setNextPlacement(currentPlacement);
435
455
  }
436
- }, [locatorRef, popperRef, container, trigger, mousePos, placement, gap, arrowOffset, arrowSize, arrowWidth, autoPlacement]);
456
+ }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth]);
437
457
  useEffect(function () {
438
458
  if (canAlign) {
439
459
  alignPopper();
440
460
  setCanAlign(false);
441
461
  props.visible === undefined && setVisible(true);
442
462
  onVisibleChange && onVisibleChange(true);
463
+ setActive(true);
464
+ setTimeout(function () {
465
+ return setActive(false);
466
+ }, 200);
443
467
  }
444
468
  }, [alignPopper, canAlign, onVisibleChange, props]);
445
469
  var arrowStyle = (_arrowStyle = {}, _defineProperty(_arrowStyle, "--arrowSize", arrowSize + 'px'), _defineProperty(_arrowStyle, "--arrowSpill", arrowWidth / -2 + 'px'), _arrowStyle);
@@ -453,10 +477,10 @@ function usePopper(locatorElement, popperElement, props) {
453
477
  var popperProps = {
454
478
  ref: popperRef,
455
479
  style: popperContainerStyle,
456
- className: classNames(prefixCls, popperClassName, currentPlacement, _defineProperty({
480
+ className: classNames(prefixCls, popperClassName, nextPlacement, _defineProperty({
457
481
  arrow: arrow,
458
482
  hidden: !visible
459
- }, "".concat(currentPlacement, "-active"), visible))
483
+ }, "".concat(nextPlacement, "-active"), active))
460
484
  };
461
485
  var popperNode = popperRef.current;
462
486
  var locatorNode = locatorRef.current;
@@ -486,6 +510,11 @@ function usePopper(locatorElement, popperElement, props) {
486
510
  props.visible === undefined && setVisible(false);
487
511
  onVisibleChange && onVisibleChange(false);
488
512
  }, [onVisibleChange, props.visible]);
513
+
514
+ var matchTrigger = function matchTrigger(words) {
515
+ return Array.isArray(trigger) ? _includesInstanceProperty(trigger).call(trigger, words) : trigger === words;
516
+ };
517
+
489
518
  useEffect(function () {
490
519
  if (exist && visible) {
491
520
  var mouseleaveTimer;
@@ -494,21 +523,21 @@ function usePopper(locatorElement, popperElement, props) {
494
523
  var triggerNode = getTriggerElement(locatorRef.current);
495
524
  var triggerRect = triggerNode.getBoundingClientRect();
496
525
  var popperRect = popperRef.current.getBoundingClientRect();
497
- var left = /left/.test(currentPlacement) ? popperRect.right : triggerRect.left;
498
- var right = /right/.test(currentPlacement) ? popperRect.left : triggerRect.right;
499
- var top = /top/.test(currentPlacement) ? popperRect.bottom : triggerRect.top;
500
- var bottom = /bottom/.test(currentPlacement) ? popperRect.top : triggerRect.bottom;
526
+ var left = /left/.test(nextPlacement) ? popperRect.right : triggerRect.left;
527
+ var right = /right/.test(nextPlacement) ? popperRect.left : triggerRect.right;
528
+ var top = /top/.test(nextPlacement) ? popperRect.bottom : triggerRect.top;
529
+ var bottom = /bottom/.test(nextPlacement) ? popperRect.top : triggerRect.bottom;
501
530
  var X = e.clientX,
502
531
  Y = e.clientY;
503
532
  var inTriggerRect = X > left - 2 && X < right + 2 && Y > top - 2 && Y < bottom + 2;
504
533
  var inPopperRect = X > popperRect.left && X < popperRect.right && Y > popperRect.top && Y < popperRect.bottom;
505
- var ableArea = evType === 'contextmenu' ? inPopperRect : inTriggerRect || inPopperRect;
534
+ var ableArea = matchTrigger('contextMenu') ? inPopperRect : inTriggerRect || inPopperRect;
506
535
 
507
536
  if (ableArea) {
508
537
  mouseleaveTimer && clearTimeout(mouseleaveTimer);
509
- evType === 'focus' && triggerNode.focus();
538
+ matchTrigger('focus') && triggerNode.focus();
510
539
  } else {
511
- evType === 'mouseenter' ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
540
+ matchTrigger('hover') ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
512
541
  }
513
542
  };
514
543
 
@@ -516,17 +545,21 @@ function usePopper(locatorElement, popperElement, props) {
516
545
  leading: true
517
546
  });
518
547
  var mapEvent = {
519
- mouseenter: 'mousemove',
520
- mouseup: 'mousedown',
548
+ hover: 'mousemove',
549
+ click: 'mousedown',
521
550
  focus: 'mousedown',
522
- contextmenu: 'mousedown'
551
+ contextMenu: 'mousedown'
523
552
  };
524
- document.addEventListener(mapEvent[evType], debounceHidePopper);
553
+ Array.isArray(trigger) ? trigger.forEach(function (action) {
554
+ return document.addEventListener(mapEvent[action], debounceHidePopper);
555
+ }) : document.addEventListener(mapEvent[trigger], debounceHidePopper);
525
556
  return function () {
526
- document.removeEventListener(mapEvent[evType], debounceHidePopper);
557
+ Array.isArray(trigger) ? trigger.forEach(function (action) {
558
+ return document.removeEventListener(mapEvent[action], debounceHidePopper);
559
+ }) : document.removeEventListener(mapEvent[trigger], debounceHidePopper);
527
560
  };
528
561
  }
529
- }, [currentPlacement, evType, exist, getTriggerElement, hidePopper, locatorRef, mouseLeaveDelay, popperRef, visible]);
562
+ }, [nextPlacement, evType, exist, getTriggerElement, hidePopper, locatorRef, mouseLeaveDelay, popperRef, visible]);
530
563
  useEffect(function () {
531
564
  if (visible) {
532
565
  var scrollAlign = debounce(function (e) {
package/es/alert/alert.js CHANGED
@@ -180,12 +180,12 @@ var Alert = function Alert(props) {
180
180
  };
181
181
 
182
182
  var iconNode = /*#__PURE__*/React.createElement("div", {
183
- className: "".concat(alertPrefixCls, "-icon")
183
+ className: classNames("".concat(alertPrefixCls, "-icon"), getAlertColorType('icon'))
184
184
  }, icon || /*#__PURE__*/React.createElement(Icon, {
185
185
  type: alertIconType
186
186
  }));
187
187
  var AlertComp = /*#__PURE__*/React.createElement("div", _extends({
188
- className: classNames(alertClasses, getAlertColorType('bg'), getAlertColorType('font'))
188
+ className: classNames(alertClasses, getAlertColorType('bg'), getAlertColorType('border'))
189
189
  }, events, {
190
190
  ref: alertRef
191
191
  }), showIcon && iconNode, /*#__PURE__*/React.createElement("div", {
@@ -109,12 +109,14 @@
109
109
  z-index: var(--kd-g-z-index-apex, 9999);
110
110
  display: none;
111
111
  width: 100%;
112
- padding: var(--kd-c-alert-sizing-padding-top, 8px) var(--kd-c-alert-sizing-padding-horizontal, 12px) var(--kd-c-alert-sizing-padding-bottom, 12px);
112
+ padding: var(--kd-c-alert-sizing-padding-vertical, 12px) var(--kd-c-alert-sizing-padding-horizontal, 20px);
113
113
  -webkit-box-align: center;
114
114
  -ms-flex-align: center;
115
115
  align-items: center;
116
116
  -webkit-transition: display 3s;
117
117
  transition: display 3s;
118
+ border-radius: var(--kd-c-alert-radius-border, 4px);
119
+ border: 1px solid;
118
120
  }
119
121
  .kd-alert-banner-container {
120
122
  display: -webkit-box;
@@ -140,23 +142,24 @@
140
142
  .kd-alert.alert-info-bg-color {
141
143
  background-color: var(--kd-c-alert-color-background-info, var(--kd-g-color-background-ongoing, #f2f9ff));
142
144
  }
143
- .kd-alert.alert-success-font-color {
144
- color: var(--kd-c-alert-color-text-success, var(--kd-g-color-success, #1ba854));
145
+ .kd-alert.alert-success-border-color {
146
+ border-color: var(--kd-c-alert-color-border-success, #DCFAE4);
145
147
  }
146
- .kd-alert.alert-warning-font-color {
147
- color: var(--kd-c-alert-color-text-warning, var(--kd-g-color-warning, #ff991c));
148
+ .kd-alert.alert-warning-border-color {
149
+ border-color: var(--kd-c-alert-color-border-warning, #FFF1D4);
148
150
  }
149
- .kd-alert.alert-error-font-color {
150
- color: var(--kd-c-alert-color-text-error, var(--kd-g-color-error, #fb2323));
151
+ .kd-alert.alert-error-border-color {
152
+ border-color: var(--kd-c-alert-color-border-error, #FFDBE0);
151
153
  }
152
- .kd-alert.alert-info-font-color {
153
- color: var(--kd-c-alert-color-text-info, var(--kd-g-color-ongoing, #276ff5));
154
+ .kd-alert.alert-info-border-color {
155
+ border-color: var(--kd-c-alert-color-border-info, #E0EFFF);
154
156
  }
155
157
  .kd-alert-icon {
156
158
  display: -webkit-box;
157
159
  display: -ms-flexbox;
158
160
  display: flex;
159
161
  cursor: default;
162
+ height: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
160
163
  margin-right: var(--kd-c-alert-message-icon-sizing-margin-right, 8px);
161
164
  font-size: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
162
165
  }
@@ -164,9 +167,22 @@
164
167
  -ms-flex-item-align: center;
165
168
  align-self: center;
166
169
  }
170
+ .kd-alert-icon.alert-success-icon-color {
171
+ color: var(--kd-c-alert-color-icon-success, var(--kd-g-color-success, #1ba854));
172
+ }
173
+ .kd-alert-icon.alert-warning-icon-color {
174
+ color: var(--kd-c-alert-color-icon-warning, var(--kd-g-color-warning, #ff991c));
175
+ }
176
+ .kd-alert-icon.alert-error-icon-color {
177
+ color: var(--kd-c-alert-color-icon-error, var(--kd-g-color-error, #fb2323));
178
+ }
179
+ .kd-alert-icon.alert-info-icon-color {
180
+ color: var(--kd-c-alert-color-icon-info, var(--kd-g-color-ongoing, #276ff5));
181
+ }
167
182
  .kd-alert-message {
183
+ color: var(--kd-c-alert-color-text, var(--kd-g-color-text-primary, #212121));
168
184
  font-size: var(--kd-c-alert-message-font-size, var(--kd-g-font-size-small, 12px));
169
- line-height: 18px;
185
+ line-height: 16px;
170
186
  display: -webkit-box;
171
187
  display: -ms-flexbox;
172
188
  display: flex;
@@ -196,10 +212,10 @@
196
212
  display: -webkit-box;
197
213
  display: -ms-flexbox;
198
214
  display: flex;
215
+ height: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
199
216
  margin-left: var(--kd-c-alert-close-icon-sizing-margin-left, 8px);
200
217
  color: var(--kd-c-alert-close-icon-color-text, var(--kd-g-color-text-secondary, #666));
201
218
  font-size: var(--kd-c-alert-close-icon-font-size, var(--kd-g-font-size-middle, 14px));
202
- justify-self: flex-end;
203
219
  cursor: pointer;
204
220
  }
205
221
  .kd-alert-close-icon:hover {
@@ -16,11 +16,18 @@
16
16
  @info: @alert-info-bg-color;
17
17
  }
18
18
 
19
- .alert-font-type-set() {
20
- @success: @alert-success-font-color;
21
- @warning: @alert-warning-font-color;
22
- @error: @alert-error-font-color;
23
- @info: @alert-info-font-color;
19
+ .alert-icon-type-set() {
20
+ @success: @alert-success-icon-color;
21
+ @warning: @alert-warning-icon-color;
22
+ @error: @alert-error-icon-color;
23
+ @info: @alert-info-icon-color;
24
+ }
25
+
26
+ .alert-border-type-set() {
27
+ @success: @alert-success-border-color;
28
+ @warning: @alert-warning-border-color;
29
+ @error: @alert-error-border-color;
30
+ @info: @alert-info-border-color;
24
31
  }
25
32
 
26
33
  @alert-transition-fn: cubic-bezier(0.32, 0.94, 0.6, 1);
@@ -36,9 +43,11 @@
36
43
  z-index: @z-index-apex;
37
44
  display: none;
38
45
  width: 100%;
39
- padding: @alert-padding-top @alert-padding-horizontal @alert-padding-bottom;
46
+ padding: @alert-padding-vertical @alert-padding-horizontal;
40
47
  align-items: center;
41
48
  transition: display 3s;
49
+ border-radius: @alert-radius-border;
50
+ border: 1px solid;
42
51
  }
43
52
  &-banner-container {
44
53
  display: flex;
@@ -50,19 +59,24 @@
50
59
  each(.alert-bg-type-set(), {
51
60
  .alert-bg-type(@key, @value);
52
61
  });
53
- each(.alert-font-type-set(), {
54
- .alert-font-type(@key, @value);
62
+ each(.alert-border-type-set(), {
63
+ .alert-border-type(@key, @value);
55
64
  });
56
65
  &-icon {
57
66
  display: flex;
58
67
  cursor: default;
59
68
  .icon-center();
69
+ height: @alert-message-icon-font-size;
60
70
  margin-right: @alert-message-icon-margin-right;
61
71
  font-size: @alert-message-icon-font-size;
72
+ each(.alert-icon-type-set(), {
73
+ .alert-icon-type(@key, @value);
74
+ });
62
75
  }
63
76
  &-message {
77
+ color: @alert-message-color-text;
64
78
  font-size: @alert-message-font-size;
65
- line-height: 18px;
79
+ line-height: 16px;
66
80
  display: flex;
67
81
  flex-grow: 1;
68
82
  cursor: default;
@@ -86,10 +100,10 @@
86
100
  }
87
101
  &-close-icon {
88
102
  display: flex;
103
+ height: @alert-message-icon-font-size;
89
104
  margin-left: @alert-close-icon-margin-left;
90
105
  color: @alert-close-icon-color;
91
106
  font-size: @alert-close-icon-font-size;
92
- justify-self: flex-end;
93
107
  cursor: pointer;
94
108
  &:hover {
95
109
  color: @alert-close-icon-color-hover;
@@ -4,12 +4,18 @@
4
4
  }
5
5
  }
6
6
 
7
- .alert-font-type(@type, @color) {
8
- &.alert-@{type}-font-color {
7
+ .alert-icon-type(@type, @color) {
8
+ &.alert-@{type}-icon-color {
9
9
  color: @color
10
10
  }
11
11
  }
12
12
 
13
+ .alert-border-type(@type, @color) {
14
+ &.alert-@{type}-border-color {
15
+ border-color: @color
16
+ }
17
+ }
18
+
13
19
  .square(@side-length) {
14
20
  width: @side-length;
15
21
  height: @side-length;
@@ -8,10 +8,16 @@
8
8
  @alert-error-bg-color: var(~'@{alert-custom-prefix}-color-background-error', @color-background-error); // 反馈浮层错误提示的背景色
9
9
  @alert-info-bg-color: var(~'@{alert-custom-prefix}-color-background-info', @color-background-ongoing); // 反馈浮层一般提示的背景色
10
10
 
11
- @alert-success-font-color: var(~'@{alert-custom-prefix}-color-text-success', @color-success); // 反馈浮层成功提示的文字色
12
- @alert-warning-font-color: var(~'@{alert-custom-prefix}-color-text-warning', @color-warning); // 反馈浮层警告提示的文字色
13
- @alert-error-font-color: var(~'@{alert-custom-prefix}-color-text-error', @color-error); // 反馈浮层错误提示的文字色
14
- @alert-info-font-color: var(~'@{alert-custom-prefix}-color-text-info', @color-ongoing); // 反馈浮层一般提示的文字色
11
+ @alert-message-color-text: var(~'@{alert-custom-prefix}-color-text', @color-text-primary); // 反馈浮层提示的文字色
12
+ @alert-success-icon-color: var(~'@{alert-custom-prefix}-color-icon-success', @color-success); // 反馈浮层成功提示的图标颜色
13
+ @alert-warning-icon-color: var(~'@{alert-custom-prefix}-color-icon-warning', @color-warning); // 反馈浮层警告提示的图标颜色
14
+ @alert-error-icon-color: var(~'@{alert-custom-prefix}-color-icon-error', @color-error); // 反馈浮层错误提示的图标颜色
15
+ @alert-info-icon-color: var(~'@{alert-custom-prefix}-color-icon-info', @color-ongoing); // 反馈浮层一般提示的图标颜色
16
+
17
+ @alert-success-border-color: var(~'@{alert-custom-prefix}-color-border-success', #DCFAE4); // 反馈浮层成功提示的边框色
18
+ @alert-warning-border-color: var(~'@{alert-custom-prefix}-color-border-warning', #FFF1D4); // 反馈浮层警告提示的边框色
19
+ @alert-error-border-color: var(~'@{alert-custom-prefix}-color-border-error', #FFDBE0); // 反馈浮层错误提示的边框色
20
+ @alert-info-border-color: var(~'@{alert-custom-prefix}-color-border-info', #E0EFFF); // 反馈浮层一般提示的边框色
15
21
 
16
22
  @alert-close-icon-color: var(~'@{alert-custom-prefix}-close-icon-color-text', @color-text-secondary);
17
23
  @alert-close-icon-color-hover: var(~'@{alert-custom-prefix}-close-icon-color-text-hover', @color-theme-hover);
@@ -22,8 +28,10 @@
22
28
  @alert-close-icon-font-size: var(~'@{alert-custom-prefix}-close-icon-font-size', @font-size-middle);
23
29
 
24
30
  // spacing
25
- @alert-padding-top: var(~'@{alert-custom-prefix}-sizing-padding-top', 8px);
26
- @alert-padding-bottom: var(~'@{alert-custom-prefix}-sizing-padding-bottom', 12px);
27
- @alert-padding-horizontal: var(~'@{alert-custom-prefix}-sizing-padding-horizontal', 12px);
31
+ @alert-padding-vertical: var(~'@{alert-custom-prefix}-sizing-padding-vertical', 12px);
32
+ @alert-padding-horizontal: var(~'@{alert-custom-prefix}-sizing-padding-horizontal', 20px);
28
33
  @alert-message-icon-margin-right: var(~'@{alert-custom-prefix}-message-icon-sizing-margin-right', 8px);
29
- @alert-close-icon-margin-left: var(~'@{alert-custom-prefix}-close-icon-sizing-margin-left', 8px);
34
+ @alert-close-icon-margin-left: var(~'@{alert-custom-prefix}-close-icon-sizing-margin-left', 8px);
35
+
36
+ // radius
37
+ @alert-radius-border: var(~'@{alert-custom-prefix}-radius-border', 4px);
@@ -305,6 +305,7 @@ declare const compDefaultProps: {
305
305
  virtual: boolean;
306
306
  switcherIcon: () => JSX.Element;
307
307
  estimatedItemSize: number;
308
+ expandOnClickNode: boolean;
308
309
  };
309
310
  TreeNode: {};
310
311
  ToolTip: {
@@ -319,7 +319,8 @@ var compDefaultProps = {
319
319
  type: "arrow-right-solid"
320
320
  });
321
321
  },
322
- estimatedItemSize: 32
322
+ estimatedItemSize: 32,
323
+ expandOnClickNode: true
323
324
  },
324
325
  TreeNode: {},
325
326
  ToolTip: {
@@ -206,6 +206,7 @@ var InternalDrawer = function InternalDrawer(props, ref) {
206
206
  width: width,
207
207
  transform: transform
208
208
  } : {
209
+ height: height,
209
210
  transform: transform
210
211
  });
211
212
 
@@ -7,6 +7,17 @@ import ConfigContext from '../config-provider/ConfigContext';
7
7
  import { getCompProps } from '../_utils';
8
8
  import { Menu, Item } from './menu';
9
9
  import usePopper from '../_utils/usePopper';
10
+
11
+ var findItem = function findItem(element) {
12
+ var isItem = element.className === 'kd-dropdown-menu-item';
13
+
14
+ if (isItem) {
15
+ return element;
16
+ } else {
17
+ return element.parentNode ? findItem(element.parentNode) : null;
18
+ }
19
+ };
20
+
10
21
  var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
22
  var _a, _b, _c;
12
23
 
@@ -37,7 +48,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
48
  setVisible(!!props.visible);
38
49
  }, [props.visible]);
39
50
  var child = /*#__PURE__*/React.cloneElement(React.Children.only(children), {
40
- ref: ref,
51
+ ref: children.ref || ref,
41
52
  className: classNames("".concat(prefixCls, "-trigger"), children.props.className, {
42
53
  disabled: disabled
43
54
  })
@@ -55,13 +66,12 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
55
66
  var menuSelectable = ((_b = menu.props) === null || _b === void 0 ? void 0 : _b.selectable) === undefined ? selectable : (_c = menu.props) === null || _c === void 0 ? void 0 : _c.selectable;
56
67
 
57
68
  var handleItemClick = function handleItemClick(e) {
58
- var _a, _b;
69
+ var _a;
59
70
 
60
- var currentTarget = e.target;
61
- var parentTarget = currentTarget.parentNode;
62
- var key = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a.key) || ((_b = currentTarget.parentNode.dataset) === null || _b === void 0 ? void 0 : _b.key);
71
+ var item = findItem(e.target);
72
+ var key = (_a = item === null || item === void 0 ? void 0 : item.dataset) === null || _a === void 0 ? void 0 : _a.key;
63
73
 
64
- if (currentTarget.className.indexOf('disabled') === -1 && parentTarget.className.indexOf('disabled') === -1 && key) {
74
+ if ((item === null || item === void 0 ? void 0 : item.className.indexOf('disabled')) === -1 && key) {
65
75
  if (isMenu && menu.props.onClick) {
66
76
  menu.props.onClick(key);
67
77
  } else if (onItemClick) {
@@ -137,10 +137,10 @@
137
137
  opacity: 1;
138
138
  visibility: visible;
139
139
  z-index: var(--kd-g-z-index-popper, 1050);
140
- background-color: var(--kd-g-color-background, #fff);
140
+ background-color: var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff));
141
141
  border-radius: var(--kd-g-radius-border, 2px);
142
- min-width: var(--kd-c-dropdown-menu-sizing-min-width, 136px);
143
- max-width: var(--kd-c-dropdown-menu-sizing-max-width, 320px);
142
+ min-width: var(--kd-c-dropdown-menu-sizing-min-width, 64px);
143
+ max-width: var(--kd-c-dropdown-menu-sizing-max-width, 600px);
144
144
  -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
145
145
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
146
146
  }
@@ -151,7 +151,7 @@
151
151
  .kd-dropdown.arrow::before {
152
152
  position: absolute;
153
153
  z-index: -2;
154
- background: var(--kd-g-color-background, #fff);
154
+ background: var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff));
155
155
  border-style: solid;
156
156
  border-width: var(--arrowSize);
157
157
  -webkit-transform: rotate(45deg);
@@ -166,7 +166,7 @@
166
166
  bottom: 0;
167
167
  left: 0;
168
168
  content: '';
169
- background: var(--kd-g-color-background, #fff);
169
+ background: var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff));
170
170
  border-radius: var(--kd-g-radius-border, 2px);
171
171
  }
172
172
  .kd-dropdown.arrow.bottomLeft::before,
@@ -176,7 +176,7 @@
176
176
  top: var(--arrowSpill);
177
177
  -webkit-box-shadow: -2px -2px calc(10px - 1px) rgba(0, 0, 0, 0.1);
178
178
  box-shadow: -2px -2px calc(10px - 1px) rgba(0, 0, 0, 0.1);
179
- border-color: var(--kd-g-color-background, #fff) transparent transparent var(--kd-g-color-background, #fff);
179
+ border-color: var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) transparent transparent var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff));
180
180
  }
181
181
  .kd-dropdown.arrow.topLeft::before,
182
182
  .kd-dropdown.arrow.top::before,
@@ -185,7 +185,7 @@
185
185
  bottom: var(--arrowSpill);
186
186
  -webkit-box-shadow: 3px 3px calc(10px + 1px) rgba(0, 0, 0, 0.15);
187
187
  box-shadow: 3px 3px calc(10px + 1px) rgba(0, 0, 0, 0.15);
188
- border-color: transparent var(--kd-g-color-background, #fff) var(--kd-g-color-background, #fff) transparent;
188
+ border-color: transparent var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) transparent;
189
189
  }
190
190
  .kd-dropdown.arrow.leftTop::before,
191
191
  .kd-dropdown.arrow.left::before,
@@ -194,7 +194,7 @@
194
194
  right: var(--arrowSpill);
195
195
  -webkit-box-shadow: 3px 0 10px rgba(0, 0, 0, 0.12), 0 -2px 10px rgba(204, 149, 149, 0.12);
196
196
  box-shadow: 3px 0 10px rgba(0, 0, 0, 0.12), 0 -2px 10px rgba(204, 149, 149, 0.12);
197
- border-color: var(--kd-g-color-background, #fff) var(--kd-g-color-background, #fff) transparent transparent;
197
+ border-color: var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) transparent transparent;
198
198
  }
199
199
  .kd-dropdown.arrow.rightTop::before,
200
200
  .kd-dropdown.arrow.right::before,
@@ -203,11 +203,11 @@
203
203
  left: var(--arrowSpill);
204
204
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), -2px 0 10px rgba(0, 0, 0, 0.1);
205
205
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), -2px 0 10px rgba(0, 0, 0, 0.1);
206
- border-color: transparent transparent var(--kd-g-color-background, #fff) var(--kd-g-color-background, #fff);
206
+ border-color: transparent transparent var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff)) var(--kd-c-dropdown-menu-color-background, var(--kd-g-color-background, #fff));
207
207
  }
208
208
  .kd-dropdown-menu {
209
- max-height: var(--kd-c-dropdown-menu-sizing-max-height, 336px);
210
- padding: var(--kd-c-dropdown-menu-spacing-padding-vertical, 8px) 0;
209
+ max-height: var(--kd-c-dropdown-menu-sizing-max-height, 328px);
210
+ padding: var(--kd-c-dropdown-menu-spacing-padding-vertical, 4px) 0;
211
211
  overflow-y: auto;
212
212
  }
213
213
  .kd-dropdown-menu-item {
@@ -234,12 +234,11 @@
234
234
  }
235
235
  .kd-dropdown-menu-item:not(.disabled):active,
236
236
  .kd-dropdown-menu-item:not(.disabled).selected {
237
- color: var(--kd-g-color-theme, #5582f3);
238
- background-color: var(--kd-c-dropdown-item-color-background-active, var(--kd-g-color-theme-1, #f2f8ff));
237
+ color: var(--kd-c-dropdown-item-color-text-active, var(--kd-g-color-theme, #5582f3));
239
238
  }
240
239
  .kd-dropdown-menu-item:not(.disabled):active > a,
241
240
  .kd-dropdown-menu-item:not(.disabled).selected > a {
242
- color: var(--kd-g-color-theme, #5582f3);
241
+ color: var(--kd-c-dropdown-item-color-text-active, var(--kd-g-color-theme, #5582f3));
243
242
  }
244
243
  .kd-dropdown-menu-item.divided::before {
245
244
  content: '';