@kdcloudjs/kdesign 1.7.59 → 1.7.61

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 (105) hide show
  1. package/CHANGELOG.md +21 -8
  2. package/dist/kdesign-complete.less +131 -3
  3. package/dist/kdesign.css +223 -5
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +2313 -258
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +16 -12
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/domUtil.d.ts +2 -0
  11. package/es/_utils/domUtil.js +15 -0
  12. package/es/cascader/cascader.js +41 -10
  13. package/es/city-picker/style/index.css +7 -0
  14. package/es/city-picker/style/index.less +3 -0
  15. package/es/config-provider/compDefaultProps.d.ts +7 -0
  16. package/es/config-provider/compDefaultProps.js +7 -0
  17. package/es/date-picker/date-panel.js +2 -2
  18. package/es/date-picker/date-picker.d.ts +2 -1
  19. package/es/date-picker/date-picker.js +44 -18
  20. package/es/date-picker/hooks/use-range-view-dates.js +8 -2
  21. package/es/date-picker/interface.d.ts +6 -2
  22. package/es/date-picker/locale/zh_CN.js +1 -22
  23. package/es/date-picker/panel/month/month.js +1 -3
  24. package/es/date-picker/range-picker.js +7 -3
  25. package/es/index.d.ts +1 -0
  26. package/es/index.js +2 -1
  27. package/es/locale/locale.d.ts +7 -1
  28. package/es/locale/zh-CN.d.ts +7 -1
  29. package/es/locale/zh-CN.js +6 -1
  30. package/es/modal/modal.js +3 -1
  31. package/es/popconfirm/popconfirm.js +1 -1
  32. package/es/select/select.js +1 -1
  33. package/es/select/style/index.css +4 -4
  34. package/es/select/style/token.less +2 -2
  35. package/es/signature/drawingBoard.d.ts +15 -0
  36. package/es/signature/drawingBoard.js +163 -0
  37. package/es/signature/index.d.ts +3 -0
  38. package/es/signature/index.js +3 -0
  39. package/es/signature/signature.d.ts +32 -0
  40. package/es/signature/signature.js +268 -0
  41. package/es/signature/style/css.js +2 -0
  42. package/es/signature/style/index.css +210 -0
  43. package/es/signature/style/index.d.ts +2 -0
  44. package/es/signature/style/index.js +2 -0
  45. package/es/signature/style/index.less +95 -0
  46. package/es/signature/style/mixin.less +6 -0
  47. package/es/signature/style/token.less +22 -0
  48. package/es/signature/utils/signature_pad.d.ts +106 -0
  49. package/es/signature/utils/signature_pad.js +690 -0
  50. package/es/style/themes/default.less +1 -1
  51. package/lib/_utils/domUtil.d.ts +2 -0
  52. package/lib/_utils/domUtil.js +23 -0
  53. package/lib/cascader/cascader.js +41 -10
  54. package/lib/city-picker/style/index.css +7 -0
  55. package/lib/city-picker/style/index.less +3 -0
  56. package/lib/config-provider/compDefaultProps.d.ts +7 -0
  57. package/lib/config-provider/compDefaultProps.js +7 -0
  58. package/lib/date-picker/date-panel.js +2 -2
  59. package/lib/date-picker/date-picker.d.ts +2 -1
  60. package/lib/date-picker/date-picker.js +47 -20
  61. package/lib/date-picker/hooks/use-range-view-dates.js +7 -1
  62. package/lib/date-picker/interface.d.ts +6 -2
  63. package/lib/date-picker/locale/zh_CN.js +1 -22
  64. package/lib/date-picker/panel/month/month.js +3 -5
  65. package/lib/date-picker/range-picker.js +7 -3
  66. package/lib/index.d.ts +1 -0
  67. package/lib/index.js +7 -0
  68. package/lib/locale/locale.d.ts +7 -1
  69. package/lib/locale/zh-CN.d.ts +7 -1
  70. package/lib/locale/zh-CN.js +6 -1
  71. package/lib/modal/modal.js +3 -1
  72. package/lib/popconfirm/popconfirm.js +1 -1
  73. package/lib/select/select.js +1 -1
  74. package/lib/select/style/index.css +4 -4
  75. package/lib/select/style/token.less +2 -2
  76. package/lib/signature/drawingBoard.d.ts +15 -0
  77. package/lib/signature/drawingBoard.js +176 -0
  78. package/lib/signature/index.d.ts +3 -0
  79. package/lib/signature/index.js +27 -0
  80. package/lib/signature/signature.d.ts +32 -0
  81. package/lib/signature/signature.js +282 -0
  82. package/lib/signature/style/css.js +4 -0
  83. package/lib/signature/style/index.css +210 -0
  84. package/lib/signature/style/index.d.ts +2 -0
  85. package/lib/signature/style/index.js +4 -0
  86. package/lib/signature/style/index.less +95 -0
  87. package/lib/signature/style/mixin.less +6 -0
  88. package/lib/signature/style/token.less +22 -0
  89. package/lib/signature/utils/signature_pad.d.ts +106 -0
  90. package/lib/signature/utils/signature_pad.js +697 -0
  91. package/lib/style/components.less +1 -0
  92. package/lib/style/themes/default.less +1 -1
  93. package/package.json +3 -2
  94. package/es/date-picker/locale/en_GB.d.ts +0 -1
  95. package/es/date-picker/locale/en_GB.js +0 -33
  96. package/es/date-picker/locale/en_US.d.ts +0 -1
  97. package/es/date-picker/locale/en_US.js +0 -33
  98. package/es/date-picker/locale/zh_TW.d.ts +0 -1
  99. package/es/date-picker/locale/zh_TW.js +0 -33
  100. package/lib/date-picker/locale/en_GB.d.ts +0 -1
  101. package/lib/date-picker/locale/en_GB.js +0 -33
  102. package/lib/date-picker/locale/en_US.d.ts +0 -1
  103. package/lib/date-picker/locale/en_US.js +0 -33
  104. package/lib/date-picker/locale/zh_TW.d.ts +0 -1
  105. package/lib/date-picker/locale/zh_TW.js +0 -33
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const scrollToDirectory: (ref: React.MutableRefObject<any>) => void;
@@ -0,0 +1,15 @@
1
+ import scrollIntoView from 'dom-scroll-into-view';
2
+ export var scrollToDirectory = function scrollToDirectory(ref) {
3
+ var directoryElement = ref.current;
4
+ if (directoryElement) {
5
+ var rect = ref.current.getBoundingClientRect();
6
+ var parent = ref.current.parentElement;
7
+ var parentRect = parent.getBoundingClientRect();
8
+ var relativeTop = rect.top - parentRect.top;
9
+ var relativeBottom = rect.bottom - parentRect.top;
10
+ var isHide = relativeTop < 0 || relativeBottom > parent.clientHeight;
11
+ if (isHide) {
12
+ scrollIntoView(ref.current, ref.current.parentElement);
13
+ }
14
+ }
15
+ };
@@ -1,7 +1,7 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/extends";
2
1
  import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
3
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
4
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
5
5
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
6
6
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
7
7
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
@@ -22,6 +22,7 @@ import { tuple } from '../_utils/type';
22
22
  import { getCompProps } from '../_utils';
23
23
  import { ConfigContext } from '../config-provider';
24
24
  import usePopper from '../_utils/usePopper';
25
+ import { scrollToDirectory } from '../_utils/domUtil';
25
26
  import Input from '../input';
26
27
  import Icon from '../icon';
27
28
  import Empty from '../empty';
@@ -29,6 +30,28 @@ import Checkbox from '../checkbox';
29
30
  import Tag from '../tag';
30
31
  import { flattenAll, useChecked, getHalfChecked, getChecked, getMultipleCheckValue, getAllCheckedKeys } from './util';
31
32
  export var CascaderPlacement = tuple('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
33
+ var CascaderMenuSubmenu = function CascaderMenuSubmenu(props) {
34
+ var optionProps = props.optionProps,
35
+ label = props.label,
36
+ children = props.children,
37
+ selected = props.selected,
38
+ isMultiple = props.isMultiple;
39
+ var ref = useRef(null);
40
+ var isFirst = useRef(!isMultiple);
41
+ useEffect(function () {
42
+ if (typeof selected === 'boolean' && isFirst.current && ref.current) {
43
+ isFirst.current = false;
44
+ if (selected && !isMultiple) {
45
+ scrollToDirectory(ref);
46
+ }
47
+ }
48
+ }, [selected]);
49
+ return /*#__PURE__*/React.createElement("li", _extends({
50
+ ref: ref
51
+ }, optionProps, {
52
+ title: label
53
+ }), children);
54
+ };
32
55
  var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
56
  var _React$useContext = React.useContext(ConfigContext),
34
57
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -72,13 +95,18 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
72
95
  var inputRef = useRef();
73
96
  var suffixRef = useRef(null);
74
97
  var wrapperRef = useRef();
75
- var _useState = useState(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
98
+ var _useState = useState(false),
76
99
  _useState2 = _slicedToArray(_useState, 2),
77
100
  visible = _useState2[0],
78
101
  setVisible = _useState2[1];
79
102
  React.useEffect(function () {
80
103
  setVisible(!!props.popperVisible || !!props.popupVisible);
81
104
  }, [props.popperVisible, props.popupVisible]);
105
+ React.useEffect(function () {
106
+ if (!!props.popperVisible || !!props.popupVisible || defaultPopupVisible) {
107
+ setVisible(true);
108
+ }
109
+ }, []);
82
110
  var _useState3 = useState([options]),
83
111
  _useState4 = _slicedToArray(_useState3, 2),
84
112
  menus = _useState4[0],
@@ -399,11 +427,11 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
399
427
  }
400
428
  props.onChange && props.onChange(selectedValue, selectedOptions);
401
429
  };
402
- var onVisibleChange = function onVisibleChange(visible) {
403
- setVisible(visible);
404
- onPopupVisibleChange && onPopupVisibleChange(visible);
405
- onPopperVisibleChange && onPopperVisibleChange(visible);
406
- visible && setSelectedOptions(_sliceInstanceProperty(currentOptions).call(currentOptions, 0));
430
+ var onVisibleChange = function onVisibleChange(v) {
431
+ setVisible(v);
432
+ onPopupVisibleChange && onPopupVisibleChange(v);
433
+ onPopperVisibleChange && onPopperVisibleChange(v);
434
+ v && setSelectedOptions(_sliceInstanceProperty(currentOptions).call(currentOptions, 0));
407
435
  };
408
436
  var cascaderMenus = /*#__PURE__*/React.createElement(React.Fragment, null, (options === null || options === void 0 ? void 0 : options.length) ? (menus === null || menus === void 0 ? void 0 : menus.length) && _mapInstanceProperty(menus).call(menus, function (opts, index) {
409
437
  return /*#__PURE__*/React.createElement("ul", {
@@ -436,10 +464,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
436
464
  }) : ((children === null || children === void 0 ? void 0 : children.length) || isLeaf === false) && (props.expandIcon || /*#__PURE__*/React.createElement(Icon, {
437
465
  type: "arrow-right"
438
466
  })));
439
- return /*#__PURE__*/React.createElement("li", _extends({
467
+ return /*#__PURE__*/React.createElement(CascaderMenuSubmenu, _extends({
440
468
  key: value
441
- }, optionProps, {
442
- title: label
469
+ }, {
470
+ isMultiple: isMultiple,
471
+ optionProps: optionProps,
472
+ label: label,
473
+ selected: selected
443
474
  }), isMultiple ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
444
475
  checked: getChecked(checkedKeys, value),
445
476
  indeterminate: getHalfChecked(halfCheckedKeys, value),
@@ -167,6 +167,13 @@
167
167
  z-index: 1;
168
168
  position: absolute;
169
169
  top: 0;
170
+ bottom: 0;
171
+ display: -webkit-box;
172
+ display: -ms-flexbox;
173
+ display: flex;
174
+ -webkit-box-align: center;
175
+ -ms-flex-align: center;
176
+ align-items: center;
170
177
  background: #fff;
171
178
  -webkit-transition: opacity 0.15s ease;
172
179
  transition: opacity 0.15s ease;
@@ -59,6 +59,9 @@
59
59
  z-index: 1;
60
60
  position: absolute;
61
61
  top: 0;
62
+ bottom: 0;
63
+ display: flex;
64
+ align-items: center;
62
65
  background: #fff;
63
66
  transition: opacity 0.15s ease;
64
67
  font-size: @city-picker-clear-font-size;
@@ -488,5 +488,12 @@ declare const compDefaultProps: {
488
488
  errorLevel: string;
489
489
  color: string;
490
490
  };
491
+ Signature: {
492
+ penColor: string;
493
+ backgroundColor: string;
494
+ containerWidth: number;
495
+ containerHeight: number;
496
+ canFullScreen: boolean;
497
+ };
491
498
  };
492
499
  export default compDefaultProps;
@@ -505,6 +505,13 @@ var compDefaultProps = {
505
505
  type: 'canvas',
506
506
  errorLevel: 'H',
507
507
  color: '#000000'
508
+ },
509
+ Signature: {
510
+ penColor: 'black',
511
+ backgroundColor: 'white',
512
+ containerWidth: 610,
513
+ containerHeight: 500,
514
+ canFullScreen: true
508
515
  }
509
516
  };
510
517
  export default compDefaultProps;
@@ -140,7 +140,7 @@ function Panel(props) {
140
140
  };
141
141
  var renderDateHeader = function renderDateHeader() {
142
142
  var year = getYear(viewDate);
143
- var month = getMonth(viewDate) + 1;
143
+ var month = getMonth(viewDate);
144
144
  var headerCls = classnames("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-date"));
145
145
  return {
146
146
  children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
@@ -149,7 +149,7 @@ function Panel(props) {
149
149
  }, year + locale.year), /*#__PURE__*/React.createElement("span", {
150
150
  className: classnames("".concat(prefixCls, "-header-text-inner"), "".concat(prefixCls, "-header-text-inner-hover"), _defineProperty({}, "".concat(prefixCls, "-header-text-inner-active"), isInnerMonth)),
151
151
  onClick: onHeaderMonthClick
152
- }, month + locale.month)),
152
+ }, locale.monthTitle[month])),
153
153
  className: headerCls
154
154
  };
155
155
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { DateType } from './interface';
2
+ import { DateType, InnerLocale } from './interface';
3
3
  import { PickerPanelBaseProps, PickerPanelDateProps, PickerPanelTimeProps } from './date-panel';
4
4
  import { BorderType, InputSiteType } from '../input/input';
5
5
  export declare type CellRenderSubType = 'hour' | 'minute' | 'second' | '12Hours';
@@ -59,5 +59,6 @@ export interface PickerTimeProps extends PickerSharedProps, Omit<OmitPanelProps<
59
59
  }
60
60
  export declare type PickerProps = PickerBaseProps | PickerDateProps | PickerTimeProps;
61
61
  export declare type IInnerPicker = undefined | 'year' | 'month';
62
+ export declare const mergeDateLocale: (globalLocale: InnerLocale, locale?: {}) => InnerLocale;
62
63
  declare const DatePicker: React.ForwardRefExoticComponent<(Partial<PickerBaseProps> & React.RefAttributes<unknown>) | (Partial<PickerDateProps> & React.RefAttributes<unknown>) | (Partial<PickerTimeProps> & React.RefAttributes<unknown>)>;
63
64
  export default DatePicker;
@@ -1,5 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
4
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
3
5
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
4
6
  import React, { useContext, useEffect, useState } from 'react';
5
7
  import classnames from 'classnames';
@@ -12,11 +14,33 @@ import InputDate from './single/input-date';
12
14
  import { getDefaultFormat, getDataOrAriaProps, getInternalNextMode, generateUnits } from './utils';
13
15
  import useValueTexts from './hooks/use-value-texts';
14
16
  import useHoverValue from './hooks/use-hover-value';
15
- import { formatDate, getHours, getLowerBoundTime, getMinutes, getSeconds, isEqual, isValid, newDate, parseDate, setTime, isDate } from './utils/date-fns';
17
+ import { formatDate, getHours, getLowerBoundTime, getMinutes, getSeconds, isEqual, isValid, newDate, parseDate, setTime } from './utils/date-fns';
16
18
  import useTextValueMapping from './hooks/use-text-value-mapping';
17
19
  import getExtraFooter from './utils/get-extra-footer';
18
20
  import getRanges from './utils/get-ranges';
19
21
  import usePopper from '../_utils/usePopper';
22
+ var MONTH_DEFAULT_SUFFIX = '月';
23
+ export var mergeDateLocale = function mergeDateLocale(globalLocale) {
24
+ var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
+ var mergeLocale = _extends({}, globalLocale, locale);
26
+ mergeLocale.weekTitle = _Array$from({
27
+ length: 7
28
+ }, function (_, index) {
29
+ return mergeLocale.weekTitle[index] || globalLocale.weekTitle[index];
30
+ });
31
+ mergeLocale.monthTitle = _Array$from({
32
+ length: 12
33
+ }, function (_, index) {
34
+ return mergeLocale.monthTitle[index] || globalLocale.monthTitle[index];
35
+ });
36
+ if ((mergeLocale === null || mergeLocale === void 0 ? void 0 : mergeLocale.month) && mergeLocale.month !== MONTH_DEFAULT_SUFFIX) {
37
+ var _context;
38
+ mergeLocale.monthTitle = _mapInstanceProperty(_context = mergeLocale.monthTitle).call(_context, function (d) {
39
+ return d.toString().replace(MONTH_DEFAULT_SUFFIX, mergeLocale.month);
40
+ });
41
+ }
42
+ return mergeLocale;
43
+ };
20
44
  var InternalDatePicker = function InternalDatePicker(props, ref) {
21
45
  var customPrefixcls = props.prefixCls;
22
46
  var _useContext = useContext(ConfigContext),
@@ -92,7 +116,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
92
116
  var isMinuteStepValid = 60 % minuteStep === 0;
93
117
  var isSecondStepValid = 60 % secondStep === 0;
94
118
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
95
- var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
119
+ var datePickerLang = mergeDateLocale(globalLocale.getCompLangMsg({
96
120
  componentName: 'DatePicker'
97
121
  }), locale || {});
98
122
  var _useMergedState = useMergedState(null, {
@@ -102,10 +126,15 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
102
126
  _useMergedState2 = _slicedToArray(_useMergedState, 2),
103
127
  dateValue = _useMergedState2[0],
104
128
  setDateValue = _useMergedState2[1];
105
- var _React$useState = React.useState(dateValue),
106
- _React$useState2 = _slicedToArray(_React$useState, 2),
107
- selectedValue = _React$useState2[0],
108
- setSelectedValue = _React$useState2[1];
129
+ var _useMergedState3 = useMergedState(null, {
130
+ value: dateValue,
131
+ postState: function postState(v) {
132
+ return v && !isValid(v) ? null : v;
133
+ }
134
+ }),
135
+ _useMergedState4 = _slicedToArray(_useMergedState3, 2),
136
+ selectedValue = _useMergedState4[0],
137
+ setSelectedValue = _useMergedState4[1];
109
138
  var hours;
110
139
  var minutes;
111
140
  var seconds;
@@ -136,7 +165,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
136
165
  viewDate = _useState2[0],
137
166
  setInnerViewDate = _useState2[1];
138
167
  var setViewDate = function setViewDate(date) {
139
- setInnerViewDate(isDate(date) ? date : new Date());
168
+ setInnerViewDate(isValid(date) ? date : new Date());
140
169
  };
141
170
  useEffect(function () {
142
171
  setViewDate(dateValue);
@@ -175,7 +204,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
175
204
  hoverValue = _useHoverValue2[0],
176
205
  onEnter = _useHoverValue2[1],
177
206
  onLeave = _useHoverValue2[2];
178
- var _useMergedState3 = useMergedState(false, {
207
+ var _useMergedState5 = useMergedState(false, {
179
208
  value: open,
180
209
  defaultValue: defaultOpen,
181
210
  postState: function postState(postOpen) {
@@ -190,10 +219,10 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
190
219
  // }
191
220
  }
192
221
  }),
193
- _useMergedState4 = _slicedToArray(_useMergedState3, 2),
194
- openValue = _useMergedState4[0],
195
- triggerInnerOpen = _useMergedState4[1];
196
- var _useMergedState5 = useMergedState(function () {
222
+ _useMergedState6 = _slicedToArray(_useMergedState5, 2),
223
+ openValue = _useMergedState6[0],
224
+ triggerInnerOpen = _useMergedState6[1];
225
+ var _useMergedState7 = useMergedState(function () {
197
226
  if (picker === 'time') {
198
227
  return 'time';
199
228
  }
@@ -201,9 +230,9 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
201
230
  }, {
202
231
  value: mode
203
232
  }),
204
- _useMergedState6 = _slicedToArray(_useMergedState5, 2),
205
- mergedMode = _useMergedState6[0],
206
- setInnerMode = _useMergedState6[1];
233
+ _useMergedState8 = _slicedToArray(_useMergedState7, 2),
234
+ mergedMode = _useMergedState8[0],
235
+ setInnerMode = _useMergedState8[1];
207
236
  var _useState3 = useState(undefined),
208
237
  _useState4 = _slicedToArray(_useState3, 2),
209
238
  innerPicker = _useState4[0],
@@ -231,9 +260,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
231
260
  }
232
261
  // eslint-disable-next-line react-hooks/exhaustive-deps
233
262
  }, [picker]);
234
- useEffect(function () {
235
- setSelectedValue(dateValue);
236
- }, [dateValue]);
237
263
  useOnClickOutside([popperRef, inputDivRef], function () {
238
264
  setViewDate(selectedValue || newDate());
239
265
  triggerOpen(false);
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
2
2
  import _valuesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/values";
3
3
  import * as React from 'react';
4
4
  import { getValue, updateValues, getClosingViewDate } from '../utils';
5
- import { newDate, isSameYear, isSameMonth } from '../utils/date-fns';
5
+ import { newDate, isSameYear, isSameMonth, isValid } from '../utils/date-fns';
6
6
  // import { getClosingViewDate, isSameYear, isSameMonth, isSameDecade } from '../utils/dateUtil'
7
7
  function getStartEndDistance(startDate, endDate, picker) {
8
8
  var startNext = getClosingViewDate(startDate, picker, 1);
@@ -48,6 +48,12 @@ function getRangeViewDate(values, index, picker) {
48
48
  }
49
49
  return startDate;
50
50
  }
51
+ function checkViewDate(value) {
52
+ if (value && !isValid(value)) {
53
+ return false;
54
+ }
55
+ return value;
56
+ }
51
57
  export default function useRangeViewDates(_ref) {
52
58
  var values = _valuesInstanceProperty(_ref),
53
59
  picker = _ref.picker,
@@ -68,7 +74,7 @@ export default function useRangeViewDates(_ref) {
68
74
  if (defaultViewDates[index]) {
69
75
  return defaultViewDates[index];
70
76
  }
71
- return getValue(viewDates, index) || getRangeViewDate(values, index, picker) || startDate || endDate || newDate();
77
+ return checkViewDate(getValue(viewDates, index)) || checkViewDate(getRangeViewDate(values, index, picker)) || checkViewDate(startDate) || checkViewDate(endDate) || newDate();
72
78
  }
73
79
  function setViewDate(viewDate, index) {
74
80
  if (viewDate) {
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { BorderType, InputSiteType } from '../input/input';
3
+ export declare type WeekTitleType = [string, string, string, string, string, string, string];
4
+ export declare type MonthTitleType = [string, string, string, string, string, string, string, string, string, string, string, string];
3
5
  export interface Locale {
4
6
  'DatePicker.placeholder': string;
5
7
  'DatePicker.yearPlaceholder': string;
@@ -12,7 +14,8 @@ export interface Locale {
12
14
  'DatePicker.today': string;
13
15
  'DatePicker.year': string;
14
16
  'DatePicker.month': string;
15
- 'DatePicker.weekTitle': [string, string, string, string, string, string, string];
17
+ 'DatePicker.weekTitle': WeekTitleType;
18
+ 'DatePicker.monthTitle': MonthTitleType;
16
19
  'DatePicker.rangePlaceholder': [string, string];
17
20
  'DatePicker.rangeYearPlaceholder': [string, string];
18
21
  'DatePicker.rangeMonthPlaceholder': [string, string];
@@ -33,7 +36,8 @@ export interface InnerLocale {
33
36
  today: string;
34
37
  year: string;
35
38
  month: string;
36
- weekTitle: [string, string, string, string, string, string, string];
39
+ weekTitle: WeekTitleType;
40
+ monthTitle: MonthTitleType;
37
41
  rangePlaceholder: [string, string];
38
42
  rangeYearPlaceholder: [string, string];
39
43
  rangeMonthPlaceholder: [string, string];
@@ -12,28 +12,7 @@ var locale = {
12
12
  'DatePicker.month': '月',
13
13
  'DatePicker.year': '年',
14
14
  'DatePicker.weekTitle': ['日', '一', '二', '三', '四', '五', '六'],
15
- // 'DatePicker.backToToday': '返回今天',
16
- // 'DatePicker.timeSelect': '选择时间',
17
- // 'DatePicker.dateSelect': '选择日期',
18
- // 'DatePicker.weekSelect': '选择周',
19
- // 'DatePicker.clear': '清除',
20
- // 'DatePicker.month': '月',
21
- // 'DatePicker.year': '年',
22
- // 'DatePicker.previousMonth': '上个月 (翻页上键)',
23
- // 'DatePicker.nextMonth': '下个月 (翻页下键)',
24
- // 'DatePicker.monthSelect': '选择月份',
25
- // 'DatePicker.yearSelect': '选择年份',
26
- // 'DatePicker.decadeSelect': '选择年代',
27
- // 'DatePicker.yearFormat': 'YYYY年',
28
- // 'DatePicker.dayFormat': 'D日',
29
- // 'DatePicker.dateFormat': 'YYYY年M月D日',
30
- // 'DatePicker.dateTimeFormat': 'YYYY年M月D日 HH时mm分ss秒',
31
- // 'DatePicker.previousYear': '上一年 (Control键加左方向键)',
32
- // 'DatePicker.nextYear': '下一年 (Control键加右方向键)',
33
- // 'DatePicker.previousDecade': '上一年代',
34
- // 'DatePicker.nextDecade': '下一年代',
35
- // 'DatePicker.previousCentury': '上一世纪',
36
- // 'DatePicker.nextCentury': '下一世纪',
15
+ 'DatePicker.monthTitle': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
37
16
  'DatePicker.rangePlaceholder': ['开始日期', '结束日期'],
38
17
  'DatePicker.rangeYearPlaceholder': ['开始年份', '结束年份'],
39
18
  'DatePicker.rangeMonthPlaceholder': ['开始月份', '结束月份'],
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
4
  import React, { useContext } from 'react';
6
5
  import classnames from 'classnames';
7
6
  import { getMonth, newDate, getYear, setMonth, isAfter, isBefore, isSameMonth, getStartOfMonth, setYearOrMonthOfDate } from '../../utils/date-fns';
@@ -98,7 +97,6 @@ function Month(props) {
98
97
  className: monthLineCls,
99
98
  key: i
100
99
  }, _mapInstanceProperty(month).call(month, function (m, j) {
101
- var _context;
102
100
  var month = setMonth(viewDate, m);
103
101
  var _props = {
104
102
  onClick: function onClick() {
@@ -118,7 +116,7 @@ function Month(props) {
118
116
  var monthItemCls = classnames("".concat(prefixCls, "-month-item"), _defineProperty({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month)), getRangeCls(month));
119
117
  var originNode = /*#__PURE__*/React.createElement("span", {
120
118
  className: getMonthClassNames(m)
121
- }, _concatInstanceProperty(_context = "".concat(m + 1)).call(_context, locale.month));
119
+ }, "".concat(locale.monthTitle[m]));
122
120
  return /*#__PURE__*/React.createElement("div", _extends({
123
121
  className: monthItemCls,
124
122
  key: j
@@ -1,6 +1,6 @@
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
- import _extends from "@babel/runtime-corejs3/helpers/extends";
4
4
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
5
5
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
6
6
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
@@ -19,6 +19,7 @@ import { formatDate, isAfter, newDate, parseDate, isEqual, isSameQuarter, isSame
19
19
  import useTextValueMapping from './hooks/use-text-value-mapping';
20
20
  import useRangeViewDates from './hooks/use-range-view-dates';
21
21
  import useRangeDisabled from './hooks/use-range-disabled';
22
+ import { mergeDateLocale } from './date-picker';
22
23
  import getExtraFooter from './utils/get-extra-footer';
23
24
  import getRanges from './utils/get-ranges';
24
25
  import classNames from 'classnames';
@@ -105,7 +106,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
105
106
  status = datePickerProps.status,
106
107
  cellRender = datePickerProps.cellRender;
107
108
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
108
- var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
109
+ var datePickerLang = mergeDateLocale(globalLocale.getCompLangMsg({
109
110
  componentName: 'DatePicker'
110
111
  }), locale || {});
111
112
  // ref
@@ -152,8 +153,11 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
152
153
  }
153
154
  // Fill disabled unit
154
155
  for (var i = 0; i < 2; i++) {
155
- if (mergedDisabled[i] && !getValue(postValues, i) && !getValue(allowEmpty, i)) {
156
+ var v = getValue(postValues, i);
157
+ if (mergedDisabled[i] && !v && !getValue(allowEmpty, i)) {
156
158
  postValues = updateValues(postValues, newDate(), i);
159
+ } else if (v && !isValid(v)) {
160
+ postValues = updateValues(postValues, null, i);
157
161
  }
158
162
  }
159
163
  return postValues;
package/es/index.d.ts CHANGED
@@ -59,3 +59,4 @@ export { default as ColorPicker } from './color-picker';
59
59
  export { default as Clipboard } from './clipboard';
60
60
  export { default as QRCode } from './qr-code';
61
61
  export { default as Divider } from './divider';
62
+ export { default as Signature } from './signature';
package/es/index.js CHANGED
@@ -58,4 +58,5 @@ export { default as TreeSelect } from './tree-select';
58
58
  export { default as ColorPicker } from './color-picker';
59
59
  export { default as Clipboard } from './clipboard';
60
60
  export { default as QRCode } from './qr-code';
61
- export { default as Divider } from './divider';
61
+ export { default as Divider } from './divider';
62
+ export { default as Signature } from './signature';
@@ -100,6 +100,11 @@ declare class LocaleCache {
100
100
  'Table.confirmFilter': string;
101
101
  'Select.selectAll': string;
102
102
  'Select.seleted': string;
103
+ 'Signature.clickToSign': string;
104
+ 'Signature.pleaseWriteHere': string;
105
+ 'Signature.okText': string;
106
+ 'Signature.cancelText': string;
107
+ 'Signature.handwrittenSignature': string;
103
108
  'DatePicker.placeholder': string;
104
109
  'DatePicker.yearPlaceholder': string;
105
110
  'DatePicker.quarterPlaceholder': string;
@@ -111,7 +116,8 @@ declare class LocaleCache {
111
116
  'DatePicker.today': string;
112
117
  'DatePicker.year': string;
113
118
  'DatePicker.month': string;
114
- 'DatePicker.weekTitle': [string, string, string, string, string, string, string];
119
+ 'DatePicker.weekTitle': import("../date-picker/interface").WeekTitleType;
120
+ 'DatePicker.monthTitle': import("../date-picker/interface").MonthTitleType;
115
121
  'DatePicker.rangePlaceholder': [string, string];
116
122
  'DatePicker.rangeYearPlaceholder': [string, string];
117
123
  'DatePicker.rangeMonthPlaceholder': [string, string];
@@ -74,6 +74,11 @@ declare const locale: {
74
74
  'Table.confirmFilter': string;
75
75
  'Select.selectAll': string;
76
76
  'Select.seleted': string;
77
+ 'Signature.clickToSign': string;
78
+ 'Signature.pleaseWriteHere': string;
79
+ 'Signature.okText': string;
80
+ 'Signature.cancelText': string;
81
+ 'Signature.handwrittenSignature': string;
77
82
  'DatePicker.placeholder': string;
78
83
  'DatePicker.yearPlaceholder': string;
79
84
  'DatePicker.quarterPlaceholder': string;
@@ -85,7 +90,8 @@ declare const locale: {
85
90
  'DatePicker.today': string;
86
91
  'DatePicker.year': string;
87
92
  'DatePicker.month': string;
88
- 'DatePicker.weekTitle': [string, string, string, string, string, string, string];
93
+ 'DatePicker.weekTitle': import("../date-picker/interface").WeekTitleType;
94
+ 'DatePicker.monthTitle': import("../date-picker/interface").MonthTitleType;
89
95
  'DatePicker.rangePlaceholder': [string, string];
90
96
  'DatePicker.rangeYearPlaceholder': [string, string];
91
97
  'DatePicker.rangeMonthPlaceholder': [string, string];
@@ -77,6 +77,11 @@ var locale = _extends(_extends({
77
77
  'Table.resetFilter': '重置',
78
78
  'Table.confirmFilter': '确定',
79
79
  'Select.selectAll': '全选',
80
- 'Select.seleted': '已选{size}项'
80
+ 'Select.seleted': '已选{size}项',
81
+ 'Signature.clickToSign': '点击签名',
82
+ 'Signature.pleaseWriteHere': '请在此处横向书写签名',
83
+ 'Signature.okText': '确定',
84
+ 'Signature.cancelText': '取消',
85
+ 'Signature.handwrittenSignature': '手写签名'
81
86
  });
82
87
  export default locale;
package/es/modal/modal.js CHANGED
@@ -139,7 +139,9 @@ var InternalModal = function InternalModal(props, ref) {
139
139
  var escapeToCloseModal = useCallback(function (evt) {
140
140
  var _context;
141
141
  // In Internet Explorer 9 and Firefox 36 and earlier, the Esc key returns "Esc" instead of "Escape"
142
- if (_includesInstanceProperty(_context = ['Escape', 'Esc']).call(_context, evt.key)) {
142
+ var isModalVisible = destroyOnClose || (isForceController ? visible : innerVisible);
143
+ if (_includesInstanceProperty(_context = ['Escape', 'Esc']).call(_context, evt.key) && isModalVisible) {
144
+ evt.preventDefault();
143
145
  proxyCloseModal(onCancel);
144
146
  }
145
147
  }, [proxyCloseModal, onCancel]);
@@ -39,7 +39,7 @@ var Popconfirm = function Popconfirm(props) {
39
39
  }, [props.visible]);
40
40
  var confirmLocator = React.Children.count(children) === 1 && children.type ? children : /*#__PURE__*/React.createElement("span", null, children);
41
41
  var confirmTitle = typeof title === 'function' ? title() : title;
42
- var confirmMsg = typeof title === 'function' ? message() : message;
42
+ var confirmMsg = typeof message === 'function' ? message() : message;
43
43
  var handleCancel = function handleCancel(e) {
44
44
  props.visible === undefined && setVisible(false);
45
45
  onVisibleChange && onVisibleChange(false);
@@ -505,7 +505,7 @@ var InternalSelect = function InternalSelect(props, ref) {
505
505
  className: clearIconCls,
506
506
  ref: clearRef
507
507
  }, clearIcon || /*#__PURE__*/React.createElement(Icon, {
508
- type: "close-solid"
508
+ type: "close"
509
509
  })) : null, showArrow ? /*#__PURE__*/React.createElement("span", {
510
510
  className: arrowIconCls
511
511
  }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
@@ -542,10 +542,10 @@
542
542
  opacity: 1;
543
543
  }
544
544
  .kd-select .kd-select-single .kd-select-icon-clear {
545
- color: var(--kd-c-select-icon-clear-color-text, #d9d9d9);
545
+ color: var(--kd-c-select-icon-clear-color-text, #666);
546
546
  }
547
547
  .kd-select .kd-select-single .kd-select-icon-clear:hover {
548
- color: var(--kd-c-select-icon-clear-color-text-hover, #999);
548
+ color: var(--kd-c-select-icon-clear-color-text-hover, var(--kd-g-color-theme, #5582f3));
549
549
  }
550
550
  .kd-select .kd-select-single-text {
551
551
  color: var(--kd-c-select-single-color-text, var(--kd-g-color-text-primary, #212121));
@@ -660,10 +660,10 @@
660
660
  opacity: 1;
661
661
  }
662
662
  .kd-select-multiple .kd-select-icon-clear {
663
- color: var(--kd-c-select-icon-clear-color-text, #d9d9d9);
663
+ color: var(--kd-c-select-icon-clear-color-text, #666);
664
664
  }
665
665
  .kd-select-multiple .kd-select-icon-clear:hover {
666
- color: var(--kd-c-select-icon-clear-color-text-hover, #999);
666
+ color: var(--kd-c-select-icon-clear-color-text-hover, var(--kd-g-color-theme, #5582f3));
667
667
  }
668
668
  .kd-select-multiple-selector {
669
669
  position: relative;
@@ -20,8 +20,8 @@
20
20
  @select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', @color-disabled);
21
21
  @select-arrow-icon-color-text-disabled: var(~'@{select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
22
22
  @select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
23
- @select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #d9d9d9);
24
- @select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', #999);
23
+ @select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #666);
24
+ @select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', @color-theme);
25
25
  @select-error-color: var(~'@{select-custom-prefix}-color-error', @color-error);
26
26
 
27
27
  // font