@kdcloudjs/kdesign 1.6.13 → 1.6.15
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 +26 -0
- package/dist/kdesign-complete.less +326 -249
- package/dist/kdesign.css +88 -17
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +732 -399
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +4 -4
- package/dist/kdesign.min.js +5 -5
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.d.ts +1 -0
- package/es/_utils/usePopper.js +3 -1
- package/es/button/button.js +1 -1
- package/es/button/style/index.css +3 -0
- package/es/button/style/index.less +4 -0
- package/es/button/style/token.less +1 -0
- package/es/carousel/carousel.d.ts +1 -0
- package/es/carousel/carousel.js +66 -3
- package/es/carousel/style/index.css +39 -0
- package/es/carousel/style/index.less +40 -0
- package/es/carousel/style/token.less +2 -0
- package/es/config-provider/compDefaultProps.d.ts +2 -0
- package/es/config-provider/compDefaultProps.js +4 -2
- package/es/date-picker/range-picker.js +6 -17
- package/es/date-picker/style/index.css +9 -9
- package/es/date-picker/style/index.less +1 -1
- package/es/date-picker/style/token.less +1 -1
- package/es/form/Field.js +67 -33
- package/es/form/FieldContext.js +1 -1
- package/es/form/hooks/useForm.js +29 -42
- package/es/form/interface.d.ts +7 -3
- package/es/icon/icon.js +23 -4
- package/es/image/preview.d.ts +1 -0
- package/es/image/preview.js +31 -6
- package/es/input/style/index.css +4 -3
- package/es/input/style/index.less +230 -227
- package/es/input/style/token.less +11 -12
- package/es/modal/modal.js +4 -8
- package/es/modal/style/index.css +7 -0
- package/es/modal/style/index.less +8 -0
- package/es/select/select.js +11 -8
- package/es/select/style/index.css +6 -3
- package/es/select/style/index.less +9 -3
- package/es/select/style/token.less +10 -5
- package/es/style/core/motion/other.less +9 -0
- package/es/style/icon/kdicon.css +3 -1
- package/es/style/icon/kdicon.woff +0 -0
- package/es/style/index.css +16 -0
- package/es/table/interface.d.ts +1 -0
- package/es/tooltip/tooltip.d.ts +1 -1
- package/es/tooltip/tooltip.js +9 -2
- package/es/tree/tree.d.ts +8 -0
- package/es/tree/tree.js +32 -17
- package/es/tree/treeHooks.d.ts +3 -3
- package/es/tree/treeHooks.js +7 -7
- package/es/tree/utils/treeUtils.d.ts +19 -6
- package/es/tree/utils/treeUtils.js +183 -33
- package/lib/_utils/usePopper.d.ts +1 -0
- package/lib/_utils/usePopper.js +3 -1
- package/lib/button/button.js +1 -1
- package/lib/button/style/index.css +3 -0
- package/lib/button/style/index.less +4 -0
- package/lib/button/style/token.less +1 -0
- package/lib/carousel/carousel.d.ts +1 -0
- package/lib/carousel/carousel.js +69 -2
- package/lib/carousel/style/index.css +39 -0
- package/lib/carousel/style/index.less +40 -0
- package/lib/carousel/style/token.less +2 -0
- package/lib/config-provider/compDefaultProps.d.ts +2 -0
- package/lib/config-provider/compDefaultProps.js +4 -2
- package/lib/date-picker/range-picker.js +6 -17
- package/lib/date-picker/style/index.css +9 -9
- package/lib/date-picker/style/index.less +1 -1
- package/lib/date-picker/style/token.less +1 -1
- package/lib/form/Field.js +68 -33
- package/lib/form/FieldContext.js +1 -1
- package/lib/form/hooks/useForm.js +28 -42
- package/lib/form/interface.d.ts +7 -3
- package/lib/icon/icon.js +22 -4
- package/lib/image/preview.d.ts +1 -0
- package/lib/image/preview.js +31 -6
- package/lib/input/style/index.css +4 -3
- package/lib/input/style/index.less +230 -227
- package/lib/input/style/token.less +11 -12
- package/lib/modal/modal.js +4 -8
- package/lib/modal/style/index.css +7 -0
- package/lib/modal/style/index.less +8 -0
- package/lib/select/select.js +11 -11
- package/lib/select/style/index.css +6 -3
- package/lib/select/style/index.less +9 -3
- package/lib/select/style/token.less +10 -5
- package/lib/style/core/motion/other.less +9 -0
- package/lib/style/icon/kdicon.css +3 -1
- package/lib/style/icon/kdicon.woff +0 -0
- package/lib/style/index.css +16 -0
- package/lib/table/interface.d.ts +1 -0
- package/lib/tooltip/tooltip.d.ts +1 -1
- package/lib/tooltip/tooltip.js +15 -5
- package/lib/tree/tree.d.ts +8 -0
- package/lib/tree/tree.js +30 -16
- package/lib/tree/treeHooks.d.ts +3 -3
- package/lib/tree/treeHooks.js +6 -6
- package/lib/tree/utils/treeUtils.d.ts +19 -6
- package/lib/tree/utils/treeUtils.js +193 -33
- package/package.json +1 -1
package/es/_utils/usePopper.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface PopperProps {
|
|
|
20
20
|
placement?: PlacementType;
|
|
21
21
|
popperStyle?: React.CSSProperties;
|
|
22
22
|
trigger?: TriggerType | Array<TriggerType>;
|
|
23
|
+
clickToClose?: boolean;
|
|
23
24
|
onTrigger?: (trigger: TriggerType) => void;
|
|
24
25
|
onVisibleChange?: (visible: boolean) => void;
|
|
25
26
|
getTriggerElement?: (locatorNode: HTMLElement) => HTMLElement;
|
package/es/_utils/usePopper.js
CHANGED
|
@@ -152,6 +152,8 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
152
152
|
defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
|
|
153
153
|
_props$autoPlacement = props.autoPlacement,
|
|
154
154
|
autoPlacement = _props$autoPlacement === void 0 ? true : _props$autoPlacement,
|
|
155
|
+
_props$clickToClose = props.clickToClose,
|
|
156
|
+
clickToClose = _props$clickToClose === void 0 ? true : _props$clickToClose,
|
|
155
157
|
_props$getTriggerElem = props.getTriggerElement,
|
|
156
158
|
getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
|
|
157
159
|
return locatorNode;
|
|
@@ -635,7 +637,7 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
635
637
|
return showPopper(e.type);
|
|
636
638
|
}, mouseEnterDelay * 1000);
|
|
637
639
|
} else if (e.type === 'mouseup' && visible) {
|
|
638
|
-
hidePopper();
|
|
640
|
+
clickToClose && hidePopper();
|
|
639
641
|
} else {
|
|
640
642
|
showPopper(e.type);
|
|
641
643
|
}
|
package/es/button/button.js
CHANGED
|
@@ -129,7 +129,7 @@ var InternalButton = function InternalButton(props, ref) {
|
|
|
129
129
|
className: btnClasses,
|
|
130
130
|
onClick: handleClick,
|
|
131
131
|
disabled: disabled
|
|
132
|
-
}, others), children);
|
|
132
|
+
}, others), iconNode, children);
|
|
133
133
|
|
|
134
134
|
default:
|
|
135
135
|
return /*#__PURE__*/React.createElement("button", _extends({
|
|
@@ -338,6 +338,9 @@
|
|
|
338
338
|
padding: 0;
|
|
339
339
|
min-width: auto;
|
|
340
340
|
}
|
|
341
|
+
.kd-btn-text .kd-btn-iconWrapper-left {
|
|
342
|
+
margin-right: var(--kd-c-button-text-icon-spacing-margin-right, 4px);
|
|
343
|
+
}
|
|
341
344
|
.kd-btn-text:hover {
|
|
342
345
|
color: var(--kd-c-button-text-color-text-hover, var(--kd-g-color-theme-5, #87adff));
|
|
343
346
|
}
|
|
@@ -104,3 +104,4 @@
|
|
|
104
104
|
@btn-large-padding-horizontal: var(~'@{button-custom-prefix}-spacing-padding-horizontal-large', 8px); // 大号 内间距 横向
|
|
105
105
|
@btn-group-dropdown-item-horizontal: var(~'@{button-custom-prefix}-group-dropdown-item-horizonta', 12px);
|
|
106
106
|
@btn-icon-padding-horizontal: var(~'@{button-custom-prefix}-icon-spacing-padding-horizontal', 4px);
|
|
107
|
+
@btn-text-icon-margin-right: var(~'@{button-custom-prefix}-text-icon-spacing-margin-right', 4px);
|
|
@@ -5,6 +5,7 @@ export declare const EffectTypes: ["scrollx", "fade"];
|
|
|
5
5
|
export declare type EffectType = typeof EffectTypes[number];
|
|
6
6
|
export interface CarouselProps {
|
|
7
7
|
autoplay?: boolean;
|
|
8
|
+
jumpNode?: boolean | React.ReactNode[];
|
|
8
9
|
children?: React.ReactNode;
|
|
9
10
|
dotPosition?: string;
|
|
10
11
|
dots?: boolean | {
|
package/es/carousel/carousel.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
1
2
|
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
2
3
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
3
4
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
4
|
-
import React, { useContext, useImperativeHandle } from 'react';
|
|
5
|
+
import React, { isValidElement, useContext, useImperativeHandle } from 'react';
|
|
5
6
|
import classNames from 'classnames';
|
|
6
7
|
import ConfigContext from '../config-provider/ConfigContext';
|
|
7
8
|
import { getCompProps } from '../_utils';
|
|
@@ -13,6 +14,7 @@ import { FadeList } from './fadeList';
|
|
|
13
14
|
import { SlideList } from './slideList';
|
|
14
15
|
import { DisplayList } from './displayList';
|
|
15
16
|
import { Slidebar } from './slidebar';
|
|
17
|
+
import Icon from '../icon';
|
|
16
18
|
export var DotPositionTypes = tuple('top', 'left', 'bottom', 'right');
|
|
17
19
|
export var EffectTypes = tuple('scrollx', 'fade');
|
|
18
20
|
|
|
@@ -24,6 +26,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
24
26
|
|
|
25
27
|
var carouselProps = getCompProps('Carousel', userDefaultProps, props);
|
|
26
28
|
var autoplay = carouselProps.autoplay,
|
|
29
|
+
jumpNode = carouselProps.jumpNode,
|
|
27
30
|
dotPosition = carouselProps.dotPosition,
|
|
28
31
|
children = carouselProps.children,
|
|
29
32
|
dots = carouselProps.dots,
|
|
@@ -237,6 +240,66 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
237
240
|
return content;
|
|
238
241
|
};
|
|
239
242
|
|
|
243
|
+
var renderJumpNode = function renderJumpNode() {
|
|
244
|
+
if ((children === null || children === void 0 ? void 0 : children.length) && jumpNode) {
|
|
245
|
+
var jumpClassPrefix = "".concat(carouselPrefixCls, "-jump");
|
|
246
|
+
|
|
247
|
+
var leftClick = function leftClick(e) {
|
|
248
|
+
e.stopPropagation();
|
|
249
|
+
|
|
250
|
+
if (currentIndex !== 0) {
|
|
251
|
+
prev();
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
var rightClick = function rightClick(e) {
|
|
256
|
+
e.stopPropagation();
|
|
257
|
+
|
|
258
|
+
if (currentIndex !== children.length - 1) {
|
|
259
|
+
next();
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
var mergeNode = function mergeNode(node, type) {
|
|
264
|
+
var onClick = function onClick(evt) {
|
|
265
|
+
var chClick = node.props.onClick;
|
|
266
|
+
|
|
267
|
+
if (type === 'left') {
|
|
268
|
+
leftClick(evt);
|
|
269
|
+
} else {
|
|
270
|
+
rightClick(evt);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (typeof chClick === 'function') {
|
|
274
|
+
chClick(evt);
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
return _extends(_extends({}, node.props), {
|
|
279
|
+
onClick: onClick
|
|
280
|
+
});
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
var leftNode = /*#__PURE__*/React.createElement("div", {
|
|
284
|
+
className: classNames(jumpClassPrefix, "".concat(jumpClassPrefix, "-left"), _defineProperty({}, "".concat(jumpClassPrefix, "-disabled"), currentIndex <= 0))
|
|
285
|
+
}, Array.isArray(jumpNode) && jumpNode.length > 0 && /*#__PURE__*/isValidElement(jumpNode[0]) ? /*#__PURE__*/React.cloneElement(jumpNode[0], mergeNode(jumpNode[0], 'left')) : /*#__PURE__*/React.createElement(Icon, {
|
|
286
|
+
className: "".concat(jumpClassPrefix, "-icon"),
|
|
287
|
+
type: 'arrow-left-circle-solid',
|
|
288
|
+
onClick: leftClick
|
|
289
|
+
}));
|
|
290
|
+
var rightNode = /*#__PURE__*/React.createElement("div", {
|
|
291
|
+
className: classNames(jumpClassPrefix, "".concat(jumpClassPrefix, "-right"), _defineProperty({}, "".concat(jumpClassPrefix, "-disabled"), currentIndex >= children.length - 1))
|
|
292
|
+
}, Array.isArray(jumpNode) && jumpNode.length > 1 && /*#__PURE__*/isValidElement(jumpNode[1]) ? /*#__PURE__*/React.cloneElement(jumpNode[1], mergeNode(jumpNode[1], 'right')) : /*#__PURE__*/React.createElement(Icon, {
|
|
293
|
+
className: "".concat(jumpClassPrefix, "-icon"),
|
|
294
|
+
type: 'arrow-right-circle-solid',
|
|
295
|
+
onClick: rightClick
|
|
296
|
+
}));
|
|
297
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, leftNode, rightNode);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
return null;
|
|
301
|
+
};
|
|
302
|
+
|
|
240
303
|
return /*#__PURE__*/React.createElement("div", {
|
|
241
304
|
className: rootClassName,
|
|
242
305
|
ref: carouselRef,
|
|
@@ -246,14 +309,14 @@ var InternalCarousel = function InternalCarousel(props, ref) {
|
|
|
246
309
|
style: style,
|
|
247
310
|
onMouseEnter: handleMouseEnter,
|
|
248
311
|
onMouseLeave: handleMouseLeave
|
|
249
|
-
}, (children === null || children === void 0 ? void 0 : children.length)
|
|
312
|
+
}, (children === null || children === void 0 ? void 0 : children.length) ? renderDisplayList() : null, (children === null || children === void 0 ? void 0 : children.length) && showDot() ? /*#__PURE__*/React.createElement(Slidebar, {
|
|
250
313
|
number: children.length,
|
|
251
314
|
currentIndex: currentIndex,
|
|
252
315
|
dotsClassName: dots,
|
|
253
316
|
parentPrefixCls: carouselPrefixCls,
|
|
254
317
|
dotPosition: dotPosition,
|
|
255
318
|
onClick: handleClick
|
|
256
|
-
}));
|
|
319
|
+
}) : null, renderJumpNode());
|
|
257
320
|
};
|
|
258
321
|
|
|
259
322
|
var Carousel = /*#__PURE__*/React.forwardRef(InternalCarousel);
|
|
@@ -290,6 +290,45 @@
|
|
|
290
290
|
background-color: var(--kd-c-carousel-dots-color-hover, #666666);
|
|
291
291
|
opacity: 1;
|
|
292
292
|
}
|
|
293
|
+
.kd-carousel-jump {
|
|
294
|
+
position: absolute;
|
|
295
|
+
top: 50%;
|
|
296
|
+
left: unset;
|
|
297
|
+
right: 16px;
|
|
298
|
+
-webkit-transform: translateY(-50%);
|
|
299
|
+
transform: translateY(-50%);
|
|
300
|
+
}
|
|
301
|
+
.kd-carousel-jump-left {
|
|
302
|
+
left: 16px;
|
|
303
|
+
right: unset;
|
|
304
|
+
}
|
|
305
|
+
.kd-carousel-jump:not(.kd-carousel-jump-disabled) {
|
|
306
|
+
cursor: pointer;
|
|
307
|
+
}
|
|
308
|
+
.kd-carousel-jump > *:first-child {
|
|
309
|
+
display: -webkit-box;
|
|
310
|
+
display: -ms-flexbox;
|
|
311
|
+
display: flex;
|
|
312
|
+
-webkit-box-align: center;
|
|
313
|
+
-ms-flex-align: center;
|
|
314
|
+
align-items: center;
|
|
315
|
+
-webkit-box-pack: center;
|
|
316
|
+
-ms-flex-pack: center;
|
|
317
|
+
justify-content: center;
|
|
318
|
+
}
|
|
319
|
+
.kd-carousel-jump-icon {
|
|
320
|
+
font-size: 20px;
|
|
321
|
+
color: var(--kd-c-carousel-jump-icon-color, #D9D9D9);
|
|
322
|
+
}
|
|
323
|
+
.kd-carousel-jump-icon:hover {
|
|
324
|
+
color: var(--kd-c-carousel-jump-icon-color-hover, #666666);
|
|
325
|
+
}
|
|
326
|
+
.kd-carousel-jump-disabled {
|
|
327
|
+
cursor: not-allowed;
|
|
328
|
+
}
|
|
329
|
+
.kd-carousel-jump-disabled .kd-carousel-jump-icon:hover {
|
|
330
|
+
color: var(--kd-c-carousel-jump-icon-color, #D9D9D9);
|
|
331
|
+
}
|
|
293
332
|
.vertical {
|
|
294
333
|
display: -webkit-box;
|
|
295
334
|
display: -ms-flexbox;
|
|
@@ -132,6 +132,46 @@
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
+
|
|
136
|
+
&-jump {
|
|
137
|
+
position: absolute;
|
|
138
|
+
top: 50%;
|
|
139
|
+
left: unset;
|
|
140
|
+
right: 16px;
|
|
141
|
+
transform: translateY(-50%);
|
|
142
|
+
|
|
143
|
+
&-left {
|
|
144
|
+
left: 16px;
|
|
145
|
+
right: unset;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
&:not(.@{carousel-prefix-cls}-jump-disabled) {
|
|
149
|
+
cursor: pointer;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
> *:first-child {
|
|
153
|
+
display: flex;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: center;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
&-icon {
|
|
159
|
+
font-size: 20px;
|
|
160
|
+
color: @carousel-jump-icon-color;
|
|
161
|
+
|
|
162
|
+
&:hover {
|
|
163
|
+
color: @carousel-jump-icon-color-hover;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&-disabled {
|
|
168
|
+
cursor: not-allowed;
|
|
169
|
+
|
|
170
|
+
.@{carousel-prefix-cls}-jump-icon:hover {
|
|
171
|
+
color: @carousel-jump-icon-color;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
135
175
|
}
|
|
136
176
|
.vertical {
|
|
137
177
|
display: flex;
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// color
|
|
4
4
|
@carousel-dots-color-background: var(~'@{carousel-prefix}-dots-color-background', #D8D8D8); // 面板指示点的背景色
|
|
5
5
|
@carousel-dots-color-background-active: var(~'@{carousel-prefix}-dots-color-hover', #666666); // 面板指示点的背景色
|
|
6
|
+
@carousel-jump-icon-color: var(~'@{carousel-prefix}-jump-icon-color', #D9D9D9);
|
|
7
|
+
@carousel-jump-icon-color-hover: var(~'@{carousel-prefix}-jump-icon-color-hover', #666666);
|
|
6
8
|
|
|
7
9
|
// radius
|
|
8
10
|
@carousel-dots-boder-radius: var(~'@{carousel-prefix}-dots-border-radius', 2px); // 面板指示点的圆角
|
|
@@ -141,6 +141,7 @@ declare const compDefaultProps: {
|
|
|
141
141
|
};
|
|
142
142
|
Image: {
|
|
143
143
|
preview: boolean;
|
|
144
|
+
scales: number[];
|
|
144
145
|
};
|
|
145
146
|
InputNumber: {
|
|
146
147
|
type: string;
|
|
@@ -318,6 +319,7 @@ declare const compDefaultProps: {
|
|
|
318
319
|
ToolTip: {
|
|
319
320
|
placement: string;
|
|
320
321
|
trigger: string;
|
|
322
|
+
arrow: boolean;
|
|
321
323
|
};
|
|
322
324
|
Tabs: {
|
|
323
325
|
type: string;
|
|
@@ -146,7 +146,8 @@ var compDefaultProps = {
|
|
|
146
146
|
optionFilterProp: 'label'
|
|
147
147
|
},
|
|
148
148
|
Image: {
|
|
149
|
-
preview: true
|
|
149
|
+
preview: true,
|
|
150
|
+
scales: [25, 50, 75, 100, 125, 150, 200]
|
|
150
151
|
},
|
|
151
152
|
InputNumber: {
|
|
152
153
|
type: 'text',
|
|
@@ -332,7 +333,8 @@ var compDefaultProps = {
|
|
|
332
333
|
TreeNode: {},
|
|
333
334
|
ToolTip: {
|
|
334
335
|
placement: 'top',
|
|
335
|
-
trigger: 'hover'
|
|
336
|
+
trigger: 'hover',
|
|
337
|
+
arrow: true
|
|
336
338
|
},
|
|
337
339
|
Tabs: {
|
|
338
340
|
type: 'line',
|
|
@@ -407,33 +407,27 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
407
407
|
var triggerChange = function triggerChange(newValue, sourceIndex) {
|
|
408
408
|
var values = newValue;
|
|
409
409
|
var startValue = getValue(values, 0);
|
|
410
|
-
var endValue = getValue(values, 1);
|
|
410
|
+
var endValue = getValue(values, 1);
|
|
411
411
|
|
|
412
412
|
if (startValue && endValue && isAfter(startValue, endValue)) {
|
|
413
|
-
if (
|
|
414
|
-
picker === 'week' && !isSameWeek(startValue, endValue) || // QuotaPicker only compare week
|
|
415
|
-
picker === 'quarter' && !isSameQuarter(startValue, endValue) || // Other non-TimePicker compare date
|
|
416
|
-
picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDay(startValue, endValue)) {
|
|
417
|
-
// Clean up end date when start date is after end date
|
|
413
|
+
if (picker === 'week' && !isSameWeek(startValue, endValue) || picker === 'quarter' && !isSameQuarter(startValue, endValue) || picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDay(startValue, endValue)) {
|
|
418
414
|
if (sourceIndex === 0) {
|
|
419
415
|
values = [startValue, null];
|
|
420
416
|
endValue = null;
|
|
421
417
|
} else {
|
|
422
418
|
startValue = null;
|
|
423
419
|
values = [null, endValue];
|
|
424
|
-
}
|
|
425
|
-
|
|
420
|
+
}
|
|
426
421
|
|
|
427
422
|
openRecordsRef.current = _defineProperty({}, sourceIndex, true);
|
|
428
423
|
} else if (picker === 'time' && order === true) {
|
|
429
|
-
// Reorder when in same date
|
|
430
424
|
values = reorderValues(values);
|
|
431
425
|
}
|
|
432
426
|
}
|
|
433
427
|
|
|
434
428
|
setSelectedValue(values);
|
|
435
429
|
var startStr = values && values[0] ? formatDate(values[0], _format) : '';
|
|
436
|
-
var endStr = values && values[1] ? formatDate(values[1], _format) : '';
|
|
430
|
+
var endStr = values && values[1] ? formatDate(values[1], _format) : '';
|
|
437
431
|
|
|
438
432
|
if (onCalendarChange) {
|
|
439
433
|
var info = {
|
|
@@ -447,15 +441,12 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
447
441
|
var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;
|
|
448
442
|
|
|
449
443
|
if (canTrigger) {
|
|
450
|
-
// Trigger onChange only when value is validate
|
|
451
444
|
setInnerValue(values);
|
|
452
445
|
|
|
453
|
-
if (onChange && (!isEqual(getValue(
|
|
446
|
+
if (onChange && (!isEqual(getValue(dateValue, 0), startValue) || !isEqual(getValue(dateValue, 1), endValue))) {
|
|
454
447
|
onChange(values, [startStr, endStr]);
|
|
455
448
|
}
|
|
456
|
-
}
|
|
457
|
-
// Always open another picker if possible
|
|
458
|
-
|
|
449
|
+
}
|
|
459
450
|
|
|
460
451
|
var nextOpenIndex = null;
|
|
461
452
|
|
|
@@ -466,7 +457,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
466
457
|
}
|
|
467
458
|
|
|
468
459
|
if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !getValue(values, nextOpenIndex)) && getValue(values, sourceIndex)) {
|
|
469
|
-
// Delay to focus to avoid input blur trigger expired selectedValues
|
|
470
460
|
triggerOpenAndFocus(nextOpenIndex);
|
|
471
461
|
} else {
|
|
472
462
|
triggerOpen(false, sourceIndex);
|
|
@@ -766,7 +756,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
766
756
|
trigger: 'click',
|
|
767
757
|
prefixCls: "".concat(datePickerPrefixCls, "-panel"),
|
|
768
758
|
arrow: false,
|
|
769
|
-
popperClassName: className,
|
|
770
759
|
popperStyle: style,
|
|
771
760
|
visible: mergedOpen,
|
|
772
761
|
placement: 'bottomLeft',
|
|
@@ -218,13 +218,13 @@
|
|
|
218
218
|
white-space: nowrap;
|
|
219
219
|
}
|
|
220
220
|
.kd-date-picker-input input::-webkit-input-placeholder {
|
|
221
|
-
color: var(--kd-c-date-picker-input-color-placeholder,
|
|
221
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
222
222
|
}
|
|
223
223
|
.kd-date-picker-input input::-moz-input-placeholder {
|
|
224
|
-
color: var(--kd-c-date-picker-input-color-placeholder,
|
|
224
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
225
225
|
}
|
|
226
226
|
.kd-date-picker-input input::-ms-input-placeholder {
|
|
227
|
-
color: var(--kd-c-date-picker-input-color-placeholder,
|
|
227
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
228
228
|
}
|
|
229
229
|
.kd-date-picker-input input:focus {
|
|
230
230
|
-webkit-box-shadow: none;
|
|
@@ -236,22 +236,22 @@
|
|
|
236
236
|
background: transparent;
|
|
237
237
|
}
|
|
238
238
|
.kd-date-picker-input input::-webkit-input-placeholder {
|
|
239
|
-
color: var(--kd-c-date-picker-input-color-
|
|
239
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
240
240
|
}
|
|
241
241
|
.kd-date-picker-input input::-moz-placeholder {
|
|
242
|
-
color: var(--kd-c-date-picker-input-color-
|
|
242
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
243
243
|
}
|
|
244
244
|
.kd-date-picker-input input:-ms-input-placeholder {
|
|
245
|
-
color: var(--kd-c-date-picker-input-color-
|
|
245
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
246
246
|
}
|
|
247
247
|
.kd-date-picker-input input::-ms-input-placeholder {
|
|
248
|
-
color: var(--kd-c-date-picker-input-color-
|
|
248
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
249
249
|
}
|
|
250
250
|
.kd-date-picker-input input::placeholder {
|
|
251
|
-
color: var(--kd-c-date-picker-input-color-
|
|
251
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
252
252
|
}
|
|
253
253
|
.kd-date-picker-input-placeholder > input {
|
|
254
|
-
color: var(--kd-c-date-picker-input-color-placeholder,
|
|
254
|
+
color: var(--kd-c-date-picker-input-color-placeholder, #f2f2f2);
|
|
255
255
|
}
|
|
256
256
|
.kd-date-picker-range {
|
|
257
257
|
display: -webkit-inline-box;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
@date-color-background-checked: var(~'@{date-picker-custom-prefix}-color-background-checked', @color-theme);
|
|
7
7
|
@date-wrapper-color-background: var(~'@{date-picker-custom-prefix}-wrapper-color-background', @color-background);
|
|
8
8
|
@date-input-color: var(~'@{date-picker-custom-prefix}-input-color', @color-text-primary);
|
|
9
|
-
@date-input-color-placeholder: var(~'@{date-picker-custom-prefix}-input-color-placeholder',
|
|
9
|
+
@date-input-color-placeholder: var(~'@{date-picker-custom-prefix}-input-color-placeholder', #f2f2f2);
|
|
10
10
|
@date-input-underline-color: var(~'@{date-picker-custom-prefix}-input-underline-color', #999);
|
|
11
11
|
@date-input-color-border: var(~'@{date-picker-custom-prefix}-input-color-border', @color-border-strong);
|
|
12
12
|
@date-input-color-disabled: var(~'@{date-picker-custom-prefix}-input-color-disabled', @color-disabled);
|
package/es/form/Field.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
3
|
+
import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
|
|
3
4
|
import _typeof from "@babel/runtime-corejs3/helpers/typeof";
|
|
4
5
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
5
6
|
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
|
@@ -99,13 +100,13 @@ var Field = function Field(props) {
|
|
|
99
100
|
vertical = fieldContext.vertical,
|
|
100
101
|
getDefaultValue = fieldContext.getDefaultValue,
|
|
101
102
|
local = fieldContext.local,
|
|
102
|
-
setRules = fieldContext.setRules,
|
|
103
103
|
formDisabled = fieldContext.disabled;
|
|
104
104
|
|
|
105
105
|
var _getInternalHooks = getInternalHooks(INTERNAL_HOOK_KEY),
|
|
106
106
|
registerField = _getInternalHooks.registerField,
|
|
107
107
|
dispatch = _getInternalHooks.dispatch,
|
|
108
|
-
setDefaultValues = _getInternalHooks.setDefaultValues
|
|
108
|
+
setDefaultValues = _getInternalHooks.setDefaultValues,
|
|
109
|
+
deleteField = _getInternalHooks.deleteField;
|
|
109
110
|
|
|
110
111
|
var name = props.name,
|
|
111
112
|
customizeHtmlFor = props.htmlFor,
|
|
@@ -118,8 +119,7 @@ var Field = function Field(props) {
|
|
|
118
119
|
labelWidth = props.labelWidth,
|
|
119
120
|
labelAlign = props.labelAlign,
|
|
120
121
|
required = props.required,
|
|
121
|
-
|
|
122
|
-
rules = _props$rules === void 0 ? [] : _props$rules,
|
|
122
|
+
rules = props.rules,
|
|
123
123
|
wrapperWidth = props.wrapperWidth,
|
|
124
124
|
validateTrigger = props.validateTrigger,
|
|
125
125
|
defaultValue = props.defaultValue,
|
|
@@ -163,7 +163,7 @@ var Field = function Field(props) {
|
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
|
|
166
|
-
var
|
|
166
|
+
var mergedRequired = required || (rules === null || rules === void 0 ? void 0 : rules.some(function (rule) {
|
|
167
167
|
if (rule && _typeof(rule) === 'object' && rule.required) {
|
|
168
168
|
return true;
|
|
169
169
|
}
|
|
@@ -174,50 +174,57 @@ var Field = function Field(props) {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
return false;
|
|
177
|
-
});
|
|
178
|
-
var mergedRequired = required || rulesRequired;
|
|
177
|
+
}));
|
|
179
178
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}) && required) {
|
|
183
|
-
var _context2;
|
|
179
|
+
var mergeRule = function mergeRule() {
|
|
180
|
+
var mergeRules = Array.isArray(rules) ? _toConsumableArray(rules) : [];
|
|
184
181
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
182
|
+
if (!mergeRules.some(function (rule) {
|
|
183
|
+
return Object.prototype.hasOwnProperty.call(rule, 'required');
|
|
184
|
+
}) && required) {
|
|
185
|
+
var _context2;
|
|
190
186
|
|
|
191
|
-
|
|
187
|
+
mergeRules.push({
|
|
188
|
+
required: true,
|
|
189
|
+
message: _concatInstanceProperty(_context2 = "".concat(local && local.requiredMessage)).call(_context2, label)
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
193
|
+
if (mergeRules.length) {
|
|
194
|
+
mergeRules = _mapInstanceProperty(mergeRules).call(mergeRules, function (r) {
|
|
195
|
+
if (typeof r === 'function') {
|
|
196
|
+
return r(fieldContext);
|
|
197
|
+
}
|
|
198
198
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
return r;
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return mergeRules;
|
|
204
|
+
};
|
|
202
205
|
|
|
203
|
-
var
|
|
206
|
+
var item = {
|
|
204
207
|
onStoreChange: onStoreChange,
|
|
205
208
|
meta: {
|
|
206
|
-
rules:
|
|
209
|
+
rules: mergeRule(),
|
|
207
210
|
name: name,
|
|
208
211
|
trigger: validateTrigger
|
|
209
212
|
}
|
|
210
|
-
}
|
|
213
|
+
};
|
|
214
|
+
var itemRef = React.useRef(item);
|
|
215
|
+
itemRef.current = item;
|
|
211
216
|
useEffect(function () {
|
|
212
|
-
registerField(name, itemRef
|
|
217
|
+
registerField(name, itemRef);
|
|
213
218
|
|
|
214
219
|
if (defaultValue !== undefined) {
|
|
215
220
|
setDefaultValues(_defineProperty({}, name, defaultValue));
|
|
216
221
|
}
|
|
217
222
|
}, [name, registerField]);
|
|
218
223
|
useEffect(function () {
|
|
219
|
-
|
|
220
|
-
|
|
224
|
+
return function () {
|
|
225
|
+
deleteField(name);
|
|
226
|
+
};
|
|
227
|
+
}, []);
|
|
221
228
|
var formPrefixCls = getPrefixCls === null || getPrefixCls === void 0 ? void 0 : getPrefixCls(prefixCls, 'form', customizePrefixcls);
|
|
222
229
|
var formItemClassName = classnames((_classnames = {}, _defineProperty(_classnames, "".concat(formPrefixCls), true), _defineProperty(_classnames, "".concat(formPrefixCls, "-field"), true), _defineProperty(_classnames, "".concat(formPrefixCls, "-field-hidden"), hidden), _defineProperty(_classnames, "".concat(formPrefixCls, "-field-vertical"), vertical), _classnames), className);
|
|
223
230
|
var value = getFieldValue(name);
|
|
@@ -263,7 +270,7 @@ var Field = function Field(props) {
|
|
|
263
270
|
|
|
264
271
|
var faChange = fa.onChange,
|
|
265
272
|
faDisabled = fa.disabled,
|
|
266
|
-
|
|
273
|
+
faRest = __rest(fa, ["onChange", "disabled"]);
|
|
267
274
|
|
|
268
275
|
var _ch$props = ch.props,
|
|
269
276
|
chChange = _ch$props.onChange,
|
|
@@ -296,10 +303,37 @@ var Field = function Field(props) {
|
|
|
296
303
|
forceUpdate();
|
|
297
304
|
}
|
|
298
305
|
|
|
299
|
-
|
|
306
|
+
var mergeResult = _extends(_extends({}, faRest), (_extends3 = {
|
|
300
307
|
onChange: onChange,
|
|
301
308
|
defaultValue: defaultValue
|
|
302
309
|
}, _defineProperty(_extends3, innerValuePropName, fieldValue), _defineProperty(_extends3, "disabled", chDisabled !== undefined ? chDisabled : faDisabled !== undefined ? faDisabled : formDisabled), _extends3));
|
|
310
|
+
|
|
311
|
+
var mergeEventArray = [];
|
|
312
|
+
|
|
313
|
+
if (validateTrigger) {
|
|
314
|
+
if (Array.isArray(validateTrigger)) {
|
|
315
|
+
mergeEventArray.push.apply(mergeEventArray, _toConsumableArray(_filterInstanceProperty(validateTrigger).call(validateTrigger, function (v) {
|
|
316
|
+
return v !== DEFAULT_TRIGGER;
|
|
317
|
+
})));
|
|
318
|
+
} else if (validateTrigger !== DEFAULT_TRIGGER) {
|
|
319
|
+
mergeEventArray.push(validateTrigger);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
mergeEventArray.forEach(function (eventName) {
|
|
324
|
+
mergeResult[eventName] = function () {
|
|
325
|
+
var _a;
|
|
326
|
+
|
|
327
|
+
if ((fa === null || fa === void 0 ? void 0 : fa[eventName]) && typeof fa[eventName] === 'function') {
|
|
328
|
+
fa[eventName]();
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
if (((_a = ch.props) === null || _a === void 0 ? void 0 : _a[eventName]) && typeof ch.props[eventName] === 'function') {
|
|
332
|
+
ch.props[eventName]();
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
});
|
|
336
|
+
return mergeResult;
|
|
303
337
|
};
|
|
304
338
|
|
|
305
339
|
return /*#__PURE__*/React.createElement("div", {
|
package/es/form/FieldContext.js
CHANGED
|
@@ -14,7 +14,6 @@ var context = /*#__PURE__*/React.createContext({
|
|
|
14
14
|
resetFields: warningFunc,
|
|
15
15
|
setFieldsValue: warningFunc,
|
|
16
16
|
setFieldValue: warningFunc,
|
|
17
|
-
setRules: warningFunc,
|
|
18
17
|
submit: warningFunc,
|
|
19
18
|
validateFields: warningFunc,
|
|
20
19
|
getInternalHooks: function getInternalHooks() {
|
|
@@ -23,6 +22,7 @@ var context = /*#__PURE__*/React.createContext({
|
|
|
23
22
|
dispatch: warningFunc,
|
|
24
23
|
setDefaultValues: warningFunc,
|
|
25
24
|
registerField: warningFunc,
|
|
25
|
+
deleteField: warningFunc,
|
|
26
26
|
setCallbacks: warningFunc
|
|
27
27
|
};
|
|
28
28
|
}
|