@sheinx/hooks 3.9.0-beta.3 → 3.9.0-beta.31

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 (103) hide show
  1. package/cjs/common/use-filter/use-filter.type.d.ts +1 -1
  2. package/cjs/common/use-filter/use-filter.type.d.ts.map +1 -1
  3. package/cjs/common/use-input-able/use-Input-able.d.ts.map +1 -1
  4. package/cjs/common/use-input-able/use-Input-able.js +6 -7
  5. package/cjs/components/use-button/use-button.d.ts +2 -2
  6. package/cjs/components/use-carousel/use-carousel.d.ts +12 -0
  7. package/cjs/components/use-carousel/use-carousel.d.ts.map +1 -1
  8. package/cjs/components/use-carousel/use-carousel.js +67 -17
  9. package/cjs/components/use-datepicker/use-date.d.ts.map +1 -1
  10. package/cjs/components/use-datepicker/use-date.js +7 -7
  11. package/cjs/components/use-datepicker/use-date.type.d.ts +2 -1
  12. package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
  13. package/cjs/components/use-datepicker/use-datepicker-range.d.ts +2 -2
  14. package/cjs/components/use-datepicker/use-datepicker-range.d.ts.map +1 -1
  15. package/cjs/components/use-datepicker/use-datepicker-range.js +7 -16
  16. package/cjs/components/use-datepicker/use-month.d.ts.map +1 -1
  17. package/cjs/components/use-datepicker/use-month.js +5 -5
  18. package/cjs/components/use-datepicker/use-month.type.d.ts +2 -1
  19. package/cjs/components/use-datepicker/use-month.type.d.ts.map +1 -1
  20. package/cjs/components/use-datepicker/use-quarter.d.ts.map +1 -1
  21. package/cjs/components/use-datepicker/use-quarter.js +5 -5
  22. package/cjs/components/use-datepicker/use-year.d.ts.map +1 -1
  23. package/cjs/components/use-datepicker/use-year.js +5 -5
  24. package/cjs/components/use-datepicker/use-year.type.d.ts +2 -1
  25. package/cjs/components/use-datepicker/use-year.type.d.ts.map +1 -1
  26. package/cjs/components/use-form/use-form.type.d.ts +1 -1
  27. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  28. package/cjs/components/use-input/use-input-format.d.ts +1 -1
  29. package/cjs/components/use-input/use-input-number.d.ts +1 -1
  30. package/cjs/components/use-table/use-table-columns.d.ts +8 -1
  31. package/cjs/components/use-table/use-table-columns.d.ts.map +1 -1
  32. package/cjs/components/use-table/use-table-columns.js +90 -1
  33. package/cjs/components/use-table/use-table-filter.d.ts +2 -2
  34. package/cjs/components/use-table/use-table-filter.d.ts.map +1 -1
  35. package/cjs/components/use-table/use-table-filter.js +11 -5
  36. package/cjs/components/use-table/use-table-layout.js +1 -1
  37. package/cjs/components/use-table/use-table-virtual.d.ts +2 -0
  38. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  39. package/cjs/components/use-table/use-table-virtual.js +44 -10
  40. package/cjs/utils/dom/element.d.ts.map +1 -1
  41. package/cjs/utils/dom/element.js +3 -0
  42. package/cjs/utils/dom/get-dataset.d.ts +4 -0
  43. package/cjs/utils/dom/get-dataset.d.ts.map +1 -0
  44. package/cjs/utils/dom/get-dataset.js +18 -0
  45. package/cjs/utils/dom/index.d.ts +1 -0
  46. package/cjs/utils/dom/index.d.ts.map +1 -1
  47. package/cjs/utils/dom/index.js +12 -0
  48. package/cjs/utils/rule/regexp.d.ts +1 -1
  49. package/cjs/utils/rule/required.d.ts.map +1 -1
  50. package/cjs/utils/rule/required.js +3 -1
  51. package/cjs/utils/validate/get-rule.js +1 -1
  52. package/esm/common/use-filter/use-filter.type.d.ts +1 -1
  53. package/esm/common/use-filter/use-filter.type.d.ts.map +1 -1
  54. package/esm/common/use-input-able/use-Input-able.d.ts.map +1 -1
  55. package/esm/common/use-input-able/use-Input-able.js +7 -8
  56. package/esm/components/use-button/use-button.d.ts +2 -2
  57. package/esm/components/use-carousel/use-carousel.d.ts +12 -0
  58. package/esm/components/use-carousel/use-carousel.d.ts.map +1 -1
  59. package/esm/components/use-carousel/use-carousel.js +67 -17
  60. package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
  61. package/esm/components/use-datepicker/use-date.js +7 -7
  62. package/esm/components/use-datepicker/use-date.type.d.ts +2 -1
  63. package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
  64. package/esm/components/use-datepicker/use-datepicker-range.d.ts +2 -2
  65. package/esm/components/use-datepicker/use-datepicker-range.d.ts.map +1 -1
  66. package/esm/components/use-datepicker/use-datepicker-range.js +7 -16
  67. package/esm/components/use-datepicker/use-month.d.ts.map +1 -1
  68. package/esm/components/use-datepicker/use-month.js +5 -5
  69. package/esm/components/use-datepicker/use-month.type.d.ts +2 -1
  70. package/esm/components/use-datepicker/use-month.type.d.ts.map +1 -1
  71. package/esm/components/use-datepicker/use-quarter.d.ts.map +1 -1
  72. package/esm/components/use-datepicker/use-quarter.js +5 -5
  73. package/esm/components/use-datepicker/use-year.d.ts.map +1 -1
  74. package/esm/components/use-datepicker/use-year.js +5 -5
  75. package/esm/components/use-datepicker/use-year.type.d.ts +2 -1
  76. package/esm/components/use-datepicker/use-year.type.d.ts.map +1 -1
  77. package/esm/components/use-form/use-form.type.d.ts +1 -1
  78. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  79. package/esm/components/use-input/use-input-format.d.ts +1 -1
  80. package/esm/components/use-input/use-input-number.d.ts +1 -1
  81. package/esm/components/use-table/use-table-columns.d.ts +8 -1
  82. package/esm/components/use-table/use-table-columns.d.ts.map +1 -1
  83. package/esm/components/use-table/use-table-columns.js +91 -2
  84. package/esm/components/use-table/use-table-filter.d.ts +2 -2
  85. package/esm/components/use-table/use-table-filter.d.ts.map +1 -1
  86. package/esm/components/use-table/use-table-filter.js +11 -5
  87. package/esm/components/use-table/use-table-layout.js +1 -1
  88. package/esm/components/use-table/use-table-virtual.d.ts +2 -0
  89. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  90. package/esm/components/use-table/use-table-virtual.js +44 -10
  91. package/esm/utils/dom/element.d.ts.map +1 -1
  92. package/esm/utils/dom/element.js +3 -0
  93. package/esm/utils/dom/get-dataset.d.ts +4 -0
  94. package/esm/utils/dom/get-dataset.d.ts.map +1 -0
  95. package/esm/utils/dom/get-dataset.js +12 -0
  96. package/esm/utils/dom/index.d.ts +1 -0
  97. package/esm/utils/dom/index.d.ts.map +1 -1
  98. package/esm/utils/dom/index.js +1 -0
  99. package/esm/utils/rule/regexp.d.ts +1 -1
  100. package/esm/utils/rule/required.d.ts.map +1 -1
  101. package/esm/utils/rule/required.js +3 -1
  102. package/esm/utils/validate/get-rule.js +1 -1
  103. package/package.json +2 -2
@@ -10,9 +10,21 @@ import useLatestObj from "../../common/use-latest-obj";
10
10
  var useCarousel = function useCarousel(props) {
11
11
  var total = props.total,
12
12
  _props$interval = props.interval,
13
- interval = _props$interval === void 0 ? 0 : _props$interval;
13
+ interval = _props$interval === void 0 ? 0 : _props$interval,
14
+ _props$defaultValue = props.defaultValue,
15
+ defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
16
+ valueProp = props.value,
17
+ onChange = props.onChange;
18
+
19
+ // 规范化初始值,确保在有效范围内
20
+ var normalizeIndex = function normalizeIndex(index) {
21
+ if (index < 0) return 0;
22
+ if (index >= total) return Math.max(0, total - 1);
23
+ return index;
24
+ };
25
+ var initialValue = normalizeIndex(valueProp !== undefined ? valueProp : defaultValue);
14
26
  var _useState = useState({
15
- current: 0,
27
+ current: initialValue,
16
28
  pre: -1,
17
29
  direction: 'stop'
18
30
  }),
@@ -25,14 +37,32 @@ var useCarousel = function useCarousel(props) {
25
37
  var _useRef = useRef({
26
38
  timer: null,
27
39
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
- setNext: function setNext(next) {}
40
+ setNext: function setNext(next) {},
41
+ prevValue: initialValue // 用于追踪上一次的值
29
42
  }),
30
43
  context = _useRef.current;
44
+
45
+ // 判断是否为受控模式
46
+ var isControlled = valueProp !== undefined;
47
+ // 获取实际使用的 current 值
48
+ var actualCurrent = isControlled ? normalizeIndex(valueProp) : current;
49
+
50
+ // 在受控模式下,计算 direction 和 pre
51
+ var actualPre = pre;
52
+ var actualDirection = direction;
53
+ if (isControlled) {
54
+ if (actualCurrent !== context.prevValue) {
55
+ actualPre = context.prevValue;
56
+ actualDirection = actualCurrent > context.prevValue ? 'forward' : 'backward';
57
+ context.prevValue = actualCurrent;
58
+ }
59
+ }
31
60
  var autoPlay = interval > 0 && total > 1;
32
61
  var moveTo = usePersistFn(function (i) {
33
62
  var next = i;
34
- if (next === current) return;
35
- var dir = next > current ? 'forward' : 'backward';
63
+ var prevCurrent = actualCurrent;
64
+ if (next === prevCurrent) return;
65
+ var dir = next > prevCurrent ? 'forward' : 'backward';
36
66
  if (next >= total) {
37
67
  dir = 'forward';
38
68
  next = 0;
@@ -40,14 +70,26 @@ var useCarousel = function useCarousel(props) {
40
70
  dir = 'backward';
41
71
  next = total - 1;
42
72
  }
43
- setState({
44
- current: next,
45
- pre: current,
46
- direction: dir
47
- });
73
+
74
+ // 非受控模式下更新内部状态
75
+ if (!isControlled) {
76
+ setState({
77
+ current: next,
78
+ pre: prevCurrent,
79
+ direction: dir
80
+ });
81
+ }
82
+ // 受控模式下不更新内部状态,由外部 value 控制
83
+
84
+ // 触发 onChange 回调
85
+ if (onChange) {
86
+ onChange(next);
87
+ }
88
+
89
+ // 触发 onMove 回调(向后兼容)
48
90
  if (props.onMove) {
49
91
  props.onMove(next, {
50
- prev: current,
92
+ prev: prevCurrent,
51
93
  direction: dir,
52
94
  moveTo: moveTo
53
95
  });
@@ -69,13 +111,13 @@ var useCarousel = function useCarousel(props) {
69
111
  });
70
112
  context.setNext = setNext;
71
113
  var start = usePersistFn(function () {
72
- setNext(current + 1);
114
+ setNext(actualCurrent + 1);
73
115
  });
74
116
  var forward = usePersistFn(function () {
75
- moveTo(current + 1);
117
+ moveTo(actualCurrent + 1);
76
118
  });
77
119
  var backward = usePersistFn(function () {
78
- moveTo(current - 1);
120
+ moveTo(actualCurrent - 1);
79
121
  });
80
122
  var func = useLatestObj({
81
123
  start: start,
@@ -89,10 +131,18 @@ var useCarousel = function useCarousel(props) {
89
131
  start();
90
132
  }
91
133
  }, []);
134
+
135
+ // 受控模式下,当外部 value 变化时,重置自动轮播定时器
136
+ useEffect(function () {
137
+ if (isControlled && autoPlay && valueProp !== undefined) {
138
+ stop();
139
+ context.setNext(actualCurrent + 1);
140
+ }
141
+ }, [valueProp]);
92
142
  return {
93
- current: current,
94
- pre: pre,
95
- direction: direction,
143
+ current: actualCurrent,
144
+ pre: actualPre,
145
+ direction: actualDirection,
96
146
  func: func
97
147
  };
98
148
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -23,17 +23,17 @@ var useDate = function useDate(props) {
23
23
  }),
24
24
  context = _useRef.current;
25
25
  var current = props.current === undefined || !props.current ? currentState : props.current;
26
- var setCurrent = function setCurrent(date) {
26
+ var setCurrent = function setCurrent(date, type) {
27
27
  var _props$onCurrentChang2;
28
28
  if (props.current !== undefined) {
29
29
  var _props$onCurrentChang;
30
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
30
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
31
31
  } else {
32
32
  if (date) {
33
33
  setCurrentState(date);
34
34
  }
35
35
  }
36
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
36
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
37
37
  };
38
38
  var isToday = function isToday(date) {
39
39
  var today = utils.newDate(undefined, options);
@@ -55,19 +55,19 @@ var useDate = function useDate(props) {
55
55
  }, [options.weekStartsOn]);
56
56
  var handleNextYear = usePersistFn(function () {
57
57
  var date = utils.addYears(current, 1, options);
58
- setCurrent(date);
58
+ setCurrent(date, 'year');
59
59
  });
60
60
  var handlePrevYear = usePersistFn(function () {
61
61
  var date = utils.addYears(current, -1, options);
62
- setCurrent(date);
62
+ setCurrent(date, 'year');
63
63
  });
64
64
  var handleNextMonth = usePersistFn(function () {
65
65
  var date = utils.addMonths(current, 1, options);
66
- setCurrent(date);
66
+ setCurrent(date, 'month');
67
67
  });
68
68
  var handlePrevMonth = usePersistFn(function () {
69
69
  var date = utils.addMonths(current, -1, options);
70
- setCurrent(date);
70
+ setCurrent(date, 'month');
71
71
  });
72
72
  var isCurrentMonth = function isCurrentMonth(date) {
73
73
  return utils.isSameMonth(date, current, options);
@@ -1,9 +1,10 @@
1
+ import { DatePickerAreaType } from './use-datepicker-format.type';
1
2
  export interface UseDateProps {
2
3
  current?: Date;
3
4
  range?: boolean | number;
4
5
  rangeDate?: Array<Date | undefined>;
5
6
  defaultCurrent?: Date;
6
- onCurrentChange?: (date: Date) => void;
7
+ onCurrentChange?: (date: Date, type?: DatePickerAreaType) => void;
7
8
  onClearInputArr: (index?: number | undefined) => void;
8
9
  value?: Date;
9
10
  allowSingle?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -12,8 +12,8 @@ declare const useRangePick: (props: useRangeProps) => {
12
12
  setModeEnd: (m: any) => void;
13
13
  setDateStart: (date: Date, noClose?: boolean) => void;
14
14
  setDateEnd: (date: Date, noClose?: boolean) => void;
15
- setCurrentStart: (date: Date, ...args: any[]) => void;
16
- setCurrentEnd: (date: Date, ...args: any[]) => void;
15
+ setCurrentStart: (date: Date, type?: string) => void;
16
+ setCurrentEnd: (date: Date, type?: string) => void;
17
17
  setTargetStart: (date?: Date) => void;
18
18
  setTargetEnd: (date?: Date) => void;
19
19
  startDisabled: (date: Date) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-datepicker-range.d.ts","sourceRoot":"","sources":["use-datepicker-range.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,QAAA,MAAM,YAAY,UAAW,aAAa;;;;;;;;;;;6BA2FC,IAAI,YAAY,OAAO;2BAKzB,IAAI,YAAY,OAAO;gCAblB,IAAI,WAAW,GAAG,EAAE;8BAItB,IAAI,WAAW,GAAG,EAAE;gCAclB,IAAI;8BA4BN,IAAI;8BAqBJ,IAAI;4BAeN,IAAI;+BA5DD,IAAI;6BAYN,IAAI;;CA2I9C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"use-datepicker-range.d.ts","sourceRoot":"","sources":["use-datepicker-range.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,QAAA,MAAM,YAAY,UAAW,aAAa;;;;;;;;;;;6BA2FC,IAAI,YAAY,OAAO;2BAKzB,IAAI,YAAY,OAAO;gCAblB,IAAI,SAAS,MAAM;8BAIrB,IAAI,SAAS,MAAM;gCAcjB,IAAI;8BA4BN,IAAI;8BAqBJ,IAAI;4BAeN,IAAI;+BA5DD,IAAI;6BAYN,IAAI;;CA2I9C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -51,11 +51,8 @@ var useRangePick = function useRangePick(props) {
51
51
  return newArr;
52
52
  });
53
53
  };
54
- var setCurrent = usePersistFn(function (index, date) {
55
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
56
- args[_key - 2] = arguments[_key];
57
- }
58
- props.setCurrentArr.apply(props, [function (arr) {
54
+ var setCurrent = usePersistFn(function (index, date, type) {
55
+ props.setCurrentArr(function (arr) {
59
56
  var newArr = _toConsumableArray(arr);
60
57
  newArr[index] = date;
61
58
  var modeCache = context.modeCache;
@@ -81,19 +78,13 @@ var useRangePick = function useRangePick(props) {
81
78
  }
82
79
  }
83
80
  return newArr;
84
- }].concat(args));
81
+ }, type, undefined);
85
82
  });
86
- var setCurrentStart = usePersistFn(function (date) {
87
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
88
- args[_key2 - 1] = arguments[_key2];
89
- }
90
- setCurrent.apply(void 0, [0, date].concat(args));
83
+ var setCurrentStart = usePersistFn(function (date, type) {
84
+ setCurrent(0, date, type);
91
85
  });
92
- var setCurrentEnd = usePersistFn(function (date) {
93
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
94
- args[_key3 - 1] = arguments[_key3];
95
- }
96
- setCurrent.apply(void 0, [1, date].concat(args));
86
+ var setCurrentEnd = usePersistFn(function (date, type) {
87
+ setCurrent(1, date, type);
97
88
  });
98
89
  var setDateStart = usePersistFn(function (date, noClose) {
99
90
  setDate(0, date, noClose);
@@ -1 +1 @@
1
- {"version":3,"file":"use-month.d.ts","sourceRoot":"","sources":["use-month.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAajD,QAAA,MAAM,QAAQ,UAAW,aAAa;;;;;;;sBAuBf,IAAI;2BAkCC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;iCAPG,IAAI,YAAW,OAAO;4BAJ3B,IAAI;;CAwChC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"use-month.d.ts","sourceRoot":"","sources":["use-month.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcjD,QAAA,MAAM,QAAQ,UAAW,aAAa;;;;;;;sBAuBf,IAAI;2BAkCC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;iCAPG,IAAI,YAAW,OAAO;4BAJ3B,IAAI;;CAwChC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -24,15 +24,15 @@ var useMonth = function useMonth(props) {
24
24
  context = _useRef.current;
25
25
  var current = props.current === undefined ? currentState : props.current;
26
26
  var startYear = utils.getDateInfo(current, 'year', options);
27
- var setCurrent = function setCurrent(date) {
27
+ var setCurrent = function setCurrent(date, type) {
28
28
  var _props$onCurrentChang2;
29
29
  if (props.current !== undefined) {
30
30
  var _props$onCurrentChang;
31
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
31
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
32
32
  } else {
33
33
  setCurrentState(date);
34
34
  }
35
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
35
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
36
36
  };
37
37
  var isNow = function isNow(date) {
38
38
  var today = utils.newDate(undefined, options);
@@ -54,11 +54,11 @@ var useMonth = function useMonth(props) {
54
54
  };
55
55
  var handleNext = usePersistFn(function () {
56
56
  var date = utils.addYears(current, 1, options);
57
- setCurrent(date);
57
+ setCurrent(date, 'year');
58
58
  });
59
59
  var handlePrev = usePersistFn(function () {
60
60
  var date = utils.addYears(current, -1, options);
61
- setCurrent(date);
61
+ setCurrent(date, 'year');
62
62
  });
63
63
  var isDisabled = function isDisabled(date) {
64
64
  var min = props.min,
@@ -1,8 +1,9 @@
1
+ import { DatePickerAreaType } from './use-datepicker-format.type';
1
2
  export interface UseMonthProps {
2
3
  current?: Date;
3
4
  rangeDate?: Array<Date | undefined>;
4
5
  defaultCurrent?: Date;
5
- onCurrentChange?: (date: Date) => void;
6
+ onCurrentChange?: (date: Date, type?: DatePickerAreaType) => void;
6
7
  value?: Date;
7
8
  onChange?: (date: Date, onClose?: boolean) => void;
8
9
  min?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"use-month.type.d.ts","sourceRoot":"","sources":["use-month.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"use-month.type.d.ts","sourceRoot":"","sources":["use-month.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-quarter.d.ts","sourceRoot":"","sources":["use-quarter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAajD,QAAA,MAAM,UAAU,UAAW,aAAa;;;;;;;sBAuBjB,IAAI;2BAiCC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;mCAPK,IAAI,YAAY,OAAO;8BAJ5B,IAAI;;CAwClC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"use-quarter.d.ts","sourceRoot":"","sources":["use-quarter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcjD,QAAA,MAAM,UAAU,UAAW,aAAa;;;;;;;sBAuBjB,IAAI;2BAiCC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;mCAPK,IAAI,YAAY,OAAO;8BAJ5B,IAAI;;CAwClC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -24,15 +24,15 @@ var useQuarter = function useQuarter(props) {
24
24
  context = _useRef.current;
25
25
  var current = props.current === undefined ? currentState : props.current;
26
26
  var startYear = utils.getDateInfo(current, 'year', options);
27
- var setCurrent = function setCurrent(date) {
27
+ var setCurrent = function setCurrent(date, type) {
28
28
  var _props$onCurrentChang2;
29
29
  if (props.current !== undefined) {
30
30
  var _props$onCurrentChang;
31
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
31
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
32
32
  } else {
33
33
  setCurrentState(date);
34
34
  }
35
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
35
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
36
36
  };
37
37
  var isNow = function isNow(date) {
38
38
  var today = utils.newDate(undefined, options);
@@ -53,11 +53,11 @@ var useQuarter = function useQuarter(props) {
53
53
  };
54
54
  var handleNext = usePersistFn(function () {
55
55
  var date = utils.addYears(current, 1, options);
56
- setCurrent(date);
56
+ setCurrent(date, 'year');
57
57
  });
58
58
  var handlePrev = usePersistFn(function () {
59
59
  var date = utils.addYears(current, -1, options);
60
- setCurrent(date);
60
+ setCurrent(date, 'year');
61
61
  });
62
62
  var isDisabled = function isDisabled(date) {
63
63
  var min = props.min,
@@ -1 +1 @@
1
- {"version":3,"file":"use-year.d.ts","sourceRoot":"","sources":["use-year.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;sBAsBb,IAAI;2BA8BC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;gCAPE,IAAI,YAAY,OAAO;2BAJ5B,IAAI;;CA4C/B,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-year.d.ts","sourceRoot":"","sources":["use-year.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAY/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;sBAsBb,IAAI;2BA8BC,IAAI;yBAQN,IAAI;0BAgBH,IAAI;gCAPE,IAAI,YAAY,OAAO;2BAJ5B,IAAI;;CA4C/B,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -22,15 +22,15 @@ var useYear = function useYear(props) {
22
22
  context = _useRef.current;
23
23
  var current = props.current === undefined ? currentState : props.current;
24
24
  var startYear = utils.getStartYear(current, options);
25
- var setCurrent = function setCurrent(date) {
25
+ var setCurrent = function setCurrent(date, type) {
26
26
  var _props$onCurrentChang2;
27
27
  if (props.current !== undefined) {
28
28
  var _props$onCurrentChang;
29
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
29
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
30
30
  } else {
31
31
  setCurrentState(date);
32
32
  }
33
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
33
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
34
34
  };
35
35
  var isNow = function isNow(date) {
36
36
  var today = utils.newDate(undefined, options);
@@ -52,11 +52,11 @@ var useYear = function useYear(props) {
52
52
  };
53
53
  var handleNext = usePersistFn(function () {
54
54
  var date = utils.addYears(current, 10, options);
55
- setCurrent(date);
55
+ setCurrent(date, 'year');
56
56
  });
57
57
  var handlePrev = usePersistFn(function () {
58
58
  var date = utils.addYears(current, -10, options);
59
- setCurrent(date);
59
+ setCurrent(date, 'year');
60
60
  });
61
61
  var isDisabled = function isDisabled(date) {
62
62
  var min = props.min,
@@ -1,8 +1,9 @@
1
+ import { DatePickerAreaType } from './use-datepicker-format.type';
1
2
  export interface UseYearProps {
2
3
  current?: Date;
3
4
  rangeDate?: Array<Date | undefined>;
4
5
  defaultCurrent?: Date;
5
- onCurrentChange?: (date: Date) => void;
6
+ onCurrentChange?: (date: Date, type?: DatePickerAreaType) => void;
6
7
  value?: Date;
7
8
  onChange?: (date: Date, noClose?: boolean) => void;
8
9
  min?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"use-year.type.d.ts","sourceRoot":"","sources":["use-year.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"use-year.type.d.ts","sourceRoot":"","sources":["use-year.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -136,7 +136,7 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
136
136
  * @en Initial value of the form in uncontrolled mode. Only effective when the component is first rendered, subsequent modifications will not affect the internal data of the form. Suitable for scenarios where form data is managed internally by the component, such as creating new forms, standalone forms, etc.
137
137
  * @cn 非受控模式下的表单初始值。仅在组件首次渲染时生效,后续修改不会影响表单内部数据。适用于表单数据由组件内部管理的场景,如新建表单、独立表单等
138
138
  */
139
- defaultValue?: T;
139
+ defaultValue?: Partial<T>;
140
140
  /**
141
141
  * @en When the form value changes, whether to automatically trigger validation. When enabled, validation results can be displayed in real time when data changes, suitable for scenarios that require immediate feedback. Note: Only effective in controlled mode
142
142
  * @cn 当表单 value 发生变化时,是否自动触发校验。开启后可以在数据变化时实时显示校验结果,适用于需要即时反馈的场景。注意:仅在受控模式下有效
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ declare const useInputFormat: (props: InputFormatProps) => {
5
5
  onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
6
6
  onFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
7
7
  value: string | undefined;
8
- type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "checkbox" | "date" | "datetime-local" | "file" | "image" | "month" | "password" | "radio" | "text" | "week" | undefined;
8
+ type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "image" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
9
9
  };
10
10
  export default useInputFormat;
11
11
  //# sourceMappingURL=use-input-format.d.ts.map
@@ -7,7 +7,7 @@ declare const useNumberFormat: (props: InputNumberProps) => {
7
7
  onBlur: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
8
8
  onFocus: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
9
9
  value: string | undefined;
10
- type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "checkbox" | "date" | "datetime-local" | "file" | "image" | "month" | "password" | "radio" | "text" | "week" | undefined;
10
+ type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "image" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
11
11
  };
12
12
  export default useNumberFormat;
13
13
  //# sourceMappingURL=use-input-number.d.ts.map
@@ -1,8 +1,10 @@
1
- /// <reference types="react" />
2
1
  import { TableColumnItem, TableFormatColumn } from './use-table.type';
2
+ import React from 'react';
3
3
  export interface UseColumnsProps<Data> {
4
4
  columns?: TableColumnItem<Data>[];
5
5
  showCheckbox?: boolean;
6
+ virtualColumn?: boolean;
7
+ scrollRef: React.RefObject<HTMLElement>;
6
8
  }
7
9
  export type RxpandHideColType = {
8
10
  hide?: boolean;
@@ -12,6 +14,11 @@ export type RxpandHideColType = {
12
14
  } | null;
13
15
  declare const useColumns: <Data>(props: UseColumnsProps<Data>) => {
14
16
  columns: TableFormatColumn<Data>[];
17
+ columnInfo: {
18
+ handleScroll: (scrollInfo: {
19
+ scrollLeft: number;
20
+ }) => void;
21
+ };
15
22
  expandHideCol: RxpandHideColType;
16
23
  };
17
24
  export default useColumns;
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAItE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAET,QAAA,MAAM,UAAU;;;CAgEf,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAKT,QAAA,MAAM,UAAU;;;;wBAiEkC,MAAM;;;;CA8DvD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,17 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
6
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2
13
  import { produce } from "../../utils/immer";
3
- import { useRef } from 'react';
14
+ import { useEffect, useRef, useState } from 'react';
4
15
  import usePersistFn from "../../common/use-persist-fn";
5
16
  var getHideExpandCol = function getHideExpandCol() {
6
17
  var cols = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -12,7 +23,17 @@ var getHideExpandCol = function getHideExpandCol() {
12
23
  }
13
24
  return null;
14
25
  };
26
+ // 缓冲区列数:左右各2列
27
+ var BUFFER_COUNT = 2;
15
28
  var useColumns = function useColumns(props) {
29
+ var _useState = useState(0),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ startIndex = _useState2[0],
32
+ setStartIndex = _useState2[1];
33
+ var _useState3 = useState(20),
34
+ _useState4 = _slicedToArray(_useState3, 2),
35
+ renderedCount = _useState4[0],
36
+ setRenderedCount = _useState4[1];
16
37
  var _props$columns = props.columns,
17
38
  propsColumns = _props$columns === void 0 ? [] : _props$columns;
18
39
  var _useRef = useRef({
@@ -67,8 +88,76 @@ var useColumns = function useColumns(props) {
67
88
  return context.cachedColumns;
68
89
  });
69
90
  var columns = getColumns(propsColumns) || [];
91
+ var leftFixedColumns = columns.filter(function (col) {
92
+ return col.fixed === 'left';
93
+ });
94
+ var middleColumns = columns.filter(function (col) {
95
+ return !col.fixed;
96
+ });
97
+ var handleScroll = function handleScroll(scrollInfo) {
98
+ var scrollLeft = scrollInfo.scrollLeft;
99
+ var sum = 0;
100
+ var currentIndex = 0;
101
+ for (var i = 0, len = middleColumns.length - 1; i < len; i++) {
102
+ var curCol = middleColumns[i];
103
+ sum += curCol.width || 100;
104
+ if (scrollLeft < sum) {
105
+ // 计算可视区域内需要渲染的列数
106
+ for (var j = i + 1; j < len; j++) {
107
+ var _props$scrollRef$curr;
108
+ var nextCol = middleColumns[j];
109
+ sum += nextCol.width || 100;
110
+ if (props.scrollRef.current && sum - scrollLeft >= ((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientWidth)) {
111
+ // 在原有基础上,右侧增加缓冲列
112
+ var visibleCount = j - i;
113
+ setRenderedCount(Math.min(visibleCount + BUFFER_COUNT * 2, len));
114
+ break;
115
+ }
116
+ }
117
+
118
+ // 左侧也增加缓冲列,但不能小于0
119
+ var bufferedStartIndex = Math.max(0, i - BUFFER_COUNT);
120
+ currentIndex = bufferedStartIndex + leftFixedColumns.length;
121
+ break;
122
+ }
123
+ }
124
+ setStartIndex(currentIndex);
125
+ };
126
+ useEffect(function () {
127
+ if (!props.virtualColumn) return;
128
+ handleScroll({
129
+ scrollLeft: 0
130
+ });
131
+ }, []);
70
132
  return {
71
- columns: columns,
133
+ columns: props.virtualColumn ? columns.map(function (col, index) {
134
+ if (col.fixed) {
135
+ return col;
136
+ }
137
+ if (index < startIndex || index > startIndex + renderedCount) {
138
+ var colSpan;
139
+ if (index > startIndex + renderedCount && index === startIndex + renderedCount + 1) {
140
+ colSpan = function colSpan() {
141
+ return middleColumns.length - (startIndex + renderedCount) + 1;
142
+ };
143
+ } else if (index < startIndex && index === leftFixedColumns.length && startIndex > 0) {
144
+ colSpan = function colSpan() {
145
+ return startIndex;
146
+ };
147
+ }
148
+ return _objectSpread(_objectSpread({}, col), {}, {
149
+ colSpan: colSpan,
150
+ render: function render() {
151
+ return null;
152
+ },
153
+ title: null
154
+ });
155
+ }
156
+ return col;
157
+ }) : columns,
158
+ columnInfo: {
159
+ handleScroll: handleScroll
160
+ },
72
161
  expandHideCol: context.expandHideCol
73
162
  };
74
163
  };