@kdcloudjs/kdesign 1.7.37 → 1.7.40

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 (96) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +2 -1
  3. package/dist/kdesign-complete.less +107 -11
  4. package/dist/kdesign.css +186 -5
  5. package/dist/kdesign.css.map +1 -1
  6. package/dist/kdesign.js +1485 -240
  7. package/dist/kdesign.js.map +1 -1
  8. package/dist/kdesign.min.css +3 -3
  9. package/dist/kdesign.min.js +13 -8
  10. package/dist/kdesign.min.js.map +1 -1
  11. package/es/alert/style/index.css +4 -2
  12. package/es/alert/style/index.less +3 -1
  13. package/es/cascader/cascader.js +8 -4
  14. package/es/cascader/style/index.css +5 -2
  15. package/es/cascader/style/index.less +4 -2
  16. package/es/config-provider/compDefaultProps.d.ts +9 -0
  17. package/es/config-provider/compDefaultProps.js +10 -1
  18. package/es/date-picker/context.d.ts +4 -2
  19. package/es/date-picker/date-picker.d.ts +9 -0
  20. package/es/date-picker/date-picker.js +4 -2
  21. package/es/date-picker/panel/month/month.js +14 -9
  22. package/es/date-picker/panel/quarter/quarter.js +12 -4
  23. package/es/date-picker/panel/time/time-column.d.ts +2 -0
  24. package/es/date-picker/panel/time/time-column.js +14 -5
  25. package/es/date-picker/panel/time/time.js +8 -4
  26. package/es/date-picker/panel/week/week.js +20 -10
  27. package/es/date-picker/panel/year/year.js +12 -4
  28. package/es/date-picker/range-picker.js +11 -4
  29. package/es/index.d.ts +1 -0
  30. package/es/index.js +2 -1
  31. package/es/input-number/inputNumber.js +20 -14
  32. package/es/input-number/useSelectionRange.d.ts +2 -1
  33. package/es/input-number/useSelectionRange.js +3 -2
  34. package/es/modal/modal.d.ts +1 -0
  35. package/es/modal/modal.js +31 -5
  36. package/es/modal/style/index.css +21 -0
  37. package/es/modal/style/index.less +25 -9
  38. package/es/qr-code/index.d.ts +3 -0
  39. package/es/qr-code/index.js +3 -0
  40. package/es/qr-code/qr-code.d.ts +42 -0
  41. package/es/qr-code/qr-code.js +80 -0
  42. package/es/qr-code/style/css.js +2 -0
  43. package/es/qr-code/style/index.css +154 -0
  44. package/es/qr-code/style/index.d.ts +2 -0
  45. package/es/qr-code/style/index.js +2 -0
  46. package/es/qr-code/style/index.less +42 -0
  47. package/es/qr-code/style/mixin.less +6 -0
  48. package/es/qr-code/style/token.less +24 -0
  49. package/es/tree/tree.js +2 -2
  50. package/es/tree/treeHooks.d.ts +1 -1
  51. package/es/tree/treeHooks.js +2 -2
  52. package/es/tree-select/tree-select.js +2 -2
  53. package/lib/alert/style/index.css +4 -2
  54. package/lib/alert/style/index.less +3 -1
  55. package/lib/cascader/cascader.js +8 -4
  56. package/lib/cascader/style/index.css +5 -2
  57. package/lib/cascader/style/index.less +4 -2
  58. package/lib/config-provider/compDefaultProps.d.ts +9 -0
  59. package/lib/config-provider/compDefaultProps.js +10 -1
  60. package/lib/date-picker/context.d.ts +4 -2
  61. package/lib/date-picker/date-picker.d.ts +9 -0
  62. package/lib/date-picker/date-picker.js +4 -2
  63. package/lib/date-picker/panel/month/month.js +14 -9
  64. package/lib/date-picker/panel/quarter/quarter.js +12 -4
  65. package/lib/date-picker/panel/time/time-column.d.ts +2 -0
  66. package/lib/date-picker/panel/time/time-column.js +14 -5
  67. package/lib/date-picker/panel/time/time.js +8 -4
  68. package/lib/date-picker/panel/week/week.js +20 -10
  69. package/lib/date-picker/panel/year/year.js +12 -4
  70. package/lib/date-picker/range-picker.js +11 -4
  71. package/lib/index.d.ts +1 -0
  72. package/lib/index.js +7 -0
  73. package/lib/input-number/inputNumber.js +20 -14
  74. package/lib/input-number/useSelectionRange.d.ts +2 -1
  75. package/lib/input-number/useSelectionRange.js +3 -2
  76. package/lib/modal/modal.d.ts +1 -0
  77. package/lib/modal/modal.js +31 -5
  78. package/lib/modal/style/index.css +21 -0
  79. package/lib/modal/style/index.less +25 -9
  80. package/lib/qr-code/index.d.ts +3 -0
  81. package/lib/qr-code/index.js +27 -0
  82. package/lib/qr-code/qr-code.d.ts +42 -0
  83. package/lib/qr-code/qr-code.js +96 -0
  84. package/lib/qr-code/style/css.js +4 -0
  85. package/lib/qr-code/style/index.css +154 -0
  86. package/lib/qr-code/style/index.d.ts +2 -0
  87. package/lib/qr-code/style/index.js +4 -0
  88. package/lib/qr-code/style/index.less +42 -0
  89. package/lib/qr-code/style/mixin.less +6 -0
  90. package/lib/qr-code/style/token.less +24 -0
  91. package/lib/style/components.less +1 -0
  92. package/lib/tree/tree.js +2 -2
  93. package/lib/tree/treeHooks.d.ts +1 -1
  94. package/lib/tree/treeHooks.js +2 -2
  95. package/lib/tree-select/tree-select.js +4 -4
  96. package/package.json +4 -2
@@ -0,0 +1,24 @@
1
+ @import '../../style/themes/token.less';
2
+ @qrcode-custom-prefix: ~'--@{kd-prefix}-c-qrcode';
3
+ // color
4
+ @qrcode-color-text: var(~'@{qrcode-custom-prefix}-color-text', #111111);
5
+ @qrcode-color-border: var(~'@{qrcode-custom-prefix}-color-border',rgba(5, 5, 5, 0.06));
6
+ @qrcode-color-background: var(~'@{qrcode-custom-prefix}-color-background',rgba(255, 255, 255, 0.96));
7
+ // font
8
+ @qrcode-font-size: var(~'@{qrcode-custom-prefix}-font-size', 12px); // 组件级token
9
+
10
+ // line-height
11
+
12
+ // motion
13
+
14
+ // radius
15
+ @qrcode-border-radius: var(~'@{qrcode-custom-prefix}-border-radius', 2px);
16
+ // shadow
17
+
18
+ // sizing
19
+ @qrcode-size-boder: var(~'@{qrcode-custom-prefix}-size-border',1px);
20
+ @qrcode-size-spin: var(--kd-c-spin-page-dot-spin-sizing-square,28px);
21
+ // spacing
22
+ @qrcode-spacing-padding-horizontal: var(~'@{qrcode-custom-prefix}-spacing-padding-horizontal', 8px);
23
+ @qrcode-spacing-margin-vertical: var(~'@{qrcode-custom-prefix}-spacing-margin-vertical',4px);
24
+ // z-index
package/es/tree/tree.js CHANGED
@@ -142,7 +142,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
142
142
  setSearchStatus('NONE');
143
143
  }
144
144
  }, [filterValue]);
145
- var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus),
145
+ var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue),
146
146
  _useExpand2 = _slicedToArray(_useExpand, 2),
147
147
  expandedKeys = _useExpand2[0],
148
148
  setExpandedKeys = _useExpand2[1];
@@ -159,7 +159,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
159
159
  setHalfCheckedKeys = _useChecked2[3];
160
160
  var filterData = React.useMemo(function () {
161
161
  return getFilterData(spreadAttrData, filterTreeNode, isSearching, posData, keysData);
162
- }, [spreadAttrData, isSearching, posData, keysData]);
162
+ }, [spreadAttrData, isSearching, posData, keysData, filterValue]);
163
163
  useEffect(function () {
164
164
  var _a, _b;
165
165
  if (typeof scrollKey === 'undefined') {
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -59,7 +59,7 @@ export var useChecked = function useChecked(checkStrictly, checkedKeysProps, def
59
59
  }, [nextHalfCheckedKeys]);
60
60
  return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
61
61
  };
62
- export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus) {
62
+ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue) {
63
63
  var expandScrollkeys = [];
64
64
  if (scrollKey) {
65
65
  var pos = getPos(flattenAllData, scrollKey);
@@ -74,7 +74,7 @@ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, def
74
74
  setExpandedKeys = _React$useState8[1];
75
75
  React.useEffect(function () {
76
76
  setExpandedKeys(initialExpandedKeys);
77
- }, [flattenAllData, expandedKeysProps, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey, searchStatus]);
77
+ }, [flattenAllData, expandedKeysProps, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey, searchStatus, filterValue]);
78
78
  return [expandedKeys, setExpandedKeys];
79
79
  };
80
80
  export var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedItemSize, scrollRef, viewportHeight, treeNodePrefixCls) {
@@ -1,4 +1,3 @@
1
- import _typeof from "@babel/runtime-corejs3/helpers/typeof";
2
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
2
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
3
  import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
@@ -174,7 +173,8 @@ var InternalTreeSelect = function InternalTreeSelect(props, ref) {
174
173
  if (TreeMap.has(initValue)) {
175
174
  arr.push(TreeMap.get(initValue));
176
175
  } else {
177
- _typeof(initValue) !== undefined && arr.push({
176
+ ;
177
+ (initValue !== null && initValue !== void 0 ? initValue : '') !== '' && arr.push({
178
178
  key: initValue,
179
179
  title: initValue
180
180
  });
@@ -193,11 +193,13 @@
193
193
  cursor: default;
194
194
  }
195
195
  .kd-alert-leave {
196
- -webkit-transition: min-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), opacity var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), margin var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), line-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1);
197
- transition: min-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), opacity var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), margin var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), line-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1);
196
+ -webkit-transition: padding var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), opacity var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), margin var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), line-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1);
197
+ transition: padding var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), opacity var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), margin var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1), line-height var(--kd-g-duration, 0.3s) cubic-bezier(0.32, 0.94, 0.6, 1);
198
198
  display: -webkit-box;
199
199
  display: -ms-flexbox;
200
200
  display: flex;
201
+ padding: 0 var(--kd-c-alert-sizing-padding-horizontal, 20px);
202
+ border-width: 0;
201
203
  min-height: 0;
202
204
  margin: 0 !important;
203
205
  overflow: hidden;
@@ -81,10 +81,12 @@
81
81
  cursor: default;
82
82
  }
83
83
  &-leave {
84
- transition: min-height @duration-promptly @alert-transition-fn, opacity @duration-promptly @alert-transition-fn,
84
+ transition: padding @duration-promptly @alert-transition-fn, opacity @duration-promptly @alert-transition-fn,
85
85
  margin @duration-promptly @alert-transition-fn, height @duration-promptly @alert-transition-fn,
86
86
  line-height @duration-promptly @alert-transition-fn;
87
87
  display: flex;
88
+ padding: 0 @alert-padding-horizontal;
89
+ border-width: 0;
88
90
  min-height: 0;
89
91
  margin: 0 !important;
90
92
  overflow: hidden;
@@ -83,6 +83,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
83
83
  var prefixCls = getPrefixCls(pkgPrefixCls, 'cascader', customPrefixcls);
84
84
  var mergeRef = (0, _react.useRef)();
85
85
  var inputRef = (0, _react.useRef)();
86
+ var suffixRef = (0, _react.useRef)(null);
86
87
  var wrapperRef = (0, _react.useRef)();
87
88
  var _useState = (0, _react.useState)(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
88
89
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -212,10 +213,12 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
212
213
  };
213
214
  _react.default.useEffect(function () {
214
215
  var _a;
215
- (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup', handleMouseUp);
216
+ ;
217
+ (_a = (isMultiple ? suffixRef : wrapperRef).current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup', handleMouseUp);
216
218
  return function () {
217
219
  var _a;
218
- (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseup', handleMouseUp);
220
+ ;
221
+ (_a = (isMultiple ? suffixRef : wrapperRef).current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseup', handleMouseUp);
219
222
  };
220
223
  }, []);
221
224
  var labels = (0, _react.useMemo)(function () {
@@ -317,9 +320,10 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
317
320
  className: "".concat(prefixCls, "-tag-describe-content")
318
321
  }, "\u5171", currentOptions.length, "\u9879")) : null), /*#__PURE__*/_react.default.createElement("span", {
319
322
  className: "".concat(prefixCls, "-placeholder")
320
- }, !currentOptions.length && placeholder), /*#__PURE__*/_react.default.createElement("span", {
323
+ }, !currentOptions.length && placeholder)), /*#__PURE__*/_react.default.createElement("span", {
324
+ ref: suffixRef,
321
325
  className: "".concat(prefixCls, "-suffix")
322
- }, renderSuffix())));
326
+ }, renderSuffix()));
323
327
  };
324
328
  var renderSingle = function renderSingle() {
325
329
  var _classNames5;
@@ -276,9 +276,11 @@
276
276
  }
277
277
  .kd-cascader-bordered.kd-cascader-multiple .kd-cascader-suffix {
278
278
  right: 9px;
279
+ top: 50%;
280
+ -webkit-transform: translateY(-50%);
281
+ transform: translateY(-50%);
279
282
  }
280
283
  .kd-cascader-multiple {
281
- padding: 1px 28px 1px 0;
282
284
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
283
285
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
284
286
  width: 100%;
@@ -291,7 +293,6 @@
291
293
  cursor: pointer;
292
294
  -webkit-box-sizing: border-box;
293
295
  box-sizing: border-box;
294
- overflow-y: auto;
295
296
  overflow-x: hidden;
296
297
  position: relative;
297
298
  border-bottom: 1px solid #d9d9d9;
@@ -311,6 +312,8 @@
311
312
  -ms-flex-wrap: wrap;
312
313
  flex-wrap: wrap;
313
314
  width: 100%;
315
+ padding: 1px 28px 1px 0;
316
+ overflow-y: auto;
314
317
  }
315
318
  .kd-cascader-placeholder {
316
319
  position: absolute;
@@ -180,11 +180,12 @@
180
180
 
181
181
  .@{kd-prefix}-cascader-suffix {
182
182
  right: 9px;
183
+ top: 50%;
184
+ transform: translateY(-50%);
183
185
  }
184
186
  }
185
187
 
186
188
  &-multiple {
187
- padding: 1px 28px 1px 0;
188
189
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
189
190
  width: 100%;
190
191
  min-height: 30px;
@@ -193,7 +194,6 @@
193
194
  display: flex;
194
195
  cursor: pointer;
195
196
  box-sizing: border-box;
196
- overflow-y: auto;
197
197
  overflow-x: hidden;
198
198
  position: relative;
199
199
  border-bottom: 1px solid #d9d9d9;
@@ -210,6 +210,8 @@
210
210
  align-items: center;
211
211
  flex-wrap: wrap;
212
212
  width: 100%;
213
+ padding: 1px 28px 1px 0;
214
+ overflow-y: auto;
213
215
  }
214
216
 
215
217
  &-placeholder {
@@ -191,6 +191,7 @@ declare const compDefaultProps: {
191
191
  cancelButtonProps: {};
192
192
  okButtonProps: {};
193
193
  showline: boolean;
194
+ overroll: boolean;
194
195
  };
195
196
  Menu: {
196
197
  mode: string;
@@ -467,5 +468,13 @@ declare const compDefaultProps: {
467
468
  disabled: boolean;
468
469
  size: string;
469
470
  };
471
+ QRCode: {
472
+ value: string;
473
+ size: number;
474
+ status: string;
475
+ type: string;
476
+ errorLevel: string;
477
+ color: string;
478
+ };
470
479
  };
471
480
  export default compDefaultProps;
@@ -206,7 +206,8 @@ var compDefaultProps = {
206
206
  draggable: true,
207
207
  cancelButtonProps: {},
208
208
  okButtonProps: {},
209
- showline: true
209
+ showline: true,
210
+ overroll: false
210
211
  },
211
212
  Menu: {
212
213
  mode: 'vertical',
@@ -495,6 +496,14 @@ var compDefaultProps = {
495
496
  action: 'copy',
496
497
  disabled: false,
497
498
  size: 'middle'
499
+ },
500
+ QRCode: {
501
+ value: 'https://www.kingdee.design/',
502
+ size: 86,
503
+ status: 'active',
504
+ type: 'canvas',
505
+ errorLevel: 'H',
506
+ color: '#000000'
498
507
  }
499
508
  };
500
509
  var _default = compDefaultProps;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { DateType, InnerLocale, RangeValue, TimeUnit } from './interface';
3
- import { IInnerPicker } from './date-picker';
3
+ import { CellRenderProp, IInnerPicker } from './date-picker';
4
4
  export declare type ContextOperationRefProps = {
5
5
  onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => boolean;
6
6
  onClose?: () => void;
@@ -13,7 +13,7 @@ export interface SingleContextProps {
13
13
  dateValue?: DateType | null;
14
14
  rangeValue?: RangeValue;
15
15
  hoverRangedValue?: RangeValue;
16
- panelPosition?: string;
16
+ panelPosition?: 'right' | 'left';
17
17
  open?: boolean;
18
18
  originHour?: number;
19
19
  minute?: number;
@@ -28,6 +28,8 @@ export interface SingleContextProps {
28
28
  onDateMouseLeave: (arg?: boolean) => void;
29
29
  innerPicker: IInnerPicker;
30
30
  setInnerPicker: (p: IInnerPicker) => void;
31
+ cellRender?: CellRenderProp;
32
+ range?: 'start' | 'end';
31
33
  }
32
34
  declare const Context: React.Context<SingleContextProps>;
33
35
  export default Context;
@@ -2,6 +2,14 @@ import React from 'react';
2
2
  import { DateType } from './interface';
3
3
  import { PickerPanelBaseProps, PickerPanelDateProps, PickerPanelTimeProps } from './date-panel';
4
4
  import { BorderType, InputSiteType } from '../input/input';
5
+ export declare type CellRenderSubType = 'hour' | 'minute' | 'second' | '12Hours';
6
+ export declare type CellRenderProp = (current: DateType | number, info: {
7
+ originNode: React.ReactElement;
8
+ panelType: 'time' | 'date' | 'week' | 'month' | 'quarter' | 'year';
9
+ date?: DateType;
10
+ range?: 'start' | 'end';
11
+ subType?: CellRenderSubType;
12
+ }) => React.ReactNode;
5
13
  export interface PickerSharedProps extends React.AriaAttributes {
6
14
  dropdownClassName?: string;
7
15
  popupStyle?: React.CSSProperties;
@@ -38,6 +46,7 @@ export interface PickerSharedProps extends React.AriaAttributes {
38
46
  onClick?: React.MouseEventHandler<HTMLDivElement>;
39
47
  onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
40
48
  status?: 'error';
49
+ cellRender?: CellRenderProp;
41
50
  }
42
51
  declare type OmitPanelProps<Props> = Omit<Props, 'onChange' | 'hideHeader' | 'pickerValue' | 'onPickerValueChange'>;
43
52
  export interface PickerBaseProps extends PickerSharedProps, OmitPanelProps<PickerPanelBaseProps> {
@@ -93,7 +93,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
93
93
  onContextMenu = datePickerProps.onContextMenu,
94
94
  onClick = datePickerProps.onClick,
95
95
  _onOk = datePickerProps.onOk,
96
- status = datePickerProps.status;
96
+ status = datePickerProps.status,
97
+ cellRender = datePickerProps.cellRender;
97
98
  var inputDivRefDefault = _react.default.useRef(null);
98
99
  var inputDivRef = ref || inputDivRefDefault;
99
100
  var popperRefDefault = _react.default.useRef(null);
@@ -350,7 +351,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
350
351
  onDateMouseEnter: onEnter,
351
352
  onDateMouseLeave: onLeave,
352
353
  innerPicker: innerPicker,
353
- setInnerPicker: setInnerPicker
354
+ setInnerPicker: setInnerPicker,
355
+ cellRender: cellRender
354
356
  }
355
357
  }, panelNode, (extraFooter || rangesNode || todayNode) && innerPicker === undefined ? /*#__PURE__*/_react.default.createElement("div", {
356
358
  className: "".concat(datePickerPrefixCls, "-footer")
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.default = void 0;
11
- var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
12
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
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
15
  var _react = _interopRequireWildcard(require("react"));
@@ -33,7 +33,9 @@ function Month(props) {
33
33
  hoverRangedValue = context.hoverRangedValue,
34
34
  locale = context.locale,
35
35
  innerPicker = context.innerPicker,
36
- setInnerPicker = context.setInnerPicker;
36
+ setInnerPicker = context.setInnerPicker,
37
+ cellRender = context.cellRender,
38
+ range = context.range;
37
39
  var disabledDate = props.disabledDate;
38
40
  var _dateValue;
39
41
  if (panelPosition) {
@@ -100,12 +102,6 @@ function Month(props) {
100
102
  setInnerPicker(undefined);
101
103
  }
102
104
  };
103
- var renderMonthItem = function renderMonthItem(i) {
104
- var _context;
105
- return /*#__PURE__*/_react.default.createElement("span", {
106
- className: getMonthClassNames(i)
107
- }, (0, _concat.default)(_context = "".concat(i + 1)).call(_context, locale.month));
108
- };
109
105
  var renderMonth = function renderMonth() {
110
106
  var monthLayout = monthsThreeColumns;
111
107
  var monthLineCls = (0, _classnames3.default)("".concat(prefixCls, "-month-line"));
@@ -114,6 +110,7 @@ function Month(props) {
114
110
  className: monthLineCls,
115
111
  key: i
116
112
  }, (0, _map.default)(month).call(month, function (m, j) {
113
+ var _context;
117
114
  var month = (0, _dateFns.setMonth)(viewDate, m);
118
115
  var _props = {
119
116
  onClick: function onClick() {
@@ -131,10 +128,18 @@ function Month(props) {
131
128
  }
132
129
  };
133
130
  var monthItemCls = (0, _classnames3.default)("".concat(prefixCls, "-month-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month)), getRangeCls(month));
131
+ var originNode = /*#__PURE__*/_react.default.createElement("span", {
132
+ className: getMonthClassNames(m)
133
+ }, (0, _concat.default)(_context = "".concat(m + 1)).call(_context, locale.month));
134
134
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
135
135
  className: monthItemCls,
136
136
  key: j
137
- }, _props), renderMonthItem(m));
137
+ }, _props), typeof cellRender === 'function' ? cellRender(m + 1, {
138
+ originNode: originNode,
139
+ panelType: 'month',
140
+ range: range,
141
+ date: month
142
+ }) || originNode : originNode);
138
143
  }));
139
144
  });
140
145
  };
@@ -29,7 +29,9 @@ function Quarter(props) {
29
29
  onDateMouseLeave = context.onDateMouseLeave,
30
30
  rangeValue = context.rangeValue,
31
31
  panelPosition = context.panelPosition,
32
- hoverRangedValue = context.hoverRangedValue;
32
+ hoverRangedValue = context.hoverRangedValue,
33
+ cellRender = context.cellRender,
34
+ range = context.range;
33
35
  var disabledDate = props.disabledDate;
34
36
  var _dateValue;
35
37
  if (panelPosition) {
@@ -108,12 +110,18 @@ function Quarter(props) {
108
110
  }
109
111
  };
110
112
  var quarterCls = (0, _classnames3.default)("".concat(prefixCls, "-quarter-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-quarter-item-disabled"), disabledDate && disabledDate(quarter)), getRangeCls(quarter));
113
+ var originNode = /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
114
+ className: getQuarterClassNames(i + 1)
115
+ }, _props), n);
111
116
  return /*#__PURE__*/_react.default.createElement("div", {
112
117
  key: n,
113
118
  className: quarterCls
114
- }, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
115
- className: getQuarterClassNames(i + 1)
116
- }, _props), n));
119
+ }, typeof cellRender === 'function' ? cellRender(i + 1, {
120
+ originNode: originNode,
121
+ panelType: 'quarter',
122
+ range: range,
123
+ date: quarter
124
+ }) || originNode : originNode);
117
125
  });
118
126
  };
119
127
  var quarterCls = (0, _classnames3.default)("".concat(prefixCls, "-quarter"));
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { DateType } from '../../interface';
3
+ import { CellRenderSubType } from '../../date-picker';
3
4
  export interface Unit {
4
5
  label: React.ReactText;
5
6
  value: number;
@@ -12,6 +13,7 @@ export interface TimeUnitColumnProps {
12
13
  selectValue?: DateType;
13
14
  hideDisabledOptions?: boolean;
14
15
  onSelect?: (value: number) => void;
16
+ subType?: CellRenderSubType;
15
17
  }
16
18
  declare function TimeUnitColumn(props: TimeUnitColumnProps): JSX.Element;
17
19
  export default TimeUnitColumn;
@@ -23,10 +23,13 @@ function TimeUnitColumn(props) {
23
23
  onSelect = props.onSelect,
24
24
  value = props.value,
25
25
  hideDisabledOptions = props.hideDisabledOptions,
26
- selectValue = props.selectValue;
26
+ selectValue = props.selectValue,
27
+ subType = props.subType;
27
28
  var cellPrefixCls = "".concat(prefixCls, "-cell");
28
29
  var _React$useContext = React.useContext(_context.default),
29
- open = _React$useContext.open;
30
+ open = _React$useContext.open,
31
+ cellRender = _React$useContext.cellRender,
32
+ range = _React$useContext.range;
30
33
  var ulRef = (0, React.useRef)(null);
31
34
  var liRefs = (0, React.useRef)(new _map.default());
32
35
  var scrollRef = (0, React.useRef)();
@@ -63,6 +66,9 @@ function TimeUnitColumn(props) {
63
66
  if (hideDisabledOptions && unit.disabled) {
64
67
  return null;
65
68
  }
69
+ var originNode = /*#__PURE__*/React.createElement("div", {
70
+ className: "".concat(cellPrefixCls, "-inner")
71
+ }, unit.label);
66
72
  return /*#__PURE__*/React.createElement("div", {
67
73
  key: unit.value,
68
74
  ref: function ref(element) {
@@ -75,9 +81,12 @@ function TimeUnitColumn(props) {
75
81
  }
76
82
  onSelect(unit.value);
77
83
  }
78
- }, /*#__PURE__*/React.createElement("div", {
79
- className: "".concat(cellPrefixCls, "-inner")
80
- }, unit.label));
84
+ }, typeof cellRender === 'function' ? cellRender(unit.value, {
85
+ originNode: originNode,
86
+ panelType: 'time',
87
+ subType: subType,
88
+ range: range
89
+ }) || originNode : originNode);
81
90
  }));
82
91
  }
83
92
  var _default = TimeUnitColumn;
@@ -177,7 +177,8 @@ function TimePanel(props) {
177
177
  }
178
178
  }
179
179
  addColumnNode(showHour, /*#__PURE__*/React.createElement(_timeColumn.default, {
180
- key: "hour"
180
+ key: "hour",
181
+ subType: 'hour'
181
182
  }), hour, hours, function (num) {
182
183
  var time = setTime(isPM, num, minute, second);
183
184
  if (time) {
@@ -185,7 +186,8 @@ function TimePanel(props) {
185
186
  }
186
187
  });
187
188
  addColumnNode(showMinute, /*#__PURE__*/React.createElement(_timeColumn.default, {
188
- key: "minute"
189
+ key: "minute",
190
+ subType: 'minute'
189
191
  }), minute, minutes, function (num) {
190
192
  var time = setTime(isPM, hour, num, second);
191
193
  if (time) {
@@ -193,7 +195,8 @@ function TimePanel(props) {
193
195
  }
194
196
  });
195
197
  addColumnNode(showSecond, /*#__PURE__*/React.createElement(_timeColumn.default, {
196
- key: "second"
198
+ key: "second",
199
+ subType: 'second'
197
200
  }), second, seconds, function (num) {
198
201
  var time = setTime(isPM, hour, minute, num);
199
202
  if (time) {
@@ -205,7 +208,8 @@ function TimePanel(props) {
205
208
  PMIndex = isPM ? 1 : 0;
206
209
  }
207
210
  addColumnNode(use12Hours === true, /*#__PURE__*/React.createElement(_timeColumn.default, {
208
- key: "12hours"
211
+ key: "12hours",
212
+ subType: '12Hours'
209
213
  }), PMIndex, [{
210
214
  label: 'AM',
211
215
  value: 0,
@@ -47,7 +47,9 @@ function Week(props) {
47
47
  disabledTimePanel = context.disabledTimePanel,
48
48
  onSelect = context.onSelect,
49
49
  onDateMouseEnter = context.onDateMouseEnter,
50
- onDateMouseLeave = context.onDateMouseLeave;
50
+ onDateMouseLeave = context.onDateMouseLeave,
51
+ cellRender = context.cellRender,
52
+ range = context.range;
51
53
  var showWeekNumber = props.showWeekNumber,
52
54
  day = props.day,
53
55
  picker = props.picker,
@@ -188,8 +190,6 @@ function Week(props) {
188
190
  } else {
189
191
  now = dateValue || viewDate;
190
192
  }
191
- // if(hours) {
192
- // }
193
193
  var dayTime = (0, _dateFns.setTime)(day, {
194
194
  hour: (0, _dateFns2.getHours)(now),
195
195
  minute: (0, _dateFns2.getMinutes)(now),
@@ -212,18 +212,28 @@ function Week(props) {
212
212
  }
213
213
  }
214
214
  };
215
- // console.log('disabledDate', disabledDate)
215
+ var originNode = /*#__PURE__*/_react.default.createElement("div", {
216
+ className: getDayClassNames(day)
217
+ }, date);
216
218
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
217
219
  key: day.valueOf(),
218
220
  className: (0, _classnames5.default)("".concat(prefixCls, "-calendar-item"), (_classnames3 = {}, (0, _defineProperty2.default)(_classnames3, "".concat(prefixCls, "-calendar-item-disabled"), disabledDate && disabledDate(day)), (0, _defineProperty2.default)(_classnames3, "".concat(prefixCls, "-calendar-current"), currentMonth === (0, _dateFns.getMonth)(day)), _classnames3), getRangeCls(day))
219
- }, _props), /*#__PURE__*/_react.default.createElement("div", {
220
- className: getDayClassNames(day)
221
- }, date));
221
+ }, _props), typeof cellRender === 'function' ? cellRender(day, {
222
+ originNode: originNode,
223
+ panelType: 'date',
224
+ range: range,
225
+ date: day
226
+ }) || originNode : originNode);
222
227
  }));
223
- var calenderLineCls = (0, _classnames5.default)((_classnames4 = {}, (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-line"), picker !== 'week'), (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-week-line"), picker === 'week'), (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-week-selected"), picker === 'week' && getWeekSelected(startOfWeek)), _classnames4));
224
- return /*#__PURE__*/_react.default.createElement("div", {
225
- className: calenderLineCls
228
+ var originNode = /*#__PURE__*/_react.default.createElement("div", {
229
+ className: (0, _classnames5.default)((_classnames4 = {}, (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-line"), picker !== 'week'), (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-week-line"), picker === 'week'), (0, _defineProperty2.default)(_classnames4, "".concat(prefixCls, "-calendar-week-selected"), picker === 'week' && getWeekSelected(startOfWeek)), _classnames4))
226
230
  }, week);
231
+ return typeof cellRender === 'function' ? cellRender(weekNumber, {
232
+ originNode: originNode,
233
+ panelType: 'week',
234
+ range: range,
235
+ date: startOfWeek
236
+ }) || originNode : originNode;
227
237
  };
228
238
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderDays());
229
239
  }
@@ -30,7 +30,9 @@ function Year(props) {
30
30
  panelPosition = context.panelPosition,
31
31
  hoverRangedValue = context.hoverRangedValue,
32
32
  innerPicker = context.innerPicker,
33
- setInnerPicker = context.setInnerPicker;
33
+ setInnerPicker = context.setInnerPicker,
34
+ cellRender = context.cellRender,
35
+ range = context.range;
34
36
  var yearItemNumber = props.yearItemNumber,
35
37
  disabledDate = props.disabledDate,
36
38
  _props$picker = props.picker,
@@ -126,12 +128,18 @@ function Year(props) {
126
128
  }
127
129
  }
128
130
  };
131
+ var originNode = /*#__PURE__*/_react.default.createElement("span", {
132
+ className: getYearClassNames(y)
133
+ }, y);
129
134
  yearsList.push( /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
130
135
  className: (0, _classnames3.default)("".concat(prefixCls, "-year-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-year-item-disabled"), disabledDate && disabledDate(year)), getRangeCls(year)),
131
136
  key: y
132
- }, _props), /*#__PURE__*/_react.default.createElement("span", {
133
- className: getYearClassNames(y)
134
- }, y)));
137
+ }, _props), typeof cellRender === 'function' ? cellRender(y, {
138
+ originNode: originNode,
139
+ panelType: 'year',
140
+ range: range,
141
+ date: year
142
+ }) || originNode : originNode));
135
143
  };
136
144
  for (var y = startPeriod; y <= endPeriod; y++) {
137
145
  _loop();