@kdcloudjs/kdesign 1.4.1 → 1.5.2
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 +41 -0
- package/dist/kdesign-complete.less +60 -8
- package/dist/kdesign.css +58 -10
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +595 -306
- 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/anchor/anchor-link.js +0 -6
- package/es/anchor/anchor.js +102 -2
- package/es/avatar/avatar.js +3 -1
- package/es/carousel/carousel.js +4 -4
- package/es/config-provider/compDefaultProps.d.ts +0 -1
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/date-picker/range-picker.d.ts +1 -0
- package/es/date-picker/range-picker.js +2 -0
- package/es/date-picker/style/index.css +6 -3
- package/es/date-picker/style/index.less +7 -3
- package/es/dropdown/style/index.css +3 -0
- package/es/dropdown/style/index.less +4 -0
- package/es/dropdown/style/token.less +1 -0
- package/es/input/ClearableLabeledInput.js +3 -4
- package/es/input/style/index.css +13 -0
- package/es/input/style/index.less +10 -0
- package/es/input/style/mixin.less +6 -1
- package/es/menu/menu.d.ts +1 -0
- package/es/menu/menu.js +7 -1
- package/es/radio/radio.js +6 -1
- package/es/select/select.js +1 -1
- package/es/select/style/index.css +5 -5
- package/es/select/style/index.less +1 -1
- package/es/select/style/token.less +3 -2
- package/es/table/table.js +8 -2
- package/es/tree/style/index.css +30 -1
- package/es/tree/style/index.less +25 -1
- package/es/tree/style/token.less +3 -0
- package/es/tree/tree.d.ts +2 -0
- package/es/tree/tree.js +77 -12
- package/es/tree/treeHooks.d.ts +1 -1
- package/es/tree/treeHooks.js +3 -3
- package/es/tree/treeNode.d.ts +1 -0
- package/es/tree/treeNode.js +11 -8
- package/es/tree/utils/treeUtils.d.ts +4 -2
- package/es/tree/utils/treeUtils.js +64 -10
- package/lib/anchor/anchor-link.js +0 -6
- package/lib/anchor/anchor.js +102 -2
- package/lib/avatar/avatar.js +3 -1
- package/lib/carousel/carousel.js +4 -4
- package/lib/config-provider/compDefaultProps.d.ts +0 -1
- package/lib/config-provider/compDefaultProps.js +0 -1
- package/lib/date-picker/range-picker.d.ts +1 -0
- package/lib/date-picker/range-picker.js +2 -0
- package/lib/date-picker/style/index.css +6 -3
- package/lib/date-picker/style/index.less +7 -3
- package/lib/dropdown/style/index.css +3 -0
- package/lib/dropdown/style/index.less +4 -0
- package/lib/dropdown/style/token.less +1 -0
- package/lib/input/ClearableLabeledInput.js +3 -4
- package/lib/input/style/index.css +13 -0
- package/lib/input/style/index.less +10 -0
- package/lib/input/style/mixin.less +6 -1
- package/lib/menu/menu.d.ts +1 -0
- package/lib/menu/menu.js +7 -1
- package/lib/radio/radio.js +7 -1
- package/lib/select/select.js +1 -1
- package/lib/select/style/index.css +5 -5
- package/lib/select/style/index.less +1 -1
- package/lib/select/style/token.less +3 -2
- package/lib/table/table.js +8 -2
- package/lib/tree/style/index.css +30 -1
- package/lib/tree/style/index.less +25 -1
- package/lib/tree/style/token.less +3 -0
- package/lib/tree/tree.d.ts +2 -0
- package/lib/tree/tree.js +79 -11
- package/lib/tree/treeHooks.d.ts +1 -1
- package/lib/tree/treeHooks.js +3 -3
- package/lib/tree/treeNode.d.ts +1 -0
- package/lib/tree/treeNode.js +11 -8
- package/lib/tree/utils/treeUtils.d.ts +4 -2
- package/lib/tree/utils/treeUtils.js +71 -13
- package/package.json +2 -2
package/es/anchor/anchor-link.js
CHANGED
|
@@ -41,12 +41,6 @@ var AnchorLink = function AnchorLink(props) {
|
|
|
41
41
|
}, [href, registerLink, prevHref]);
|
|
42
42
|
|
|
43
43
|
var handleClick = function handleClick(e) {
|
|
44
|
-
var anchorElement = document.getElementById(href.replace('#', ''));
|
|
45
|
-
|
|
46
|
-
if (anchorElement) {
|
|
47
|
-
anchorElement.scrollIntoView();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
44
|
onClick === null || onClick === void 0 ? void 0 : onClick(e, {
|
|
51
45
|
title: title,
|
|
52
46
|
href: href
|
package/es/anchor/anchor.js
CHANGED
|
@@ -43,6 +43,85 @@ function getOffsetTop(element, container) {
|
|
|
43
43
|
return rect.top;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
function isWindow(obj) {
|
|
47
|
+
return obj !== null && obj !== undefined && obj === obj.window;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function getScroll(target, top) {
|
|
51
|
+
var _a;
|
|
52
|
+
|
|
53
|
+
if (typeof window === 'undefined') {
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var method = top ? 'scrollTop' : 'scrollLeft';
|
|
58
|
+
var result = 0;
|
|
59
|
+
|
|
60
|
+
if (isWindow(target)) {
|
|
61
|
+
result = target[top ? 'pageYOffset' : 'pageXOffset'];
|
|
62
|
+
} else if (target instanceof Document) {
|
|
63
|
+
result = target.documentElement[method];
|
|
64
|
+
} else if (target) {
|
|
65
|
+
result = target[method];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (target && !isWindow(target) && typeof result !== 'number') {
|
|
69
|
+
result = (_a = (target.ownerDocument || target).documentElement) === null || _a === void 0 ? void 0 : _a[method];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function easeInOutCubic(t, b, c, d) {
|
|
76
|
+
var cc = c - b;
|
|
77
|
+
t /= d / 2;
|
|
78
|
+
|
|
79
|
+
if (t < 1) {
|
|
80
|
+
return cc / 2 * t * t * t + b;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return cc / 2 * ((t -= 2) * t * t + 2) + b;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function scrollTo(y) {
|
|
87
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
88
|
+
var _options$getContainer = options.getContainer,
|
|
89
|
+
getContainer = _options$getContainer === void 0 ? function () {
|
|
90
|
+
return window;
|
|
91
|
+
} : _options$getContainer,
|
|
92
|
+
callback = options.callback,
|
|
93
|
+
_options$duration = options.duration,
|
|
94
|
+
duration = _options$duration === void 0 ? 450 : _options$duration;
|
|
95
|
+
var container = getContainer();
|
|
96
|
+
var scrollTop = getScroll(container, true);
|
|
97
|
+
var startTime = Date.now();
|
|
98
|
+
|
|
99
|
+
var frameFunc = function frameFunc() {
|
|
100
|
+
var timestamp = Date.now();
|
|
101
|
+
var time = timestamp - startTime;
|
|
102
|
+
var nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);
|
|
103
|
+
|
|
104
|
+
if (isWindow(container)) {
|
|
105
|
+
;
|
|
106
|
+
container.scrollTo(window.pageXOffset, nextScrollTop);
|
|
107
|
+
} else if (container instanceof HTMLDocument || container.constructor.name === 'HTMLDocument') {
|
|
108
|
+
;
|
|
109
|
+
container.documentElement.scrollTop = nextScrollTop;
|
|
110
|
+
} else {
|
|
111
|
+
;
|
|
112
|
+
container.scrollTop = nextScrollTop;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (time < duration) {
|
|
116
|
+
window.requestAnimationFrame(frameFunc);
|
|
117
|
+
} else if (typeof callback === 'function') {
|
|
118
|
+
callback();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
window.requestAnimationFrame(frameFunc);
|
|
123
|
+
}
|
|
124
|
+
|
|
46
125
|
var InternalAnchor = function InternalAnchor(props, ref) {
|
|
47
126
|
var _a;
|
|
48
127
|
|
|
@@ -61,6 +140,7 @@ var InternalAnchor = function InternalAnchor(props, ref) {
|
|
|
61
140
|
getCurrentAnchor = anchorProps.getCurrentAnchor,
|
|
62
141
|
_anchorProps$offsetTo = anchorProps.offsetTop,
|
|
63
142
|
offsetTop = _anchorProps$offsetTo === void 0 ? 0 : _anchorProps$offsetTo,
|
|
143
|
+
targetOffset = anchorProps.targetOffset,
|
|
64
144
|
getContainer = anchorProps.getContainer,
|
|
65
145
|
_anchorProps$bounds = anchorProps.bounds,
|
|
66
146
|
bounds = _anchorProps$bounds === void 0 ? 5 : _anchorProps$bounds,
|
|
@@ -265,6 +345,26 @@ var InternalAnchor = function InternalAnchor(props, ref) {
|
|
|
265
345
|
|
|
266
346
|
var handleScrollTo = function handleScrollTo(link) {
|
|
267
347
|
setCurrentActiveLink(link);
|
|
348
|
+
var container = getScrollContainer();
|
|
349
|
+
var scrollTop = getScroll(container, true);
|
|
350
|
+
var sharpLinkMatch = sharpMatcherRegx.exec(link);
|
|
351
|
+
|
|
352
|
+
if (!sharpLinkMatch) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
var targetElement = document.getElementById(sharpLinkMatch[1]);
|
|
357
|
+
|
|
358
|
+
if (!targetElement) {
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
var eleOffsetTop = getOffsetTop(targetElement, container);
|
|
363
|
+
var y = scrollTop + eleOffsetTop;
|
|
364
|
+
y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;
|
|
365
|
+
scrollTo(y, {
|
|
366
|
+
getContainer: getScrollContainer
|
|
367
|
+
});
|
|
268
368
|
};
|
|
269
369
|
|
|
270
370
|
var setCurrentActiveLink = useCallback(function (link) {
|
|
@@ -289,9 +389,9 @@ var InternalAnchor = function InternalAnchor(props, ref) {
|
|
|
289
389
|
}
|
|
290
390
|
}
|
|
291
391
|
|
|
292
|
-
var currentActiveLink = getAnchor(offsetTop || 0, bounds);
|
|
392
|
+
var currentActiveLink = getAnchor(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);
|
|
293
393
|
currentActiveLink && setCurrentActiveLink(currentActiveLink);
|
|
294
|
-
}, [affix, setFixedTop, offsetTop, bounds, getAnchor, setCurrentActiveLink, type, getScrollContainer, anchorRef]);
|
|
394
|
+
}, [affix, setFixedTop, offsetTop, bounds, getAnchor, setCurrentActiveLink, type, getScrollContainer, anchorRef, targetOffset]);
|
|
295
395
|
useEffect(function () {
|
|
296
396
|
getScrollContainer().addEventListener('scroll', handleScroll);
|
|
297
397
|
handleScroll();
|
package/es/avatar/avatar.js
CHANGED
|
@@ -32,7 +32,8 @@ var InternalAvatar = function InternalAvatar(props, ref) {
|
|
|
32
32
|
alt = avatarProps.alt,
|
|
33
33
|
children = avatarProps.children,
|
|
34
34
|
gap = avatarProps.gap,
|
|
35
|
-
disabled = avatarProps.disabled
|
|
35
|
+
disabled = avatarProps.disabled,
|
|
36
|
+
srcSet = avatarProps.srcSet;
|
|
36
37
|
devWarning(AvatarSizes.indexOf(size) === -1 && typeof size !== 'number', 'avatar', "cannot found avatar type '".concat(size, "'"));
|
|
37
38
|
devWarning(AvatarShapes.indexOf(shape) === -1, 'avatar', "cannot found avatar shape '".concat(shape, "'"));
|
|
38
39
|
|
|
@@ -106,6 +107,7 @@ var InternalAvatar = function InternalAvatar(props, ref) {
|
|
|
106
107
|
if (typeof src === 'string' && isImgExist) {
|
|
107
108
|
childrenToRender = /*#__PURE__*/React.createElement("img", {
|
|
108
109
|
src: src,
|
|
110
|
+
srcSet: srcSet,
|
|
109
111
|
draggable: draggable,
|
|
110
112
|
onError: handleImgLoadError,
|
|
111
113
|
alt: alt
|
package/es/carousel/carousel.js
CHANGED
|
@@ -91,7 +91,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
91
91
|
setCurrentIndex(index);
|
|
92
92
|
setNeedAnimation(needAnimation);
|
|
93
93
|
}
|
|
94
|
-
}, [isFadeEffect, beforeChange, currentIndex, children.length]);
|
|
94
|
+
}, [isFadeEffect, beforeChange, currentIndex, children === null || children === void 0 ? void 0 : children.length]);
|
|
95
95
|
var next = React.useCallback(function () {
|
|
96
96
|
jumpTo(currentIndex + 1, true);
|
|
97
97
|
}, [currentIndex, jumpTo]);
|
|
@@ -181,7 +181,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
181
181
|
setNeedAnimation(true);
|
|
182
182
|
}, [beforeChange, currentIndex]);
|
|
183
183
|
var handleTransitionEnd = React.useCallback(function () {
|
|
184
|
-
if (!autoplay) return;
|
|
184
|
+
if (!autoplay || !(children === null || children === void 0 ? void 0 : children.length)) return;
|
|
185
185
|
var childrenL = children.length;
|
|
186
186
|
var newCurrentIndex = currentIndex;
|
|
187
187
|
|
|
@@ -198,7 +198,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
198
198
|
afterChange && afterChange(currentIndex);
|
|
199
199
|
setCurrentIndex(newCurrentIndex);
|
|
200
200
|
isScrollxEffect && setNeedAnimation(false);
|
|
201
|
-
}, [currentIndex, children.length, afterChange, isScrollxEffect, autoplay]);
|
|
201
|
+
}, [currentIndex, children === null || children === void 0 ? void 0 : children.length, afterChange, isScrollxEffect, autoplay]);
|
|
202
202
|
var handleMouseEnter = React.useCallback(function () {
|
|
203
203
|
autoplayRef.current && clearTimeout(autoplayRef.current);
|
|
204
204
|
}, []);
|
|
@@ -246,7 +246,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
246
246
|
style: style,
|
|
247
247
|
onMouseEnter: handleMouseEnter,
|
|
248
248
|
onMouseLeave: handleMouseLeave
|
|
249
|
-
}, renderDisplayList(), showDot() && /*#__PURE__*/React.createElement(Slidebar, {
|
|
249
|
+
}, (children === null || children === void 0 ? void 0 : children.length) && renderDisplayList(), (children === null || children === void 0 ? void 0 : children.length) && showDot() && /*#__PURE__*/React.createElement(Slidebar, {
|
|
250
250
|
number: children.length,
|
|
251
251
|
currentIndex: currentIndex,
|
|
252
252
|
dotsClassName: dots,
|
|
@@ -17,6 +17,7 @@ export interface RangePickerSharedProps {
|
|
|
17
17
|
ranges?: Record<string, DateType[] | (() => DateType[])>;
|
|
18
18
|
separator?: React.ReactNode;
|
|
19
19
|
allowEmpty?: [boolean, boolean];
|
|
20
|
+
suffixIcon?: React.ReactNode;
|
|
20
21
|
mode?: [PanelMode, PanelMode];
|
|
21
22
|
onChange?: (values: RangeValue, formatString: [string | null, string | null]) => void;
|
|
22
23
|
onCalendarChange?: (values: RangeValue, formatString: [string | null, string | null], info: RangeInfo) => void;
|
|
@@ -104,6 +104,7 @@ function DatePicker(props) {
|
|
|
104
104
|
minuteStep = _datePickerProps$minu === void 0 ? 1 : _datePickerProps$minu,
|
|
105
105
|
_datePickerProps$seco = datePickerProps.secondStep,
|
|
106
106
|
secondStep = _datePickerProps$seco === void 0 ? 1 : _datePickerProps$seco,
|
|
107
|
+
suffixIcon = datePickerProps.suffixIcon,
|
|
107
108
|
renderExtraFooter = datePickerProps.renderExtraFooter,
|
|
108
109
|
disabledHours = datePickerProps.disabledHours,
|
|
109
110
|
disabledMinutes = datePickerProps.disabledMinutes,
|
|
@@ -675,6 +676,7 @@ function DatePicker(props) {
|
|
|
675
676
|
startOpen: startOpen,
|
|
676
677
|
endOpen: endOpen,
|
|
677
678
|
needConfirmButton: needConfirmButton,
|
|
679
|
+
suffixIcon: suffixIcon,
|
|
678
680
|
format: _format,
|
|
679
681
|
open: mergedOpen,
|
|
680
682
|
readOnly: inputReadOnly,
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 1px);
|
|
129
129
|
}
|
|
130
130
|
.kd-date-picker-small.kd-date-picker-range .kd-date-picker-clear {
|
|
131
|
-
right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) +
|
|
131
|
+
right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 12px);
|
|
132
132
|
}
|
|
133
133
|
.kd-date-picker-large {
|
|
134
134
|
height: var(--kd-c-date-picker-large-sizing-height, 36px);
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 1px);
|
|
159
159
|
}
|
|
160
160
|
.kd-date-picker-middle.kd-date-picker-range .kd-date-picker-clear {
|
|
161
|
-
right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) +
|
|
161
|
+
right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 11px);
|
|
162
162
|
}
|
|
163
163
|
.kd-date-picker-borderless {
|
|
164
164
|
border: 0;
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
-ms-flex-item-align: center;
|
|
277
277
|
align-self: center;
|
|
278
278
|
margin-left: var(--kd-c-date-picker-suffix-spacing-margin-left, 10px);
|
|
279
|
-
color: var(--kd-c-date-picker-
|
|
279
|
+
color: var(--kd-c-date-picker-input-color, var(--kd-g-color-text-secondary, #666));
|
|
280
280
|
line-height: 1;
|
|
281
281
|
pointer-events: none;
|
|
282
282
|
}
|
|
@@ -286,6 +286,9 @@
|
|
|
286
286
|
.kd-date-picker:hover .kd-date-picker-clear {
|
|
287
287
|
opacity: 1;
|
|
288
288
|
}
|
|
289
|
+
.kd-date-picker:hover .kd-date-picker-suffix {
|
|
290
|
+
color: var(--kd-c-date-picker-color-background-checked, var(--kd-g-color-theme, #5582f3));
|
|
291
|
+
}
|
|
289
292
|
.kd-date-picker-clear {
|
|
290
293
|
position: absolute;
|
|
291
294
|
top: 50%;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
&.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
|
|
30
|
-
right: calc(@date-small-font-size +
|
|
30
|
+
right: calc(@date-small-font-size + 12px);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
&.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
|
|
62
|
-
right: calc(@date-middle-font-size +
|
|
62
|
+
right: calc(@date-middle-font-size + 11px);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
&-suffix {
|
|
132
132
|
align-self: center;
|
|
133
133
|
margin-left: @date-suffix-spacing-margin-left;
|
|
134
|
-
color: @date-
|
|
134
|
+
color: @date-input-color;
|
|
135
135
|
line-height: 1;
|
|
136
136
|
pointer-events: none;
|
|
137
137
|
|
|
@@ -144,6 +144,10 @@
|
|
|
144
144
|
.@{datePicker-prefix-cls}-clear {
|
|
145
145
|
opacity: 1;
|
|
146
146
|
}
|
|
147
|
+
|
|
148
|
+
.@{datePicker-prefix-cls}-suffix {
|
|
149
|
+
color: @date-color-background-checked;
|
|
150
|
+
}
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
&-clear {
|
|
@@ -229,6 +229,9 @@
|
|
|
229
229
|
.kd-dropdown-menu-item:not(.disabled):hover {
|
|
230
230
|
background-color: var(--kd-c-dropdown-item-color-background-hover, var(--kd-g-color-hover, #f5f5f5));
|
|
231
231
|
}
|
|
232
|
+
.kd-dropdown-menu-item:not(.disabled):hover > a {
|
|
233
|
+
color: var(--kd-c-dropdown-item-color-text-hover, var(--kd-g-color-text-primary, #212121));
|
|
234
|
+
}
|
|
232
235
|
.kd-dropdown-menu-item:not(.disabled):active,
|
|
233
236
|
.kd-dropdown-menu-item:not(.disabled).selected {
|
|
234
237
|
color: var(--kd-g-color-theme, #5582f3);
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
@dropdown-item-color-disabled: var(~'@{dropdown-custom-prefix}-item-color-text-disabled', @color-disabled);
|
|
9
9
|
@dropdown-item-color-text-danger: var(~'@{dropdown-custom-prefix}-item-color-text-danger', @color-error);
|
|
10
10
|
@dropdown-item-color-background-danger-hover: var(~'@{dropdown-custom-prefix}-item-color-background-danger-hover', @color-error);
|
|
11
|
+
@dropdown-item-hover-color-text: var(~'@{dropdown-custom-prefix}-item-color-text-hover', @color-text-primary);
|
|
11
12
|
@dropdown-divided-color-bg: var(~'@{dropdown-custom-prefix}-divided-color-background', @color-border-weak);
|
|
12
13
|
@dropdown-color: var(~'@{dropdown-custom-prefix}-menu-item-color-text', @color-text-primary);
|
|
13
14
|
|
|
@@ -52,7 +52,7 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
52
52
|
|
|
53
53
|
return /*#__PURE__*/React.createElement("span", {
|
|
54
54
|
className: "".concat(prefixCls, "-suffix")
|
|
55
|
-
}, renderClearIcon(), suffix);
|
|
55
|
+
}, !disabled && renderClearIcon(), suffix);
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
var renderInputWithFixNode = function renderInputWithFixNode(originElement) {
|
|
@@ -76,7 +76,7 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
var renderInputWithLabel = function renderInputWithLabel(originElement) {
|
|
79
|
-
var _classNames4, _context2, _classNames5
|
|
79
|
+
var _classNames4, _context2, _classNames5;
|
|
80
80
|
|
|
81
81
|
if (!addonBefore && !addonAfter) {
|
|
82
82
|
return originElement;
|
|
@@ -96,8 +96,7 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
96
96
|
className: inputGroupClasses,
|
|
97
97
|
style: style
|
|
98
98
|
}, addonBeforeNode, /*#__PURE__*/React.cloneElement(originElement, {
|
|
99
|
-
style: null
|
|
100
|
-
className: _concatInstanceProperty(_context3 = "".concat(originElement.props.className || '', " ")).call(_context3, prefixCls, "-wrapper")
|
|
99
|
+
style: null
|
|
101
100
|
}), addonAfterNode));
|
|
102
101
|
};
|
|
103
102
|
|
package/es/input/style/index.css
CHANGED
|
@@ -356,6 +356,15 @@ textarea {
|
|
|
356
356
|
.kd-input-wrapper-focused {
|
|
357
357
|
border-color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
|
|
358
358
|
}
|
|
359
|
+
.kd-input-wrapper-focused .kd-input-clear-icon,
|
|
360
|
+
.kd-input-wrapper-focused .kd-input-textarea-clear-icon {
|
|
361
|
+
color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
|
|
362
|
+
}
|
|
363
|
+
.kd-input-wrapper-disabled {
|
|
364
|
+
background-color: var(--kd-c-input-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
|
|
365
|
+
border-color: var(--kd-c-input-color-border-disabled, var(--kd-g-color-border-strong, #d9d9d9));
|
|
366
|
+
cursor: not-allowed;
|
|
367
|
+
}
|
|
359
368
|
.kd-input-wrapper-textarea {
|
|
360
369
|
width: 100%;
|
|
361
370
|
min-width: 0;
|
|
@@ -404,6 +413,10 @@ textarea {
|
|
|
404
413
|
.kd-input-clear-icon,
|
|
405
414
|
.kd-input-textarea-clear-icon {
|
|
406
415
|
cursor: pointer;
|
|
416
|
+
color: var(--kd-c-input-color-border, #999);
|
|
417
|
+
}
|
|
418
|
+
.kd-input-clear-icon:hover,
|
|
419
|
+
.kd-input-textarea-clear-icon:hover {
|
|
407
420
|
color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
|
|
408
421
|
}
|
|
409
422
|
.kd-input-clear-icon i,
|
|
@@ -121,7 +121,17 @@ textarea {
|
|
|
121
121
|
|
|
122
122
|
&-focused {
|
|
123
123
|
border-color: @input-border-color-focused;
|
|
124
|
+
|
|
125
|
+
.@{input-prefix-cls}-clear-icon, .@{input-prefix-cls}-textarea-clear-icon {
|
|
126
|
+
color: @input-border-color-focused;
|
|
127
|
+
}
|
|
124
128
|
}
|
|
129
|
+
|
|
130
|
+
&-disabled {
|
|
131
|
+
background-color: @input-background-color-disabled-inner;
|
|
132
|
+
border-color: @input-border-color-disabled-inner;
|
|
133
|
+
cursor: not-allowed;
|
|
134
|
+
}
|
|
125
135
|
}
|
|
126
136
|
&-wrapper-textarea {
|
|
127
137
|
.input(@input-prefix-cls);
|
package/es/menu/menu.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface MenuProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
15
15
|
additionalTools?: React.ReactNode;
|
|
16
16
|
onOpenChange?: SubMenuChangeEventHandler;
|
|
17
17
|
theme?: MenuTheme;
|
|
18
|
+
accordion?: boolean;
|
|
18
19
|
}
|
|
19
20
|
interface MenuType extends React.FC<MenuProps> {
|
|
20
21
|
Item: typeof MenuItem;
|
package/es/menu/menu.js
CHANGED
|
@@ -60,10 +60,12 @@ var Menu = function Menu(props) {
|
|
|
60
60
|
className = _b.className,
|
|
61
61
|
theme = _b.theme,
|
|
62
62
|
collapsed = _b.collapsed,
|
|
63
|
-
|
|
63
|
+
accordion = _b.accordion,
|
|
64
|
+
restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed", "accordion"]);
|
|
64
65
|
|
|
65
66
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'menu', customPrefixcls);
|
|
66
67
|
devWarning(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'"));
|
|
68
|
+
devWarning(mode !== 'inline' && accordion !== undefined, 'menu', "'accordion' is valid only in mode='inline'");
|
|
67
69
|
|
|
68
70
|
var _React$useState = React.useState(''),
|
|
69
71
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -137,6 +139,10 @@ var Menu = function Menu(props) {
|
|
|
137
139
|
if (clean) {
|
|
138
140
|
openSubMenuSet.clear();
|
|
139
141
|
} else {
|
|
142
|
+
if (mode === 'inline' && accordion) {
|
|
143
|
+
openSubMenuSet.clear();
|
|
144
|
+
}
|
|
145
|
+
|
|
140
146
|
if (isAdd) {
|
|
141
147
|
openSubMenuSet.add(openKey);
|
|
142
148
|
} else {
|
package/es/radio/radio.js
CHANGED
|
@@ -18,6 +18,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
18
18
|
|
|
19
19
|
import React, { useEffect } from 'react';
|
|
20
20
|
import classNames from 'classnames';
|
|
21
|
+
import isBoolean from 'lodash/isBoolean';
|
|
21
22
|
import ConfigContext from '../config-provider/ConfigContext';
|
|
22
23
|
import { getCompProps } from '../_utils';
|
|
23
24
|
import RadioGroupContext from './context';
|
|
@@ -46,13 +47,17 @@ var InternalRadio = function InternalRadio(props, ref) {
|
|
|
46
47
|
restProps = __rest(_a, ["style", "checked", "children", "className", "radioType", "defaultChecked", "prefixCls"]); // 属性需要合并一遍用户定义的默认属性
|
|
47
48
|
|
|
48
49
|
|
|
50
|
+
var getChecked = function getChecked() {
|
|
51
|
+
return isBoolean(checked) ? checked : defaultChecked;
|
|
52
|
+
};
|
|
53
|
+
|
|
49
54
|
var getPrefix = function getPrefix(radioType) {
|
|
50
55
|
return "radio".concat(radioType === 'square' ? "-".concat(radioType) : '');
|
|
51
56
|
};
|
|
52
57
|
|
|
53
58
|
var radioPrefixCls = getPrefixCls === null || getPrefixCls === void 0 ? void 0 : getPrefixCls(prefixCls, getPrefix(radioType), customPrefixcls); // 样式前缀
|
|
54
59
|
|
|
55
|
-
var _React$useState = React.useState(
|
|
60
|
+
var _React$useState = React.useState(getChecked()),
|
|
56
61
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
57
62
|
isChecked = _React$useState2[0],
|
|
58
63
|
setIsChecked = _React$useState2[1];
|
package/es/select/select.js
CHANGED
|
@@ -448,7 +448,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
448
448
|
var selectedVal = multipleRef.current.selectedVal; // 选择器下拉icon样式
|
|
449
449
|
|
|
450
450
|
var arrowIconCls = classNames((_classNames8 = {}, _defineProperty(_classNames8, "".concat(selectPrefixCls, "-icon-arrow"), true), _defineProperty(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-up"), optionShow), _defineProperty(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-down"), !optionShow), _defineProperty(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-focus"), optionShow), _classNames8));
|
|
451
|
-
var iconShow = allowClear && (isMultiple ? mulOptions.length > 0 : selectedVal);
|
|
451
|
+
var iconShow = allowClear && !disabled && (isMultiple ? mulOptions.length > 0 : selectedVal);
|
|
452
452
|
var clearIconCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-icon-clear"), true));
|
|
453
453
|
return /*#__PURE__*/React.createElement(React.Fragment, null, iconShow && /*#__PURE__*/React.createElement("span", {
|
|
454
454
|
onClick: handleReset,
|
|
@@ -428,7 +428,7 @@
|
|
|
428
428
|
.kd-select-item-option-disabled {
|
|
429
429
|
color: var(--kd-c-select-item-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
430
430
|
cursor: not-allowed;
|
|
431
|
-
background-color: var(--kd-c-select-item-color-background-disabled,
|
|
431
|
+
background-color: var(--kd-c-select-item-color-background-disabled, #fff);
|
|
432
432
|
}
|
|
433
433
|
.kd-select-size-small {
|
|
434
434
|
min-height: var(--kd-c-select-sizing-height-small, 24px);
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
}
|
|
473
473
|
.kd-select-single-disabled {
|
|
474
474
|
background-color: var(--kd-c-select-color-background-disabled, #f5f5f5);
|
|
475
|
-
color: var(--kd-c-select-color-text-disabled, #
|
|
475
|
+
color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
476
476
|
}
|
|
477
477
|
.kd-select-single-disabled:hover {
|
|
478
478
|
cursor: not-allowed;
|
|
@@ -484,13 +484,13 @@
|
|
|
484
484
|
opacity: 1;
|
|
485
485
|
}
|
|
486
486
|
.kd-select-single-text {
|
|
487
|
-
color: #
|
|
487
|
+
color: var(--kd-c-select-single-color-text, var(--kd-g-color-text-primary, #212121));
|
|
488
488
|
overflow: hidden;
|
|
489
489
|
white-space: nowrap;
|
|
490
490
|
text-overflow: ellipsis;
|
|
491
491
|
}
|
|
492
492
|
.kd-select-single-disabled-text {
|
|
493
|
-
color: var(--kd-c-select-color-text-disabled, #
|
|
493
|
+
color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
494
494
|
}
|
|
495
495
|
.kd-select .kd-select-selection-item {
|
|
496
496
|
display: -webkit-inline-box;
|
|
@@ -564,7 +564,7 @@
|
|
|
564
564
|
.kd-select-multiple-disabled {
|
|
565
565
|
cursor: not-allowed;
|
|
566
566
|
background-color: var(--kd-c-select-color-background-disabled, #f5f5f5);
|
|
567
|
-
color: var(--kd-c-select-color-text-disabled, #
|
|
567
|
+
color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
568
568
|
}
|
|
569
569
|
.kd-select-multiple-disabled .kd-select-suffix {
|
|
570
570
|
color: var(--kd-c-select-arrow-icon-color-text-disabled, #b2b2b2);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
// color
|
|
7
7
|
@select-dropdown-bg: var(~'@{select-custom-prefix}-dropdown-color-background', @color-background);
|
|
8
|
-
@select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled',
|
|
8
|
+
@select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled', #fff);
|
|
9
9
|
@select-item-active-bg: var(~'@{select-custom-prefix}-color-background', #f5f5f5);
|
|
10
10
|
@select-item-selected-bg: var(~'@{select-custom-prefix}-color-background-selected', @color-theme-3);
|
|
11
11
|
@select-g-color-border: var(~'@{select-custom-prefix}-color-border', @color-input);
|
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
@select-footer-g-text-color-selected: var(~'@{select-custom-prefix}-footer-color-text-selected', #0e5fd8);
|
|
19
19
|
@select-g-item-text-color-disabled: var(~'@{select-custom-prefix}-item-color-text-disabled', @color-disabled);
|
|
20
20
|
@select-color-background-disabled: var(~'@{select-custom-prefix}-color-background-disabled', #f5f5f5);
|
|
21
|
-
@select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled',
|
|
21
|
+
@select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', @color-disabled);
|
|
22
22
|
@select-arrow-icon-color-text-disabled: var(~'@{select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
|
|
23
|
+
@select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
|
|
23
24
|
|
|
24
25
|
// font
|
|
25
26
|
@select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
|
package/es/table/table.js
CHANGED
|
@@ -48,7 +48,10 @@ function Table(props) {
|
|
|
48
48
|
getTableProps = props.getTableProps,
|
|
49
49
|
contextMenu = props.contextMenu,
|
|
50
50
|
rangeSelection = props.rangeSelection,
|
|
51
|
-
cssVariables = props.cssVariables
|
|
51
|
+
cssVariables = props.cssVariables,
|
|
52
|
+
stickyScrollHeight = props.stickyScrollHeight,
|
|
53
|
+
scrollbarWidth = props.scrollbarWidth,
|
|
54
|
+
scrollLoad = props.scrollLoad;
|
|
52
55
|
|
|
53
56
|
var _useContext = useContext(ConfigContext),
|
|
54
57
|
getPrefixCls = _useContext.getPrefixCls,
|
|
@@ -127,7 +130,10 @@ function Table(props) {
|
|
|
127
130
|
hasHeader: hasHeader,
|
|
128
131
|
useOuterBorder: useOuterBorder,
|
|
129
132
|
defaultColumnWidth: defaultColumnWidth,
|
|
130
|
-
cssVariables: cssVariables
|
|
133
|
+
cssVariables: cssVariables,
|
|
134
|
+
stickyScrollHeight: stickyScrollHeight,
|
|
135
|
+
scrollbarWidth: scrollbarWidth,
|
|
136
|
+
scrollLoad: scrollLoad
|
|
131
137
|
}));
|
|
132
138
|
}
|
|
133
139
|
|
package/es/tree/style/index.css
CHANGED
|
@@ -221,6 +221,19 @@
|
|
|
221
221
|
.kd-tree-node-title-disabled {
|
|
222
222
|
color: var(--kd-c-tree-node-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
223
223
|
}
|
|
224
|
+
.kd-tree-node-title-wrap {
|
|
225
|
+
-webkit-box-flex: 1;
|
|
226
|
+
-ms-flex: 1;
|
|
227
|
+
flex: 1;
|
|
228
|
+
position: relative;
|
|
229
|
+
display: -webkit-box;
|
|
230
|
+
display: -ms-flexbox;
|
|
231
|
+
display: flex;
|
|
232
|
+
-webkit-box-align: center;
|
|
233
|
+
-ms-flex-align: center;
|
|
234
|
+
align-items: center;
|
|
235
|
+
height: 100%;
|
|
236
|
+
}
|
|
224
237
|
.kd-tree-node-title {
|
|
225
238
|
white-space: nowrap;
|
|
226
239
|
margin-left: 6px;
|
|
@@ -248,12 +261,28 @@
|
|
|
248
261
|
width: 100%;
|
|
249
262
|
height: 100%;
|
|
250
263
|
}
|
|
264
|
+
.kd-tree-node-drag-over {
|
|
265
|
+
background-color: var(--kd-c-tree-node-drag-over-color-background, #E3EBFF);
|
|
266
|
+
border: 2px solid var(--kd-c-tree-node-drag-over-color-border, #5582f3);
|
|
267
|
+
}
|
|
251
268
|
.kd-tree-node-drag-line {
|
|
252
269
|
position: absolute;
|
|
253
270
|
left: 0;
|
|
254
271
|
top: 100%;
|
|
255
272
|
width: 100%;
|
|
256
|
-
border-top:
|
|
273
|
+
border-top: 2px solid var(--kd-c-tree-node-drag-line-color-background, #276FF5);
|
|
274
|
+
}
|
|
275
|
+
.kd-tree-node-drag-line::before {
|
|
276
|
+
content: '';
|
|
277
|
+
width: 4px;
|
|
278
|
+
height: 4px;
|
|
279
|
+
background-color: #fff;
|
|
280
|
+
border-radius: 50%;
|
|
281
|
+
border: 2px solid var(--kd-c-tree-node-drag-line-color-background, #276FF5);
|
|
282
|
+
position: absolute;
|
|
283
|
+
top: -1px;
|
|
284
|
+
-webkit-transform: translateY(-50%);
|
|
285
|
+
transform: translateY(-50%);
|
|
257
286
|
}
|
|
258
287
|
.kd-tree-node-leaf-icon {
|
|
259
288
|
height: var(--kd-c-tree-node-icon-sizing-height, 20px);
|