@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.
Files changed (104) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/kdesign-complete.less +326 -249
  3. package/dist/kdesign.css +88 -17
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +732 -399
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +4 -4
  8. package/dist/kdesign.min.js +5 -5
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/usePopper.d.ts +1 -0
  11. package/es/_utils/usePopper.js +3 -1
  12. package/es/button/button.js +1 -1
  13. package/es/button/style/index.css +3 -0
  14. package/es/button/style/index.less +4 -0
  15. package/es/button/style/token.less +1 -0
  16. package/es/carousel/carousel.d.ts +1 -0
  17. package/es/carousel/carousel.js +66 -3
  18. package/es/carousel/style/index.css +39 -0
  19. package/es/carousel/style/index.less +40 -0
  20. package/es/carousel/style/token.less +2 -0
  21. package/es/config-provider/compDefaultProps.d.ts +2 -0
  22. package/es/config-provider/compDefaultProps.js +4 -2
  23. package/es/date-picker/range-picker.js +6 -17
  24. package/es/date-picker/style/index.css +9 -9
  25. package/es/date-picker/style/index.less +1 -1
  26. package/es/date-picker/style/token.less +1 -1
  27. package/es/form/Field.js +67 -33
  28. package/es/form/FieldContext.js +1 -1
  29. package/es/form/hooks/useForm.js +29 -42
  30. package/es/form/interface.d.ts +7 -3
  31. package/es/icon/icon.js +23 -4
  32. package/es/image/preview.d.ts +1 -0
  33. package/es/image/preview.js +31 -6
  34. package/es/input/style/index.css +4 -3
  35. package/es/input/style/index.less +230 -227
  36. package/es/input/style/token.less +11 -12
  37. package/es/modal/modal.js +4 -8
  38. package/es/modal/style/index.css +7 -0
  39. package/es/modal/style/index.less +8 -0
  40. package/es/select/select.js +11 -8
  41. package/es/select/style/index.css +6 -3
  42. package/es/select/style/index.less +9 -3
  43. package/es/select/style/token.less +10 -5
  44. package/es/style/core/motion/other.less +9 -0
  45. package/es/style/icon/kdicon.css +3 -1
  46. package/es/style/icon/kdicon.woff +0 -0
  47. package/es/style/index.css +16 -0
  48. package/es/table/interface.d.ts +1 -0
  49. package/es/tooltip/tooltip.d.ts +1 -1
  50. package/es/tooltip/tooltip.js +9 -2
  51. package/es/tree/tree.d.ts +8 -0
  52. package/es/tree/tree.js +32 -17
  53. package/es/tree/treeHooks.d.ts +3 -3
  54. package/es/tree/treeHooks.js +7 -7
  55. package/es/tree/utils/treeUtils.d.ts +19 -6
  56. package/es/tree/utils/treeUtils.js +183 -33
  57. package/lib/_utils/usePopper.d.ts +1 -0
  58. package/lib/_utils/usePopper.js +3 -1
  59. package/lib/button/button.js +1 -1
  60. package/lib/button/style/index.css +3 -0
  61. package/lib/button/style/index.less +4 -0
  62. package/lib/button/style/token.less +1 -0
  63. package/lib/carousel/carousel.d.ts +1 -0
  64. package/lib/carousel/carousel.js +69 -2
  65. package/lib/carousel/style/index.css +39 -0
  66. package/lib/carousel/style/index.less +40 -0
  67. package/lib/carousel/style/token.less +2 -0
  68. package/lib/config-provider/compDefaultProps.d.ts +2 -0
  69. package/lib/config-provider/compDefaultProps.js +4 -2
  70. package/lib/date-picker/range-picker.js +6 -17
  71. package/lib/date-picker/style/index.css +9 -9
  72. package/lib/date-picker/style/index.less +1 -1
  73. package/lib/date-picker/style/token.less +1 -1
  74. package/lib/form/Field.js +68 -33
  75. package/lib/form/FieldContext.js +1 -1
  76. package/lib/form/hooks/useForm.js +28 -42
  77. package/lib/form/interface.d.ts +7 -3
  78. package/lib/icon/icon.js +22 -4
  79. package/lib/image/preview.d.ts +1 -0
  80. package/lib/image/preview.js +31 -6
  81. package/lib/input/style/index.css +4 -3
  82. package/lib/input/style/index.less +230 -227
  83. package/lib/input/style/token.less +11 -12
  84. package/lib/modal/modal.js +4 -8
  85. package/lib/modal/style/index.css +7 -0
  86. package/lib/modal/style/index.less +8 -0
  87. package/lib/select/select.js +11 -11
  88. package/lib/select/style/index.css +6 -3
  89. package/lib/select/style/index.less +9 -3
  90. package/lib/select/style/token.less +10 -5
  91. package/lib/style/core/motion/other.less +9 -0
  92. package/lib/style/icon/kdicon.css +3 -1
  93. package/lib/style/icon/kdicon.woff +0 -0
  94. package/lib/style/index.css +16 -0
  95. package/lib/table/interface.d.ts +1 -0
  96. package/lib/tooltip/tooltip.d.ts +1 -1
  97. package/lib/tooltip/tooltip.js +15 -5
  98. package/lib/tree/tree.d.ts +8 -0
  99. package/lib/tree/tree.js +30 -16
  100. package/lib/tree/treeHooks.d.ts +3 -3
  101. package/lib/tree/treeHooks.js +6 -6
  102. package/lib/tree/utils/treeUtils.d.ts +19 -6
  103. package/lib/tree/utils/treeUtils.js +193 -33
  104. package/package.json +1 -1
@@ -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;
@@ -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
  }
@@ -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
  }
@@ -201,6 +201,10 @@
201
201
  padding: 0;
202
202
  min-width: auto;
203
203
 
204
+ .@{btn-prefix-cls}-iconWrapper-left {
205
+ margin-right: @btn-text-icon-margin-right;
206
+ }
207
+
204
208
  &:hover {
205
209
  color: @btn-text-g-text-color-hover;
206
210
  }
@@ -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 | {
@@ -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) && renderDisplayList(), (children === null || children === void 0 ? void 0 : children.length) && showDot() && /*#__PURE__*/React.createElement(Slidebar, {
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); // >>>>> Format start & end values
410
+ var endValue = getValue(values, 1);
411
411
 
412
412
  if (startValue && endValue && isAfter(startValue, endValue)) {
413
- if ( // WeekPicker only compare week
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
- } // Clean up cache since invalidate
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(selectedValue, 0), startValue) || !isEqual(getValue(selectedValue, 1), endValue))) {
446
+ if (onChange && (!isEqual(getValue(dateValue, 0), startValue) || !isEqual(getValue(dateValue, 1), endValue))) {
454
447
  onChange(values, [startStr, endStr]);
455
448
  }
456
- } // >>>>> Open picker when
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, var(--kd-g-color-text-secondary, #666));
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, var(--kd-g-color-text-secondary, #666));
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, var(--kd-g-color-text-secondary, #666));
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-disabled, var(--kd-g-color-disabled, #b2b2b2));
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-disabled, var(--kd-g-color-disabled, #b2b2b2));
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-disabled, var(--kd-g-color-disabled, #b2b2b2));
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-disabled, var(--kd-g-color-disabled, #b2b2b2));
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-disabled, var(--kd-g-color-disabled, #b2b2b2));
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, var(--kd-g-color-text-secondary, #666));
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;
@@ -63,7 +63,7 @@
63
63
  }
64
64
 
65
65
  &::placeholder {
66
- color: @date-input-color-disabled;
66
+ color: @date-input-color-placeholder;
67
67
  }
68
68
  }
69
69
 
@@ -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', @color-text-secondary);
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
- _props$rules = props.rules,
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 rulesRequired = rules.some(function (rule) {
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
- if (Array.isArray(rules) && !rules.some(function (rule) {
181
- return Object.prototype.hasOwnProperty.call(rule, 'required');
182
- }) && required) {
183
- var _context2;
179
+ var mergeRule = function mergeRule() {
180
+ var mergeRules = Array.isArray(rules) ? _toConsumableArray(rules) : [];
184
181
 
185
- rules.push({
186
- required: true,
187
- message: _concatInstanceProperty(_context2 = "".concat(local && local.requiredMessage)).call(_context2, label)
188
- });
189
- }
182
+ if (!mergeRules.some(function (rule) {
183
+ return Object.prototype.hasOwnProperty.call(rule, 'required');
184
+ }) && required) {
185
+ var _context2;
190
186
 
191
- var mergeRules = rules;
187
+ mergeRules.push({
188
+ required: true,
189
+ message: _concatInstanceProperty(_context2 = "".concat(local && local.requiredMessage)).call(_context2, label)
190
+ });
191
+ }
192
192
 
193
- if (mergeRules.length) {
194
- mergeRules = _mapInstanceProperty(rules).call(rules, function (r) {
195
- if (typeof r === 'function') {
196
- return r(fieldContext);
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
- return r;
200
- });
201
- }
199
+ return r;
200
+ });
201
+ }
202
+
203
+ return mergeRules;
204
+ };
202
205
 
203
- var itemRef = React.useRef({
206
+ var item = {
204
207
  onStoreChange: onStoreChange,
205
208
  meta: {
206
- rules: mergeRules,
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.current);
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
- setRules(name, mergeRules);
220
- }, [mergedRequired, name, mergeRules]);
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
- rest = __rest(fa, ["onChange", "disabled"]);
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
- return _extends(_extends({}, rest), (_extends3 = {
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", {
@@ -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
  }