@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,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.scrollToDirectory = void 0;
8
+ var _domScrollIntoView = _interopRequireDefault(require("dom-scroll-into-view"));
9
+ var scrollToDirectory = function scrollToDirectory(ref) {
10
+ var directoryElement = ref.current;
11
+ if (directoryElement) {
12
+ var rect = ref.current.getBoundingClientRect();
13
+ var parent = ref.current.parentElement;
14
+ var parentRect = parent.getBoundingClientRect();
15
+ var relativeTop = rect.top - parentRect.top;
16
+ var relativeBottom = rect.bottom - parentRect.top;
17
+ var isHide = relativeTop < 0 || relativeBottom > parent.clientHeight;
18
+ if (isHide) {
19
+ (0, _domScrollIntoView.default)(ref.current, ref.current.parentElement);
20
+ }
21
+ }
22
+ };
23
+ exports.scrollToDirectory = scrollToDirectory;
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.default = exports.CascaderPlacement = void 0;
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
12
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
13
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
14
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
15
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
16
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
17
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
@@ -24,6 +24,7 @@ var _type = require("../_utils/type");
24
24
  var _utils = require("../_utils");
25
25
  var _configProvider = require("../config-provider");
26
26
  var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
27
+ var _domUtil = require("../_utils/domUtil");
27
28
  var _input = _interopRequireDefault(require("../input"));
28
29
  var _icon = _interopRequireDefault(require("../icon"));
29
30
  var _empty = _interopRequireDefault(require("../empty"));
@@ -42,6 +43,28 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
42
43
  };
43
44
  var CascaderPlacement = (0, _type.tuple)('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
44
45
  exports.CascaderPlacement = CascaderPlacement;
46
+ var CascaderMenuSubmenu = function CascaderMenuSubmenu(props) {
47
+ var optionProps = props.optionProps,
48
+ label = props.label,
49
+ children = props.children,
50
+ selected = props.selected,
51
+ isMultiple = props.isMultiple;
52
+ var ref = (0, _react.useRef)(null);
53
+ var isFirst = (0, _react.useRef)(!isMultiple);
54
+ (0, _react.useEffect)(function () {
55
+ if (typeof selected === 'boolean' && isFirst.current && ref.current) {
56
+ isFirst.current = false;
57
+ if (selected && !isMultiple) {
58
+ (0, _domUtil.scrollToDirectory)(ref);
59
+ }
60
+ }
61
+ }, [selected]);
62
+ return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
63
+ ref: ref
64
+ }, optionProps, {
65
+ title: label
66
+ }), children);
67
+ };
45
68
  var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
46
69
  var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
47
70
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -85,13 +108,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
85
108
  var inputRef = (0, _react.useRef)();
86
109
  var suffixRef = (0, _react.useRef)(null);
87
110
  var wrapperRef = (0, _react.useRef)();
88
- var _useState = (0, _react.useState)(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
111
+ var _useState = (0, _react.useState)(false),
89
112
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
90
113
  visible = _useState2[0],
91
114
  setVisible = _useState2[1];
92
115
  _react.default.useEffect(function () {
93
116
  setVisible(!!props.popperVisible || !!props.popupVisible);
94
117
  }, [props.popperVisible, props.popupVisible]);
118
+ _react.default.useEffect(function () {
119
+ if (!!props.popperVisible || !!props.popupVisible || defaultPopupVisible) {
120
+ setVisible(true);
121
+ }
122
+ }, []);
95
123
  var _useState3 = (0, _react.useState)([options]),
96
124
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
97
125
  menus = _useState4[0],
@@ -412,11 +440,11 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
412
440
  }
413
441
  props.onChange && props.onChange(selectedValue, selectedOptions);
414
442
  };
415
- var onVisibleChange = function onVisibleChange(visible) {
416
- setVisible(visible);
417
- onPopupVisibleChange && onPopupVisibleChange(visible);
418
- onPopperVisibleChange && onPopperVisibleChange(visible);
419
- visible && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
443
+ var onVisibleChange = function onVisibleChange(v) {
444
+ setVisible(v);
445
+ onPopupVisibleChange && onPopupVisibleChange(v);
446
+ onPopperVisibleChange && onPopperVisibleChange(v);
447
+ v && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
420
448
  };
421
449
  var cascaderMenus = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (options === null || options === void 0 ? void 0 : options.length) ? (menus === null || menus === void 0 ? void 0 : menus.length) && (0, _map.default)(menus).call(menus, function (opts, index) {
422
450
  return /*#__PURE__*/_react.default.createElement("ul", {
@@ -449,10 +477,13 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
449
477
  }) : ((children === null || children === void 0 ? void 0 : children.length) || isLeaf === false) && (props.expandIcon || /*#__PURE__*/_react.default.createElement(_icon.default, {
450
478
  type: "arrow-right"
451
479
  })));
452
- return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
480
+ return /*#__PURE__*/_react.default.createElement(CascaderMenuSubmenu, (0, _extends2.default)({
453
481
  key: value
454
- }, optionProps, {
455
- title: label
482
+ }, {
483
+ isMultiple: isMultiple,
484
+ optionProps: optionProps,
485
+ label: label,
486
+ selected: selected
456
487
  }), isMultiple ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.default, {
457
488
  checked: (0, _util.getChecked)(checkedKeys, value),
458
489
  indeterminate: (0, _util.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;
@@ -516,6 +516,13 @@ var compDefaultProps = {
516
516
  type: 'canvas',
517
517
  errorLevel: 'H',
518
518
  color: '#000000'
519
+ },
520
+ Signature: {
521
+ penColor: 'black',
522
+ backgroundColor: 'white',
523
+ containerWidth: 610,
524
+ containerHeight: 500,
525
+ canFullScreen: true
519
526
  }
520
527
  };
521
528
  var _default = compDefaultProps;
@@ -152,7 +152,7 @@ function Panel(props) {
152
152
  };
153
153
  var renderDateHeader = function renderDateHeader() {
154
154
  var year = (0, _dateFns.getYear)(viewDate);
155
- var month = (0, _dateFns.getMonth)(viewDate) + 1;
155
+ var month = (0, _dateFns.getMonth)(viewDate);
156
156
  var headerCls = (0, _classnames4.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-date"));
157
157
  return {
158
158
  children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
@@ -161,7 +161,7 @@ function Panel(props) {
161
161
  }, year + locale.year), /*#__PURE__*/_react.default.createElement("span", {
162
162
  className: (0, _classnames4.default)("".concat(prefixCls, "-header-text-inner"), "".concat(prefixCls, "-header-text-inner-hover"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-header-text-inner-active"), isInnerMonth)),
163
163
  onClick: onHeaderMonthClick
164
- }, month + locale.month)),
164
+ }, locale.monthTitle[month])),
165
165
  className: headerCls
166
166
  };
167
167
  };
@@ -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;
@@ -7,7 +7,9 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.mergeDateLocale = exports.default = void 0;
11
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
12
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
11
13
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
13
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
@@ -16,7 +18,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
16
18
  var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
17
19
  var _hooks = require("../_utils/hooks");
18
20
  var _utils = require("../_utils");
19
- var _context = _interopRequireDefault(require("./context"));
21
+ var _context2 = _interopRequireDefault(require("./context"));
20
22
  var _datePanel = _interopRequireDefault(require("./date-panel"));
21
23
  var _inputDate = _interopRequireDefault(require("./single/input-date"));
22
24
  var _utils2 = require("./utils");
@@ -29,6 +31,29 @@ var _getRanges = _interopRequireDefault(require("./utils/get-ranges"));
29
31
  var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
30
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+ var MONTH_DEFAULT_SUFFIX = '月';
35
+ var mergeDateLocale = function mergeDateLocale(globalLocale) {
36
+ var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
37
+ var mergeLocale = (0, _extends2.default)({}, globalLocale, locale);
38
+ mergeLocale.weekTitle = (0, _from.default)({
39
+ length: 7
40
+ }, function (_, index) {
41
+ return mergeLocale.weekTitle[index] || globalLocale.weekTitle[index];
42
+ });
43
+ mergeLocale.monthTitle = (0, _from.default)({
44
+ length: 12
45
+ }, function (_, index) {
46
+ return mergeLocale.monthTitle[index] || globalLocale.monthTitle[index];
47
+ });
48
+ if ((mergeLocale === null || mergeLocale === void 0 ? void 0 : mergeLocale.month) && mergeLocale.month !== MONTH_DEFAULT_SUFFIX) {
49
+ var _context;
50
+ mergeLocale.monthTitle = (0, _map.default)(_context = mergeLocale.monthTitle).call(_context, function (d) {
51
+ return d.toString().replace(MONTH_DEFAULT_SUFFIX, mergeLocale.month);
52
+ });
53
+ }
54
+ return mergeLocale;
55
+ };
56
+ exports.mergeDateLocale = mergeDateLocale;
32
57
  var InternalDatePicker = function InternalDatePicker(props, ref) {
33
58
  var customPrefixcls = props.prefixCls;
34
59
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
@@ -104,7 +129,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
104
129
  var isMinuteStepValid = 60 % minuteStep === 0;
105
130
  var isSecondStepValid = 60 % secondStep === 0;
106
131
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
107
- var datePickerLang = (0, _extends2.default)({}, globalLocale.getCompLangMsg({
132
+ var datePickerLang = mergeDateLocale(globalLocale.getCompLangMsg({
108
133
  componentName: 'DatePicker'
109
134
  }), locale || {});
110
135
  var _useMergedState = (0, _hooks.useMergedState)(null, {
@@ -114,10 +139,15 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
114
139
  _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
115
140
  dateValue = _useMergedState2[0],
116
141
  setDateValue = _useMergedState2[1];
117
- var _React$useState = _react.default.useState(dateValue),
118
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
119
- selectedValue = _React$useState2[0],
120
- setSelectedValue = _React$useState2[1];
142
+ var _useMergedState3 = (0, _hooks.useMergedState)(null, {
143
+ value: dateValue,
144
+ postState: function postState(v) {
145
+ return v && !(0, _dateFns.isValid)(v) ? null : v;
146
+ }
147
+ }),
148
+ _useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
149
+ selectedValue = _useMergedState4[0],
150
+ setSelectedValue = _useMergedState4[1];
121
151
  var hours;
122
152
  var minutes;
123
153
  var seconds;
@@ -148,7 +178,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
148
178
  viewDate = _useState2[0],
149
179
  setInnerViewDate = _useState2[1];
150
180
  var setViewDate = function setViewDate(date) {
151
- setInnerViewDate((0, _dateFns.isDate)(date) ? date : new Date());
181
+ setInnerViewDate((0, _dateFns.isValid)(date) ? date : new Date());
152
182
  };
153
183
  (0, _react.useEffect)(function () {
154
184
  setViewDate(dateValue);
@@ -187,7 +217,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
187
217
  hoverValue = _useHoverValue2[0],
188
218
  onEnter = _useHoverValue2[1],
189
219
  onLeave = _useHoverValue2[2];
190
- var _useMergedState3 = (0, _hooks.useMergedState)(false, {
220
+ var _useMergedState5 = (0, _hooks.useMergedState)(false, {
191
221
  value: open,
192
222
  defaultValue: defaultOpen,
193
223
  postState: function postState(postOpen) {
@@ -202,10 +232,10 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
202
232
  // }
203
233
  }
204
234
  }),
205
- _useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
206
- openValue = _useMergedState4[0],
207
- triggerInnerOpen = _useMergedState4[1];
208
- var _useMergedState5 = (0, _hooks.useMergedState)(function () {
235
+ _useMergedState6 = (0, _slicedToArray2.default)(_useMergedState5, 2),
236
+ openValue = _useMergedState6[0],
237
+ triggerInnerOpen = _useMergedState6[1];
238
+ var _useMergedState7 = (0, _hooks.useMergedState)(function () {
209
239
  if (picker === 'time') {
210
240
  return 'time';
211
241
  }
@@ -213,9 +243,9 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
213
243
  }, {
214
244
  value: mode
215
245
  }),
216
- _useMergedState6 = (0, _slicedToArray2.default)(_useMergedState5, 2),
217
- mergedMode = _useMergedState6[0],
218
- setInnerMode = _useMergedState6[1];
246
+ _useMergedState8 = (0, _slicedToArray2.default)(_useMergedState7, 2),
247
+ mergedMode = _useMergedState8[0],
248
+ setInnerMode = _useMergedState8[1];
219
249
  var _useState3 = (0, _react.useState)(undefined),
220
250
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
221
251
  innerPicker = _useState4[0],
@@ -243,9 +273,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
243
273
  }
244
274
  // eslint-disable-next-line react-hooks/exhaustive-deps
245
275
  }, [picker]);
246
- (0, _react.useEffect)(function () {
247
- setSelectedValue(dateValue);
248
- }, [dateValue]);
249
276
  (0, _hooks.useOnClickOutside)([popperRef, inputDivRef], function () {
250
277
  setViewDate(selectedValue || (0, _dateFns.newDate)());
251
278
  triggerOpen(false);
@@ -335,7 +362,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
335
362
  if (panelRender) {
336
363
  panelNode = panelRender(panelNode);
337
364
  }
338
- return /*#__PURE__*/_react.default.createElement(_context.default.Provider, {
365
+ return /*#__PURE__*/_react.default.createElement(_context2.default.Provider, {
339
366
  value: {
340
367
  hours: hours,
341
368
  minutes: minutes,
@@ -60,6 +60,12 @@ function getRangeViewDate(values, index, picker) {
60
60
  }
61
61
  return startDate;
62
62
  }
63
+ function checkViewDate(value) {
64
+ if (value && !(0, _dateFns.isValid)(value)) {
65
+ return false;
66
+ }
67
+ return value;
68
+ }
63
69
  function useRangeViewDates(_ref) {
64
70
  var values = (0, _values.default)(_ref),
65
71
  picker = _ref.picker,
@@ -80,7 +86,7 @@ function useRangeViewDates(_ref) {
80
86
  if (defaultViewDates[index]) {
81
87
  return defaultViewDates[index];
82
88
  }
83
- return (0, _utils.getValue)(viewDates, index) || getRangeViewDate(values, index, picker) || startDate || endDate || (0, _dateFns.newDate)();
89
+ return checkViewDate((0, _utils.getValue)(viewDates, index)) || checkViewDate(getRangeViewDate(values, index, picker)) || checkViewDate(startDate) || checkViewDate(endDate) || (0, _dateFns.newDate)();
84
90
  }
85
91
  function setViewDate(viewDate, index) {
86
92
  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];
@@ -18,28 +18,7 @@ var locale = {
18
18
  'DatePicker.month': '月',
19
19
  'DatePicker.year': '年',
20
20
  'DatePicker.weekTitle': ['日', '一', '二', '三', '四', '五', '六'],
21
- // 'DatePicker.backToToday': '返回今天',
22
- // 'DatePicker.timeSelect': '选择时间',
23
- // 'DatePicker.dateSelect': '选择日期',
24
- // 'DatePicker.weekSelect': '选择周',
25
- // 'DatePicker.clear': '清除',
26
- // 'DatePicker.month': '月',
27
- // 'DatePicker.year': '年',
28
- // 'DatePicker.previousMonth': '上个月 (翻页上键)',
29
- // 'DatePicker.nextMonth': '下个月 (翻页下键)',
30
- // 'DatePicker.monthSelect': '选择月份',
31
- // 'DatePicker.yearSelect': '选择年份',
32
- // 'DatePicker.decadeSelect': '选择年代',
33
- // 'DatePicker.yearFormat': 'YYYY年',
34
- // 'DatePicker.dayFormat': 'D日',
35
- // 'DatePicker.dateFormat': 'YYYY年M月D日',
36
- // 'DatePicker.dateTimeFormat': 'YYYY年M月D日 HH时mm分ss秒',
37
- // 'DatePicker.previousYear': '上一年 (Control键加左方向键)',
38
- // 'DatePicker.nextYear': '下一年 (Control键加右方向键)',
39
- // 'DatePicker.previousDecade': '上一年代',
40
- // 'DatePicker.nextDecade': '下一年代',
41
- // 'DatePicker.previousCentury': '上一世纪',
42
- // 'DatePicker.nextCentury': '下一世纪',
21
+ 'DatePicker.monthTitle': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
43
22
  'DatePicker.rangePlaceholder': ['开始日期', '结束日期'],
44
23
  'DatePicker.rangeYearPlaceholder': ['开始年份', '结束年份'],
45
24
  'DatePicker.rangeMonthPlaceholder': ['开始月份', '结束月份'],
@@ -9,19 +9,18 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
12
- var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
13
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
14
  var _react = _interopRequireWildcard(require("react"));
16
15
  var _classnames3 = _interopRequireDefault(require("classnames"));
17
16
  var _dateFns = require("../../utils/date-fns");
18
- var _context2 = _interopRequireDefault(require("../../context"));
17
+ var _context = _interopRequireDefault(require("../../context"));
19
18
  var _useRangeCls = _interopRequireDefault(require("../../hooks/use-range-cls"));
20
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
21
  var monthsThreeColumns = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]];
23
22
  function Month(props) {
24
- var context = (0, _react.useContext)(_context2.default);
23
+ var context = (0, _react.useContext)(_context.default);
25
24
  var prefixCls = context.prefixCls,
26
25
  dateValue = context.dateValue,
27
26
  viewDate = context.viewDate,
@@ -110,7 +109,6 @@ function Month(props) {
110
109
  className: monthLineCls,
111
110
  key: i
112
111
  }, (0, _map.default)(month).call(month, function (m, j) {
113
- var _context;
114
112
  var month = (0, _dateFns.setMonth)(viewDate, m);
115
113
  var _props = {
116
114
  onClick: function onClick() {
@@ -130,7 +128,7 @@ function Month(props) {
130
128
  var monthItemCls = (0, _classnames3.default)("".concat(prefixCls, "-month-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month)), getRangeCls(month));
131
129
  var originNode = /*#__PURE__*/_react.default.createElement("span", {
132
130
  className: getMonthClassNames(m)
133
- }, (0, _concat.default)(_context = "".concat(m + 1)).call(_context, locale.month));
131
+ }, "".concat(locale.monthTitle[m]));
134
132
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
135
133
  className: monthItemCls,
136
134
  key: j
@@ -11,9 +11,9 @@ exports.default = void 0;
11
11
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
12
12
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
13
13
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
16
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
17
  var _react = _interopRequireWildcard(require("react"));
18
18
  var _isSameWeek = _interopRequireDefault(require("date-fns/isSameWeek"));
19
19
  var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
@@ -29,6 +29,7 @@ var _dateFns = require("./utils/date-fns");
29
29
  var _useTextValueMapping5 = _interopRequireDefault(require("./hooks/use-text-value-mapping"));
30
30
  var _useRangeViewDates3 = _interopRequireDefault(require("./hooks/use-range-view-dates"));
31
31
  var _useRangeDisabled3 = _interopRequireDefault(require("./hooks/use-range-disabled"));
32
+ var _datePicker = require("./date-picker");
32
33
  var _getExtraFooter = _interopRequireDefault(require("./utils/get-extra-footer"));
33
34
  var _getRanges = _interopRequireDefault(require("./utils/get-ranges"));
34
35
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -117,7 +118,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
117
118
  status = datePickerProps.status,
118
119
  cellRender = datePickerProps.cellRender;
119
120
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
120
- var datePickerLang = (0, _extends2.default)({}, globalLocale.getCompLangMsg({
121
+ var datePickerLang = (0, _datePicker.mergeDateLocale)(globalLocale.getCompLangMsg({
121
122
  componentName: 'DatePicker'
122
123
  }), locale || {});
123
124
  // ref
@@ -164,8 +165,11 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
164
165
  }
165
166
  // Fill disabled unit
166
167
  for (var i = 0; i < 2; i++) {
167
- if (mergedDisabled[i] && !(0, _utils2.getValue)(postValues, i) && !(0, _utils2.getValue)(allowEmpty, i)) {
168
+ var v = (0, _utils2.getValue)(postValues, i);
169
+ if (mergedDisabled[i] && !v && !(0, _utils2.getValue)(allowEmpty, i)) {
168
170
  postValues = (0, _utils2.updateValues)(postValues, (0, _dateFns.newDate)(), i);
171
+ } else if (v && !(0, _dateFns.isValid)(v)) {
172
+ postValues = (0, _utils2.updateValues)(postValues, null, i);
169
173
  }
170
174
  }
171
175
  return postValues;
package/lib/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/lib/index.js CHANGED
@@ -277,6 +277,12 @@ Object.defineProperty(exports, "Select", {
277
277
  return _select.default;
278
278
  }
279
279
  });
280
+ Object.defineProperty(exports, "Signature", {
281
+ enumerable: true,
282
+ get: function get() {
283
+ return _signature.default;
284
+ }
285
+ });
280
286
  Object.defineProperty(exports, "Slider", {
281
287
  enumerable: true,
282
288
  get: function get() {
@@ -458,6 +464,7 @@ var _colorPicker = _interopRequireDefault(require("./color-picker"));
458
464
  var _clipboard = _interopRequireDefault(require("./clipboard"));
459
465
  var _qrCode = _interopRequireDefault(require("./qr-code"));
460
466
  var _divider = _interopRequireDefault(require("./divider"));
467
+ var _signature = _interopRequireDefault(require("./signature"));
461
468
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
462
469
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
463
470
  /* @remove-on-es-build-begin */
@@ -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];
@@ -84,7 +84,12 @@ var locale = (0, _extends2.default)((0, _extends2.default)({
84
84
  'Table.resetFilter': '重置',
85
85
  'Table.confirmFilter': '确定',
86
86
  'Select.selectAll': '全选',
87
- 'Select.seleted': '已选{size}项'
87
+ 'Select.seleted': '已选{size}项',
88
+ 'Signature.clickToSign': '点击签名',
89
+ 'Signature.pleaseWriteHere': '请在此处横向书写签名',
90
+ 'Signature.okText': '确定',
91
+ 'Signature.cancelText': '取消',
92
+ 'Signature.handwrittenSignature': '手写签名'
88
93
  });
89
94
  var _default = locale;
90
95
  exports.default = _default;
@@ -153,7 +153,9 @@ var InternalModal = function InternalModal(props, ref) {
153
153
  var escapeToCloseModal = (0, _react.useCallback)(function (evt) {
154
154
  var _context;
155
155
  // In Internet Explorer 9 and Firefox 36 and earlier, the Esc key returns "Esc" instead of "Escape"
156
- if ((0, _includes.default)(_context = ['Escape', 'Esc']).call(_context, evt.key)) {
156
+ var isModalVisible = destroyOnClose || (isForceController ? visible : innerVisible);
157
+ if ((0, _includes.default)(_context = ['Escape', 'Esc']).call(_context, evt.key) && isModalVisible) {
158
+ evt.preventDefault();
157
159
  proxyCloseModal(onCancel);
158
160
  }
159
161
  }, [proxyCloseModal, onCancel]);
@@ -51,7 +51,7 @@ var Popconfirm = function Popconfirm(props) {
51
51
  }, [props.visible]);
52
52
  var confirmLocator = React.Children.count(children) === 1 && children.type ? children : /*#__PURE__*/React.createElement("span", null, children);
53
53
  var confirmTitle = typeof title === 'function' ? title() : title;
54
- var confirmMsg = typeof title === 'function' ? message() : message;
54
+ var confirmMsg = typeof message === 'function' ? message() : message;
55
55
  var handleCancel = function handleCancel(e) {
56
56
  props.visible === undefined && setVisible(false);
57
57
  onVisibleChange && onVisibleChange(false);