shineout 3.9.0-beta.27 → 3.9.0-beta.29

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.
package/cjs/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.9.0-beta.27'
525
+ version: '3.9.0-beta.29'
526
526
  };
@@ -9,7 +9,7 @@ export declare function textContentTest(element: Element, text: string | null |
9
9
  export declare function classContentTest(element: Element, name: string, bool?: boolean): void;
10
10
  export declare function styleTest(element: Element, style: string | null): void;
11
11
  export declare function styleContainTest(element: Element, styleObject: object): void;
12
- export declare function styleContentTest(element: Element, name: string, bool?: boolean): void;
12
+ export declare function styleContentTest(element: Element, styles: string | string[], bool?: boolean): void;
13
13
  export interface StyleProps {
14
14
  [key: string]: string;
15
15
  }
@@ -87,10 +87,19 @@ function styleTest(element, style) {
87
87
  function styleContainTest(element, styleObject) {
88
88
  expect(element.style).toEqual(expect.objectContaining(styleObject));
89
89
  }
90
- function styleContentTest(element, name) {
91
- var _element$getAttribute2;
90
+ function styleContentTest(element, styles) {
92
91
  var bool = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
93
- expect((_element$getAttribute2 = element.getAttribute('style')) === null || _element$getAttribute2 === void 0 ? void 0 : _element$getAttribute2.includes(name)).toBe(bool);
92
+ var elementStyle = element.getAttribute('style');
93
+ if (Array.isArray(styles)) {
94
+ // 如果是数组,检查每个样式属性是否都存在
95
+ var allMatch = styles.every(function (style) {
96
+ return elementStyle === null || elementStyle === void 0 ? void 0 : elementStyle.includes(style);
97
+ });
98
+ expect(allMatch).toBe(bool);
99
+ } else {
100
+ // 原有的字符串匹配方式
101
+ expect(elementStyle === null || elementStyle === void 0 ? void 0 : elementStyle.includes(styles)).toBe(bool);
102
+ }
94
103
  }
95
104
  function baseTest(Component, selector) {
96
105
  var styleV = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
package/dist/shineout.js CHANGED
@@ -12400,7 +12400,7 @@ var handleStyle = function handleStyle(style) {
12400
12400
  };
12401
12401
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12402
12402
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12403
- /* harmony default export */ var version = ('3.9.0-beta.27');
12403
+ /* harmony default export */ var version = ('3.9.0-beta.29');
12404
12404
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12405
12405
 
12406
12406
 
@@ -18822,13 +18822,13 @@ var datePickerStyle = objectSpread2_default()(objectSpread2_default()(objectSpre
18822
18822
  color: src.datePickerCellOtherColor
18823
18823
  },
18824
18824
  '&:not($pickerCellDisabled):not($pickerCellActive):hover': {
18825
- '& span': {
18825
+ '& $pickerCellContent > span': {
18826
18826
  backgroundColor: src.datePickerCellHoverBackgroundColor,
18827
18827
  color: src.datePickerCellHoverColor
18828
18828
  }
18829
18829
  },
18830
18830
  '&$pickerCellInRange:not($pickerCellActive):not($pickerCellDisabled):hover': {
18831
- '& span': {
18831
+ '& $pickerCellContent > span': {
18832
18832
  backgroundColor: src.datePickerCellActiveHoverBackgroundColor
18833
18833
  }
18834
18834
  },
@@ -18842,7 +18842,7 @@ var datePickerStyle = objectSpread2_default()(objectSpread2_default()(objectSpre
18842
18842
  position: 'relative',
18843
18843
  height: src.datePickerCellHeight,
18844
18844
  lineHeight: src.datePickerCellHeight,
18845
- '& span': {
18845
+ '& > span': {
18846
18846
  display: 'inline-block',
18847
18847
  minWidth: src.datePickerCellHotHeight,
18848
18848
  height: src.datePickerCellHotHeight,
@@ -33678,6 +33678,30 @@ var getDuration = function getDuration(duration) {
33678
33678
  }
33679
33679
  };
33680
33680
  var mm = 30;
33681
+
33682
+ /**
33683
+ * AnimationList - 动画列表组件
33684
+ *
33685
+ * 动画状态流程:
33686
+ *
33687
+ * 展开动画 (show: false -> true):
33688
+ * beforeEnter: 设置初始状态(display, height: 0, opacity: 0 等)
33689
+ * ↓ 等待 mm(30ms) - 触发浏览器重绘
33690
+ * enter: 应用过渡动画(height: ${height}px, opacity: 1 等)
33691
+ * ↓ 等待 durationNum(240ms) - 动画执行
33692
+ * afterEnter: 清理动画状态(height: auto, pointer-events: initial)
33693
+ *
33694
+ * 收起动画 (show: true -> false):
33695
+ * beforeLeave: 固定当前状态(height: ${height}px, pointer-events: none)
33696
+ * ↓ 等待 mm(30ms) - 触发浏览器重绘
33697
+ * leave: 应用过渡动画(height: 0, opacity: 0 等)
33698
+ * ↓ 等待 durationNum(240ms) - 动画执行
33699
+ * afterLeave: 清理并隐藏(display: none, pointer-events: initial)
33700
+ *
33701
+ * pointer-events 控制:
33702
+ * - beforeLeave: 设置为 'none',防止动画过程中的误操作
33703
+ * - afterEnter/afterLeave: 恢复为 'initial',确保动画结束后可正常交互
33704
+ */
33681
33705
  var AnimationList = function AnimationList(props) {
33682
33706
  var _props$display = props.display,
33683
33707
  display = _props$display === void 0 ? 'block' : _props$display,
@@ -33756,6 +33780,11 @@ var AnimationList = function AnimationList(props) {
33756
33780
  width: 0
33757
33781
  };
33758
33782
  };
33783
+
33784
+ /**
33785
+ * 展开动画阶段1: 设置初始状态
33786
+ * 设置 display 显示元素,并将动画属性设为起始值(如 height: 0)
33787
+ */
33759
33788
  var beforeEnter = function beforeEnter() {
33760
33789
  var newStyle = {
33761
33790
  display: display
@@ -33782,6 +33811,11 @@ var AnimationList = function AnimationList(props) {
33782
33811
  return objectSpread2_default()(objectSpread2_default()({}, s), newStyle);
33783
33812
  });
33784
33813
  };
33814
+
33815
+ /**
33816
+ * 展开动画阶段2: 执行过渡动画
33817
+ * 添加 transition 并将动画属性过渡到目标值
33818
+ */
33785
33819
  var enter = function enter() {
33786
33820
  var newStyle = {
33787
33821
  transition: transition
@@ -33801,8 +33835,15 @@ var AnimationList = function AnimationList(props) {
33801
33835
  });
33802
33836
  setStatus('enter');
33803
33837
  };
33838
+
33839
+ /**
33840
+ * 展开动画阶段3: 清理动画状态
33841
+ * 移除固定尺寸,恢复自动布局,恢复交互能力
33842
+ */
33804
33843
  var afterEnter = function afterEnter() {
33805
- var newStyle = {};
33844
+ var newStyle = {
33845
+ pointerEvents: 'initial'
33846
+ };
33806
33847
  if (type.indexOf('collapse') >= 0) {
33807
33848
  newStyle.height = 'auto';
33808
33849
  newStyle.overflow = '';
@@ -33813,9 +33854,16 @@ var AnimationList = function AnimationList(props) {
33813
33854
  setStatus('afterEnter');
33814
33855
  onAnimationAfterEnter === null || onAnimationAfterEnter === void 0 || onAnimationAfterEnter();
33815
33856
  };
33857
+
33858
+ /**
33859
+ * 收起动画阶段1: 固定当前状态
33860
+ * 禁用交互,固定当前高度,准备执行收起动画
33861
+ */
33816
33862
  var beforeLeave = function beforeLeave() {
33817
33863
  var el = ref.current;
33818
- var newStyle = {};
33864
+ var newStyle = {
33865
+ pointerEvents: 'none'
33866
+ };
33819
33867
  if (type.indexOf('collapse') >= 0) {
33820
33868
  context.height = el.offsetHeight;
33821
33869
  newStyle.height = "".concat(context.height, "px");
@@ -33833,6 +33881,11 @@ var AnimationList = function AnimationList(props) {
33833
33881
  });
33834
33882
  setStatus('beforeLeave');
33835
33883
  };
33884
+
33885
+ /**
33886
+ * 收起动画阶段2: 执行过渡动画
33887
+ * 添加 transition 并将动画属性过渡到收起状态(如 height: 0)
33888
+ */
33836
33889
  var leave = function leave() {
33837
33890
  var newStyle = {
33838
33891
  transition: transition
@@ -33852,8 +33905,15 @@ var AnimationList = function AnimationList(props) {
33852
33905
  });
33853
33906
  setStatus('leave');
33854
33907
  };
33908
+
33909
+ /**
33910
+ * 收起动画阶段3: 清理并隐藏
33911
+ * 恢复交互能力,清理动画状态,设置 display: none 完全隐藏元素
33912
+ */
33855
33913
  var afterLeave = function afterLeave() {
33856
- var newStyle = {};
33914
+ var newStyle = {
33915
+ pointerEvents: 'initial'
33916
+ };
33857
33917
  if (type.indexOf('collapse') >= 0) {
33858
33918
  newStyle.height = 'auto';
33859
33919
  newStyle.overflow = '';
@@ -41108,7 +41168,9 @@ var Scroll = function Scroll(props) {
41108
41168
  _props$scrollWidth = props.scrollWidth,
41109
41169
  scrollWidth = _props$scrollWidth === void 0 ? 0 : _props$scrollWidth,
41110
41170
  _props$defaultHeight = props.defaultHeight,
41111
- defaultHeight = _props$defaultHeight === void 0 ? 0 : _props$defaultHeight;
41171
+ defaultHeight = _props$defaultHeight === void 0 ? 0 : _props$defaultHeight,
41172
+ _props$keepScrollTop = props.keepScrollTop,
41173
+ keepScrollTop = _props$keepScrollTop === void 0 ? false : _props$keepScrollTop;
41112
41174
  var _useResize = useResize({
41113
41175
  targetRef: containerRef,
41114
41176
  timer: 100
@@ -41133,7 +41195,9 @@ var Scroll = function Scroll(props) {
41133
41195
 
41134
41196
  // 当滚动容器的高度为 0 时,paddingTop 为 0,避免滚动条抖动现象
41135
41197
  var paddingTop = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
41136
- return height === 0 ? 0 : Math.max(0, Math.floor(scrollHeight - height));
41198
+ var maxHeight = Math.max(0, scrollHeight - height);
41199
+ if (keepScrollTop) return maxHeight;
41200
+ return height === 0 ? 0 : maxHeight;
41137
41201
  }, [scrollHeight, height]);
41138
41202
  var placeStyle = {
41139
41203
  paddingTop: paddingTop,
@@ -41422,6 +41486,7 @@ var VirtualList = function VirtualList(props) {
41422
41486
  wrapperRef: wrapperRef,
41423
41487
  onScroll: handleScroll,
41424
41488
  onMouseMove: handleMouseMove,
41489
+ keepScrollTop: keepScrollTop,
41425
41490
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(Tag, {
41426
41491
  className: tagClassName,
41427
41492
  style: innerStyle,
@@ -47138,17 +47203,17 @@ var useDate = function useDate(props) {
47138
47203
  }),
47139
47204
  context = _useRef.current;
47140
47205
  var current = props.current === undefined || !props.current ? currentState : props.current;
47141
- var setCurrent = function setCurrent(date) {
47206
+ var setCurrent = function setCurrent(date, type) {
47142
47207
  var _props$onCurrentChang2;
47143
47208
  if (props.current !== undefined) {
47144
47209
  var _props$onCurrentChang;
47145
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
47210
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
47146
47211
  } else {
47147
47212
  if (date) {
47148
47213
  setCurrentState(date);
47149
47214
  }
47150
47215
  }
47151
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
47216
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
47152
47217
  };
47153
47218
  var isToday = function isToday(date) {
47154
47219
  var today = util.newDate(undefined, options);
@@ -47170,19 +47235,19 @@ var useDate = function useDate(props) {
47170
47235
  }, [options.weekStartsOn]);
47171
47236
  var handleNextYear = use_persist_fn(function () {
47172
47237
  var date = util.addYears(current, 1, options);
47173
- setCurrent(date);
47238
+ setCurrent(date, 'year');
47174
47239
  });
47175
47240
  var handlePrevYear = use_persist_fn(function () {
47176
47241
  var date = util.addYears(current, -1, options);
47177
- setCurrent(date);
47242
+ setCurrent(date, 'year');
47178
47243
  });
47179
47244
  var handleNextMonth = use_persist_fn(function () {
47180
47245
  var date = util.addMonths(current, 1, options);
47181
- setCurrent(date);
47246
+ setCurrent(date, 'month');
47182
47247
  });
47183
47248
  var handlePrevMonth = use_persist_fn(function () {
47184
47249
  var date = util.addMonths(current, -1, options);
47185
- setCurrent(date);
47250
+ setCurrent(date, 'month');
47186
47251
  });
47187
47252
  var isCurrentMonth = function isCurrentMonth(date) {
47188
47253
  return util.isSameMonth(date, current, options);
@@ -47789,8 +47854,8 @@ var Day = function Day(props) {
47789
47854
  props.onChange(date, noClose || props.type === 'datetime');
47790
47855
  props.setTarget(undefined);
47791
47856
  });
47792
- var setCurrent = usePersistFn(function (date) {
47793
- props.setCurrent(date, areaType);
47857
+ var setCurrent = usePersistFn(function (date, type) {
47858
+ props.setCurrent(date, type || areaType);
47794
47859
  });
47795
47860
  var _useDatePick = use_date({
47796
47861
  current: props.current,
@@ -47822,7 +47887,7 @@ var Day = function Day(props) {
47822
47887
  props.setCurrent(new Date(), areaType);
47823
47888
  props.onChange(new Date(), props.needConfirm || props.type === 'datetime');
47824
47889
  setTimeout(function () {
47825
- if (props.closeByConfirm && !props.range) props.closeByConfirm();
47890
+ if (props.needConfirm && props.closeByConfirm && !props.range) props.closeByConfirm();
47826
47891
  }, 0);
47827
47892
  };
47828
47893
  var renderDay = function renderDay(item, index) {
@@ -47852,7 +47917,16 @@ var Day = function Day(props) {
47852
47917
  onMouseLeave: isDisabled ? undefined : function () {
47853
47918
  props.setTarget(undefined);
47854
47919
  },
47855
- children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
47920
+ children: props.renderDate ? props.renderDate({
47921
+ date: item,
47922
+ isDisabled: isDisabled,
47923
+ isInRange: isInRange,
47924
+ isToday: isToday,
47925
+ isCurrentMonth: isCurrentMonth,
47926
+ isActive: isActive,
47927
+ position: props.position,
47928
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerCellContent
47929
+ }) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
47856
47930
  className: styles === null || styles === void 0 ? void 0 : styles.pickerCellContent,
47857
47931
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
47858
47932
  children: func.getDayStr(item)
@@ -48053,15 +48127,15 @@ var useMonth = function useMonth(props) {
48053
48127
  context = _useRef.current;
48054
48128
  var current = props.current === undefined ? currentState : props.current;
48055
48129
  var startYear = util.getDateInfo(current, 'year', options);
48056
- var setCurrent = function setCurrent(date) {
48130
+ var setCurrent = function setCurrent(date, type) {
48057
48131
  var _props$onCurrentChang2;
48058
48132
  if (props.current !== undefined) {
48059
48133
  var _props$onCurrentChang;
48060
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
48134
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
48061
48135
  } else {
48062
48136
  setCurrentState(date);
48063
48137
  }
48064
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
48138
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
48065
48139
  };
48066
48140
  var isNow = function isNow(date) {
48067
48141
  var today = util.newDate(undefined, options);
@@ -48083,11 +48157,11 @@ var useMonth = function useMonth(props) {
48083
48157
  };
48084
48158
  var handleNext = use_persist_fn(function () {
48085
48159
  var date = util.addYears(current, 1, options);
48086
- setCurrent(date);
48160
+ setCurrent(date, 'year');
48087
48161
  });
48088
48162
  var handlePrev = use_persist_fn(function () {
48089
48163
  var date = util.addYears(current, -1, options);
48090
- setCurrent(date);
48164
+ setCurrent(date, 'year');
48091
48165
  });
48092
48166
  var isDisabled = function isDisabled(date) {
48093
48167
  var min = props.min,
@@ -48164,8 +48238,8 @@ var Month = function Month(props) {
48164
48238
  var changeMode = usePersistFn(function () {
48165
48239
  props.setMode('day');
48166
48240
  });
48167
- var setCurrent = usePersistFn(function (date) {
48168
- props.setCurrent(date, 'month');
48241
+ var setCurrent = usePersistFn(function (date, type) {
48242
+ props.setCurrent(date, type || 'month');
48169
48243
  });
48170
48244
  var _useMonthPick = use_month({
48171
48245
  current: props.current,
@@ -48286,15 +48360,15 @@ var useYear = function useYear(props) {
48286
48360
  context = _useRef.current;
48287
48361
  var current = props.current === undefined ? currentState : props.current;
48288
48362
  var startYear = util.getStartYear(current, options);
48289
- var setCurrent = function setCurrent(date) {
48363
+ var setCurrent = function setCurrent(date, type) {
48290
48364
  var _props$onCurrentChang2;
48291
48365
  if (props.current !== undefined) {
48292
48366
  var _props$onCurrentChang;
48293
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
48367
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
48294
48368
  } else {
48295
48369
  setCurrentState(date);
48296
48370
  }
48297
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
48371
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
48298
48372
  };
48299
48373
  var isNow = function isNow(date) {
48300
48374
  var today = util.newDate(undefined, options);
@@ -48316,11 +48390,11 @@ var useYear = function useYear(props) {
48316
48390
  };
48317
48391
  var handleNext = use_persist_fn(function () {
48318
48392
  var date = util.addYears(current, 10, options);
48319
- setCurrent(date);
48393
+ setCurrent(date, 'year');
48320
48394
  });
48321
48395
  var handlePrev = use_persist_fn(function () {
48322
48396
  var date = util.addYears(current, -10, options);
48323
- setCurrent(date);
48397
+ setCurrent(date, 'year');
48324
48398
  });
48325
48399
  var isDisabled = function isDisabled(date) {
48326
48400
  var min = props.min,
@@ -48399,8 +48473,8 @@ var Year = function Year(props) {
48399
48473
  var changeMode = usePersistFn(function () {
48400
48474
  props.setMode('month');
48401
48475
  });
48402
- var setCurrent = usePersistFn(function (date) {
48403
- props.setCurrent(date, 'year');
48476
+ var setCurrent = usePersistFn(function (date, type) {
48477
+ props.setCurrent(date, type || 'year');
48404
48478
  });
48405
48479
  var _useYearPick = use_year({
48406
48480
  current: props.current,
@@ -48524,15 +48598,15 @@ var useQuarter = function useQuarter(props) {
48524
48598
  context = _useRef.current;
48525
48599
  var current = props.current === undefined ? currentState : props.current;
48526
48600
  var startYear = util.getDateInfo(current, 'year', options);
48527
- var setCurrent = function setCurrent(date) {
48601
+ var setCurrent = function setCurrent(date, type) {
48528
48602
  var _props$onCurrentChang2;
48529
48603
  if (props.current !== undefined) {
48530
48604
  var _props$onCurrentChang;
48531
- (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
48605
+ (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date, type);
48532
48606
  } else {
48533
48607
  setCurrentState(date);
48534
48608
  }
48535
- (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
48609
+ (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date, type);
48536
48610
  };
48537
48611
  var isNow = function isNow(date) {
48538
48612
  var today = util.newDate(undefined, options);
@@ -48553,11 +48627,11 @@ var useQuarter = function useQuarter(props) {
48553
48627
  };
48554
48628
  var handleNext = use_persist_fn(function () {
48555
48629
  var date = util.addYears(current, 1, options);
48556
- setCurrent(date);
48630
+ setCurrent(date, 'year');
48557
48631
  });
48558
48632
  var handlePrev = use_persist_fn(function () {
48559
48633
  var date = util.addYears(current, -1, options);
48560
- setCurrent(date);
48634
+ setCurrent(date, 'year');
48561
48635
  });
48562
48636
  var isDisabled = function isDisabled(date) {
48563
48637
  var min = props.min,
@@ -48629,8 +48703,8 @@ var Quarter = function Quarter(props) {
48629
48703
  var jssStyle = props.jssStyle;
48630
48704
  var config = useConfig();
48631
48705
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
48632
- var setCurrent = usePersistFn(function (date) {
48633
- props.setCurrent(date, 'quarter');
48706
+ var setCurrent = usePersistFn(function (date, type) {
48707
+ props.setCurrent(date, type || 'quarter');
48634
48708
  });
48635
48709
  var _useQuarterPick = use_quarter({
48636
48710
  current: props.current,
@@ -48846,11 +48920,8 @@ var useRangePick = function useRangePick(props) {
48846
48920
  return newArr;
48847
48921
  });
48848
48922
  };
48849
- var setCurrent = usePersistFn(function (index, date) {
48850
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
48851
- args[_key - 2] = arguments[_key];
48852
- }
48853
- props.setCurrentArr.apply(props, [function (arr) {
48923
+ var setCurrent = usePersistFn(function (index, date, type) {
48924
+ props.setCurrentArr(function (arr) {
48854
48925
  var newArr = toConsumableArray_default()(arr);
48855
48926
  newArr[index] = date;
48856
48927
  var modeCache = context.modeCache;
@@ -48876,19 +48947,13 @@ var useRangePick = function useRangePick(props) {
48876
48947
  }
48877
48948
  }
48878
48949
  return newArr;
48879
- }].concat(args));
48950
+ }, type, undefined);
48880
48951
  });
48881
- var setCurrentStart = usePersistFn(function (date) {
48882
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
48883
- args[_key2 - 1] = arguments[_key2];
48884
- }
48885
- setCurrent.apply(void 0, [0, date].concat(args));
48952
+ var setCurrentStart = usePersistFn(function (date, type) {
48953
+ setCurrent(0, date, type);
48886
48954
  });
48887
- var setCurrentEnd = usePersistFn(function (date) {
48888
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
48889
- args[_key3 - 1] = arguments[_key3];
48890
- }
48891
- setCurrent.apply(void 0, [1, date].concat(args));
48955
+ var setCurrentEnd = usePersistFn(function (date, type) {
48956
+ setCurrent(1, date, type);
48892
48957
  });
48893
48958
  var setDateStart = usePersistFn(function (date, noClose) {
48894
48959
  setDate(0, date, noClose);
@@ -49139,6 +49204,7 @@ var Picker = function Picker(props) {
49139
49204
  }
49140
49205
  if (mode === 'day') {
49141
49206
  return /*#__PURE__*/(0,jsx_runtime.jsx)(day, objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, commonProps), timeProps), {}, {
49207
+ renderDate: props.renderDate,
49142
49208
  onDoubleClick: function onDoubleClick(item, type) {
49143
49209
  // 双击同时设置开始和结束日期
49144
49210
  if (props.range && props.type === 'datetime') {
@@ -49527,6 +49593,7 @@ var DatePicker = function DatePicker(props0) {
49527
49593
  registerModeDisabled: func.registerModeDisabled,
49528
49594
  isDisabledDate: func.isDisabledDate,
49529
49595
  needConfirm: props.needConfirm,
49596
+ renderDate: props.renderDate,
49530
49597
  children: props.children
49531
49598
  })
49532
49599
  })
@@ -59947,7 +60014,8 @@ var list_list_List = function List(props) {
59947
60014
  minWidth: 0,
59948
60015
  overflow: 'auto'
59949
60016
  },
59950
- dynamicVirtual: props.dynamicHeight
60017
+ dynamicVirtual: props.dynamicHeight,
60018
+ keepScrollTop: !!props.scrollLoading
59951
60019
  }), renderFooter()]
59952
60020
  });
59953
60021
  }
@@ -66068,7 +66136,7 @@ var thead_toNum = toNum;
66068
66136
  var fixedStyle = getFixedStyle(col.fixed, col.index, level);
66069
66137
  var cellClassName = classnames_default()(colTemp.className, colTemp.type === 'checkbox' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellCheckbox), col.fixed === 'left' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLeft), col.fixed === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedRight), colTemp.align === 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignCenter), colTemp.align === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignRight), colTemp.align !== 'right' && colTemp.align !== 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignLeft), (col.lastFixed || col.firstFixed) && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLast), isLast && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellIgnoreBorder), colTemp.sorter && props.cellSortable && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellSortable));
66070
66138
  var isExpand = colTemp.type === 'expand' || colTemp.type === 'row-expand';
66071
- if (colTemp.title || isExpand) {
66139
+ if (colTemp.title !== undefined || isExpand) {
66072
66140
  var sorter = renderSort(colTemp);
66073
66141
  var filter = renderFilter(colTemp, columnIndex);
66074
66142
  trs[level].push( /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
@@ -74227,7 +74295,7 @@ var upload_interface = __webpack_require__(8821);
74227
74295
 
74228
74296
 
74229
74297
  /* harmony default export */ var src_0 = ({
74230
- version: '3.9.0-beta.27'
74298
+ version: '3.9.0-beta.29'
74231
74299
  });
74232
74300
  }();
74233
74301
  /******/ return __webpack_exports__;