shineout 3.4.0-beta.6 → 3.4.0-beta.8

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
@@ -492,5 +492,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
492
492
  // 此文件由脚本自动生成,请勿直接修改。
493
493
  // This file was generated automatically by a script. Please do not modify it directly.
494
494
  var _default = exports.default = {
495
- version: '3.4.0-beta.6'
495
+ version: '3.4.0-beta.8'
496
496
  };
package/dist/shineout.js CHANGED
@@ -11991,7 +11991,7 @@ var handleStyle = function handleStyle(style) {
11991
11991
  };
11992
11992
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
11993
11993
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
11994
- /* harmony default export */ var version = ('3.4.0-beta.6');
11994
+ /* harmony default export */ var version = ('3.4.0-beta.8');
11995
11995
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
11996
11996
 
11997
11997
 
@@ -12468,7 +12468,10 @@ var Token = {
12468
12468
  'Size-25': '50px',
12469
12469
  'Size-26': '52px',
12470
12470
  'Size-27': '54px',
12471
- 'Size-28': '56px'
12471
+ 'Size-28': '56px',
12472
+ 'Animation-duration-1': '0.1s',
12473
+ 'Animation-duration-2': '0.2s',
12474
+ 'Animation-duration-3': '0.3s'
12472
12475
  };
12473
12476
 
12474
12477
  // @ts-ignore
@@ -13741,6 +13744,7 @@ var menuTokens = {
13741
13744
  menuItemDisabledFontColor: 'Neutral-text-2',
13742
13745
  menuItemCollapseActiveBackgroundColor: 'Brand-6',
13743
13746
  menuItemCollapseActiveFontColor: 'Neutral-text-1',
13747
+ menuItemInpathActiveFontColor: 'Brand-6',
13744
13748
  menuTitlePaddingX: 'Spacing-16',
13745
13749
  menuTitlePaddingY: 'Spacing-9',
13746
13750
  menuExpandWidth: 'Spacing-46',
@@ -20233,9 +20237,9 @@ var menuStyle = {
20233
20237
  },
20234
20238
  '$itemInPath > &&': {
20235
20239
  '[data-soui-theme=light] &': {
20236
- color: src.menuItemActiveFontColor,
20240
+ color: src.menuItemInpathActiveFontColor,
20237
20241
  '& $icon': {
20238
- color: src.menuItemActiveFontColor
20242
+ color: src.menuItemInpathActiveFontColor
20239
20243
  }
20240
20244
  },
20241
20245
  '[data-soui-theme=light] $itemDisabled&': {
@@ -25210,90 +25214,57 @@ var getCardStyle = function getCardStyle() {
25210
25214
  };
25211
25215
  var getLineStyle = function getLineStyle() {
25212
25216
  return {
25217
+ '$tab': {
25218
+ '&:after': {
25219
+ display: 'none'
25220
+ }
25221
+ },
25213
25222
  '&[data-soui-position^="left-"][data-soui-shape="line"]': {
25214
- '&[dir=ltr]': objectSpread2_default()({
25223
+ '&[dir=ltr]': {
25215
25224
  '& $hr': {
25216
25225
  right: 0,
25217
25226
  width: 1,
25218
25227
  height: '100%'
25219
25228
  }
25220
- }, active({
25221
- top: 0,
25222
- bottom: 0,
25223
- right: 0,
25224
- width: 2
25225
- })),
25226
- '&[dir=rtl]': objectSpread2_default()({
25229
+ },
25230
+ '&[dir=rtl]': {
25227
25231
  '& $hr': {
25228
25232
  left: 0,
25229
25233
  width: 1,
25230
25234
  height: '100%'
25231
25235
  }
25232
- }, active({
25233
- top: 0,
25234
- bottom: 0,
25235
- left: 0,
25236
- width: 2
25237
- }))
25238
- // '& :not([data-soui-state="active"])$tab': {
25239
- // '&:after': {
25240
- // display: 'none',
25241
- // },
25242
- // },
25236
+ }
25243
25237
  },
25244
25238
  '&[data-soui-position^="right-"][data-soui-shape="line"]': {
25245
- '&[dir=ltr]': objectSpread2_default()({
25239
+ '&[dir=ltr]': {
25246
25240
  '& $hr': {
25247
25241
  left: 0,
25248
25242
  width: 1,
25249
25243
  height: '100%'
25250
25244
  }
25251
- }, active({
25252
- top: 0,
25253
- bottom: 0,
25254
- left: 0,
25255
- width: 2
25256
- })),
25257
- '&[dir=rtl]': objectSpread2_default()({
25245
+ },
25246
+ '&[dir=rtl]': {
25258
25247
  '& $hr': {
25259
25248
  right: 0,
25260
25249
  width: 1,
25261
25250
  height: '100%'
25262
25251
  }
25263
- }, active({
25264
- top: 0,
25265
- bottom: 0,
25266
- right: 0,
25267
- width: 2
25268
- }))
25252
+ }
25269
25253
  },
25270
- '&[data-soui-position^="top-"][data-soui-shape="line"]': objectSpread2_default()({
25254
+ '&[data-soui-position^="top-"][data-soui-shape="line"]': {
25271
25255
  '& $hr': {
25272
25256
  bottom: 0,
25273
- left: 0,
25274
25257
  height: 1,
25275
25258
  width: '100%'
25276
25259
  }
25277
- }, active({
25278
- bottom: 0,
25279
- left: 0,
25280
- right: 0,
25281
- height: 2
25282
- })),
25283
- '&[data-soui-position^="bottom-"][data-soui-shape="line"]': objectSpread2_default()(objectSpread2_default()({
25260
+ },
25261
+ '&[data-soui-position^="bottom-"][data-soui-shape="line"]': {
25284
25262
  '& $hr': {
25285
25263
  top: 0,
25286
- left: 0,
25287
25264
  height: 1,
25288
25265
  width: '100%'
25289
- }
25290
- }, active({
25291
- top: 0,
25292
- left: 0,
25293
- right: 0,
25294
- height: 2
25295
- })), {}, {
25296
- '& :not([data-soui-state="active"])$tab': {
25266
+ },
25267
+ '& $tab': {
25297
25268
  '&:after': {
25298
25269
  position: 'absolute',
25299
25270
  content: '""',
@@ -25304,51 +25275,16 @@ var getLineStyle = function getLineStyle() {
25304
25275
  background: src.tabsBorderColor
25305
25276
  }
25306
25277
  }
25307
- })
25278
+ }
25308
25279
  };
25309
25280
  };
25310
25281
  var getDashStyle = function getDashStyle() {
25311
25282
  return {
25312
- '&[data-soui-position^="left-"][data-soui-shape="dash"]': {
25313
- '&[dir=ltr]': objectSpread2_default()({}, active({
25314
- top: "calc(50% - 12px)",
25315
- width: 2,
25316
- height: 24,
25317
- right: 0
25318
- })),
25319
- '&[dir=rtl]': objectSpread2_default()({}, active({
25320
- top: "calc(50% - 12px)",
25321
- width: 2,
25322
- height: 24,
25323
- left: 0
25324
- }))
25325
- },
25326
- '&[data-soui-position^="right-"][data-soui-shape="dash"]': {
25327
- '&[dir=ltr]': objectSpread2_default()({}, active({
25328
- top: "calc(50% - 12px)",
25329
- width: 2,
25330
- height: 24,
25331
- left: 0
25332
- })),
25333
- '&[dir=rtl]': objectSpread2_default()({}, active({
25334
- top: "calc(50% - 12px)",
25335
- width: 2,
25336
- height: 24,
25337
- right: 0
25338
- }))
25339
- },
25340
- '&[data-soui-position^="top-"][data-soui-shape="dash"]': objectSpread2_default()({}, active({
25341
- bottom: 0,
25342
- left: "calc(50% - 12px)",
25343
- width: 24,
25344
- height: 2
25345
- })),
25346
- '&[data-soui-position^="bottom-"][data-soui-shape="dash"]': objectSpread2_default()({}, active({
25347
- top: 0,
25348
- left: "calc(50% - 12px)",
25349
- width: 24,
25350
- height: 2
25351
- }))
25283
+ '$tab': {
25284
+ '&:after': {
25285
+ display: 'none'
25286
+ }
25287
+ }
25352
25288
  };
25353
25289
  };
25354
25290
  var getFillStyle = function getFillStyle() {
@@ -25705,6 +25641,11 @@ var tabsStyle = {
25705
25641
  headerScroll: {
25706
25642
  transition: 'all .2s cubic-bezier(.34,.69,.1,1)'
25707
25643
  },
25644
+ headerScrollBar: {
25645
+ position: 'absolute',
25646
+ background: src.tabsActiveFontColor,
25647
+ transition: "left ".concat(CommonToken['Animation-duration-2'], " ease-in-out, top ").concat(CommonToken['Animation-duration-2'], " ease-in-out, width ").concat(CommonToken['Animation-duration-2'], " ease-in-out, height ").concat(CommonToken['Animation-duration-2'], " ease-in-out")
25648
+ },
25708
25649
  header: {
25709
25650
  flex: 1,
25710
25651
  display: 'flex',
@@ -25751,15 +25692,21 @@ var tabsStyle = {
25751
25692
  color: src.tabsLineCheckedFontColor,
25752
25693
  fontSize: src.tabsLineCheckedFontSize,
25753
25694
  background: src.tabsLineCheckedBackgroundColor,
25754
- fontWeight: src.tabsLineCheckedFontWeight,
25755
- '&:after': {
25756
- background: src.tabsLineAfterBackgroundColor
25757
- }
25695
+ fontWeight: src.tabsLineCheckedFontWeight
25758
25696
  },
25759
25697
  '&[data-soui-state="disabled"]': {
25760
25698
  color: src.tabsLineDisabledFontColor,
25761
25699
  cursor: 'not-allowed'
25762
25700
  },
25701
+ '&:after': {
25702
+ position: 'absolute',
25703
+ content: '""',
25704
+ bottom: 0,
25705
+ left: 0,
25706
+ width: '100%',
25707
+ height: 1,
25708
+ background: src.tabsLineHrBackgroundColor
25709
+ },
25763
25710
  '[data-soui-position^="left-"] &': {
25764
25711
  '&:after': {
25765
25712
  width: 1,
@@ -25776,17 +25723,6 @@ var tabsStyle = {
25776
25723
  background: src.tabsLineHrBackgroundColor
25777
25724
  }
25778
25725
  },
25779
- '&:not([data-soui-state="active"])': {
25780
- '&:after': {
25781
- position: 'absolute',
25782
- content: '""',
25783
- bottom: 0,
25784
- left: 0,
25785
- width: '100%',
25786
- height: 1,
25787
- background: src.tabsLineHrBackgroundColor
25788
- }
25789
- },
25790
25726
  '&:not([data-soui-state="active"]):not([data-soui-state="disabled"]):hover $lineInner': {
25791
25727
  background: src.tabsLineHoverBackgroundColor
25792
25728
  },
@@ -28302,7 +28238,7 @@ function useForkRef() {
28302
28238
 
28303
28239
 
28304
28240
 
28305
- var animation_list_excluded = ["display", "children", "style", "onRef", "show", "duration", "type", "className", "animation"];
28241
+ var animation_list_excluded = ["display", "children", "style", "onRef", "show", "duration", "type", "className", "animation", "onAnimationAfterEnter"];
28306
28242
 
28307
28243
 
28308
28244
 
@@ -28329,6 +28265,7 @@ var AnimationList = function AnimationList(props) {
28329
28265
  classNamePo = props.className,
28330
28266
  _props$animation = props.animation,
28331
28267
  animation = _props$animation === void 0 ? true : _props$animation,
28268
+ onAnimationAfterEnter = props.onAnimationAfterEnter,
28332
28269
  forwardProps = objectWithoutProperties_default()(props, animation_list_excluded);
28333
28270
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(undefined),
28334
28271
  _useState2 = slicedToArray_default()(_useState, 2),
@@ -28446,6 +28383,7 @@ var AnimationList = function AnimationList(props) {
28446
28383
  return objectSpread2_default()(objectSpread2_default()({}, s), newStyle);
28447
28384
  });
28448
28385
  setStatus('afterEnter');
28386
+ onAnimationAfterEnter === null || onAnimationAfterEnter === void 0 || onAnimationAfterEnter();
28449
28387
  };
28450
28388
  var beforeLeave = function beforeLeave() {
28451
28389
  var el = ref.current;
@@ -28542,7 +28480,7 @@ var AnimationList = function AnimationList(props) {
28542
28480
  cleanTimer();
28543
28481
  context.timer = setTimeout(function () {
28544
28482
  afterEnter();
28545
- }, durationNum);
28483
+ }, durationNum + mm);
28546
28484
  }
28547
28485
  if (status === 'beforeLeave') {
28548
28486
  cleanTimer();
@@ -32463,10 +32401,10 @@ function useInputAble(props) {
32463
32401
  clearTimeout(context.timer);
32464
32402
  context.timer = null;
32465
32403
  }
32466
- if (delay && props.value !== stateValue) {
32404
+ if (delay && control && props.value !== stateValue) {
32467
32405
  changeStateValue(props.value);
32468
32406
  }
32469
- }, [props.value, delay]);
32407
+ }, [props.value, delay, control]);
32470
32408
  var forceDelayChange = use_persist_fn(function () {
32471
32409
  if (context.timer && context.delayChange) {
32472
32410
  clearTimeout(context.timer);
@@ -33284,6 +33222,9 @@ var useInnerTitle = function useInnerTitle(props) {
33284
33222
 
33285
33223
 
33286
33224
 
33225
+ var emptyEvent = function emptyEvent(e) {
33226
+ return e.stopPropagation();
33227
+ };
33287
33228
  var Popover = function Popover(props) {
33288
33229
  var _jssStyle$popover;
33289
33230
  var children = props.children,
@@ -33425,6 +33366,7 @@ var Popover = function Popover(props) {
33425
33366
  dir: config.direction
33426
33367
  }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
33427
33368
  style: style,
33369
+ onClick: emptyEvent,
33428
33370
  className: classnames_default()(popoverStyle === null || popoverStyle === void 0 ? void 0 : popoverStyle.content, (typeof childrened === 'string' || props.useTextStyle) && (popoverStyle === null || popoverStyle === void 0 ? void 0 : popoverStyle.text)),
33429
33371
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(Provider, {
33430
33372
  value: providerValue,
@@ -48451,6 +48393,8 @@ var InputPassword = function InputPassword(props) {
48451
48393
 
48452
48394
 
48453
48395
 
48396
+
48397
+
48454
48398
  var useNumberFormat = function useNumberFormat(props) {
48455
48399
  var onChange = props.onChange,
48456
48400
  value = props.value,
@@ -48473,6 +48417,15 @@ var useNumberFormat = function useNumberFormat(props) {
48473
48417
  }
48474
48418
  return value || '';
48475
48419
  };
48420
+ var _React$useState = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(getStringValue(props.value)),
48421
+ _React$useState2 = slicedToArray_default()(_React$useState, 2),
48422
+ inernalInputValue = _React$useState2[0],
48423
+ setInternalInputValue = _React$useState2[1];
48424
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
48425
+ if (props.value !== inernalInputValue) {
48426
+ setInternalInputValue(getStringValue(props.value));
48427
+ }
48428
+ }, [props.value]);
48476
48429
  var getNumberValue = function getNumberValue(value) {
48477
48430
  if (isNaN(value)) return 0;
48478
48431
  if (typeof value === 'number') {
@@ -48490,6 +48443,17 @@ var useNumberFormat = function useNumberFormat(props) {
48490
48443
  }
48491
48444
  return num;
48492
48445
  };
48446
+ var onInnerChange = use_persist_fn(function (val) {
48447
+ setInternalInputValue(getStringValue(val));
48448
+ if (typeof val === 'string') {
48449
+ var num = parseFloat(val);
48450
+ if (isNaN(num)) return;
48451
+ onChange === null || onChange === void 0 || onChange(num);
48452
+ } else {
48453
+ onChange === null || onChange === void 0 || onChange(val);
48454
+ }
48455
+ ;
48456
+ });
48493
48457
  var onNumberBlur = use_persist_fn(function (e) {
48494
48458
  var target = e.target;
48495
48459
  var newValue = target.value;
@@ -48500,7 +48464,7 @@ var useNumberFormat = function useNumberFormat(props) {
48500
48464
  return;
48501
48465
  }
48502
48466
  if (newValue === '' && allowNull) {
48503
- onChange === null || onChange === void 0 || onChange(null);
48467
+ onInnerChange(null);
48504
48468
  onBlur === null || onBlur === void 0 || onBlur(e);
48505
48469
  return;
48506
48470
  }
@@ -48515,15 +48479,18 @@ var useNumberFormat = function useNumberFormat(props) {
48515
48479
  num = parseFloat(num.toFixed(digits));
48516
48480
  }
48517
48481
  num = commonFormat(num);
48482
+
48483
+ // 失焦时,将非法值转换为合法值
48484
+ setInternalInputValue(getStringValue(num));
48518
48485
  if (num !== value) {
48519
48486
  target.value = typeof num === 'number' ? String(num) : '';
48520
- if (!cancelBlurChange) onChange === null || onChange === void 0 || onChange(num);
48487
+ if (!cancelBlurChange) onInnerChange(num);
48521
48488
  }
48522
48489
  onBlur === null || onBlur === void 0 || onBlur(e);
48523
48490
  });
48524
48491
  var onNumberChange = use_persist_fn(function (value) {
48525
48492
  var result = value;
48526
- onChange === null || onChange === void 0 || onChange(result);
48493
+ onInnerChange(result);
48527
48494
  });
48528
48495
  var changeValue = function changeValue(mod) {
48529
48496
  var num = getNumberValue(props.value);
@@ -48549,7 +48516,7 @@ var useNumberFormat = function useNumberFormat(props) {
48549
48516
  changeValue(-step);
48550
48517
  });
48551
48518
  return objectSpread2_default()(objectSpread2_default()({}, use_input_format({
48552
- value: getStringValue(props.value),
48519
+ value: inernalInputValue,
48553
48520
  type: 'number',
48554
48521
  numType: numType,
48555
48522
  integerLimit: integerLimit,
@@ -49372,6 +49339,7 @@ var ListOption = function ListOption(props) {
49372
49339
  isHover = props.isHover,
49373
49340
  renderItem = props.renderItem,
49374
49341
  dynamicVirtual = props.dynamicVirtual,
49342
+ isAnimationFinish = props.isAnimationFinish,
49375
49343
  onHover = props.onHover,
49376
49344
  onOptionClick = props.onOptionClick;
49377
49345
  var optionRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
@@ -49409,7 +49377,10 @@ var ListOption = function ListOption(props) {
49409
49377
  };
49410
49378
  var result = renderItem(data);
49411
49379
  var title = typeof result === 'string' ? result : '';
49412
- (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(setVirtualRowHeight, []);
49380
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
49381
+ if (!isAnimationFinish) return;
49382
+ setVirtualRowHeight();
49383
+ }, [isAnimationFinish]);
49413
49384
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
49414
49385
  if (!optionRef.current) return;
49415
49386
  var cancelObserver = addResizeObserver(optionRef.current, setVirtualRowHeight, {
@@ -49462,6 +49433,7 @@ var list_List = function List(props) {
49462
49433
  controlType = props.controlType,
49463
49434
  hideCreateOption = props.hideCreateOption,
49464
49435
  optionListRef = props.optionListRef,
49436
+ isAnimationFinish = props.isAnimationFinish,
49465
49437
  _props$renderItem = props.renderItem,
49466
49438
  renderItemProp = _props$renderItem === void 0 ? function (d) {
49467
49439
  return d;
@@ -49604,6 +49576,7 @@ var list_List = function List(props) {
49604
49576
  jssStyle: jssStyle,
49605
49577
  index: index,
49606
49578
  data: item,
49579
+ isAnimationFinish: isAnimationFinish,
49607
49580
  setRowHeight: setRowHeight,
49608
49581
  lineHeight: lineHeight,
49609
49582
  isHover: hoverIndex === index,
@@ -51122,6 +51095,10 @@ function Select(props0) {
51122
51095
  _useState4 = slicedToArray_default()(_useState3, 2),
51123
51096
  focused = _useState4[0],
51124
51097
  setFocused = _useState4[1];
51098
+ var _useState5 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false),
51099
+ _useState6 = slicedToArray_default()(_useState5, 2),
51100
+ isAnimationFinish = _useState6[0],
51101
+ setIsAnimationFinish = _useState6[1];
51125
51102
  var inputRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
51126
51103
  var optionListRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
51127
51104
  var _useFilter = use_filter({
@@ -51426,6 +51403,9 @@ function Select(props0) {
51426
51403
  var handleRemove = function handleRemove(item) {
51427
51404
  return datum.remove(item);
51428
51405
  };
51406
+ var onAnimationAfterEnter = function onAnimationAfterEnter() {
51407
+ setIsAnimationFinish(true);
51408
+ };
51429
51409
 
51430
51410
  // innerTitle 模式
51431
51411
  var renderInnerTitle = use_inner_title({
@@ -51539,6 +51519,7 @@ function Select(props0) {
51539
51519
  renderItem: renderItem,
51540
51520
  controlType: controlType,
51541
51521
  onLoadMore: onLoadMore,
51522
+ isAnimationFinish: isAnimationFinish,
51542
51523
  threshold: threshold,
51543
51524
  onControlTypeChange: setControlType,
51544
51525
  closePop: closePop,
@@ -51554,10 +51535,10 @@ function Select(props0) {
51554
51535
  }
51555
51536
  return /*#__PURE__*/(0,jsx_runtime.jsx)(select_list, objectSpread2_default()({}, listProps));
51556
51537
  };
51557
- var _useState5 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(''),
51558
- _useState6 = slicedToArray_default()(_useState5, 2),
51559
- absoluteListUpdateKey = _useState6[0],
51560
- setAbsoluteListUpdateKey = _useState6[1];
51538
+ var _useState7 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(''),
51539
+ _useState8 = slicedToArray_default()(_useState7, 2),
51540
+ absoluteListUpdateKey = _useState8[0],
51541
+ setAbsoluteListUpdateKey = _useState8[1];
51561
51542
  // 当树形数据展开时,需要更新 AbsoluteList 的位置
51562
51543
  var onExpandWrap = usePersistFn(function (value) {
51563
51544
  onExpand === null || onExpand === void 0 || onExpand(value);
@@ -51672,9 +51653,12 @@ function Select(props0) {
51672
51653
  onRef: popupRef,
51673
51654
  show: open,
51674
51655
  className: classnames_default()(styles === null || styles === void 0 ? void 0 : styles.pickerWrapper, size === 'small' && (styles === null || styles === void 0 ? void 0 : styles.pickerSmall), size === 'large' && (styles === null || styles === void 0 ? void 0 : styles.pickerLarge)),
51656
+ onAnimationAfterEnter: onAnimationAfterEnter,
51675
51657
  onMouseDown: select_preventDefault,
51676
51658
  display: 'block',
51677
- type: "scale-y",
51659
+ type: "scale-y"
51660
+ // type='fade'
51661
+ ,
51678
51662
  duration: 'fast',
51679
51663
  style: getListStyle(),
51680
51664
  children: [renderHeader(), renderOptions(), renderFooter()]
@@ -56986,7 +56970,7 @@ var useTableVirtual = function useTableVirtual(props) {
56986
56970
  updateIndexAndTopFromTop(scrollTop);
56987
56971
  }
56988
56972
  };
56989
- var scrollToIndex = usePersistFn(function (index) {
56973
+ var scrollToIndex = usePersistFn(function (index, callback) {
56990
56974
  if (props.disabled) return;
56991
56975
  if (props.scrollRef.current) {
56992
56976
  context.shouldUpdateHeight = true;
@@ -56997,6 +56981,9 @@ var useTableVirtual = function useTableVirtual(props) {
56997
56981
  if (beforeHeight2 !== beforeHeight) {
56998
56982
  scrollToIndex(index);
56999
56983
  }
56984
+ if (callback && typeof callback === 'function') {
56985
+ callback();
56986
+ }
57000
56987
  };
57001
56988
  props.scrollRef.current.scrollTop = beforeHeight;
57002
56989
  }
@@ -59215,6 +59202,31 @@ var TabsHeader = function TabsHeader(props) {
59215
59202
  var single = isRtl && !isVertical ? -1 : 1;
59216
59203
  setTransform(delta + headerRef.current.clientWidth * single);
59217
59204
  };
59205
+ var renderHeaderScrollBar = function renderHeaderScrollBar() {
59206
+ if (shape !== 'line' && shape !== 'dash') return;
59207
+ var currentTab = tabRef.current[active];
59208
+ if (!currentTab) return;
59209
+ var currentTabRect = currentTab.getBoundingClientRect();
59210
+ var scrollBarStyle = isVertical ? {
59211
+ right: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('left') ? 0 : 'auto',
59212
+ left: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('right') ? 0 : 'auto',
59213
+ top: currentTab.offsetTop + currentTabRect.height / 2,
59214
+ height: shape === 'line' ? currentTabRect.height : 24,
59215
+ width: 2,
59216
+ transform: 'translateY(-50%)'
59217
+ } : {
59218
+ bottom: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('top') ? 0 : 'auto',
59219
+ top: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('bottom') ? 0 : 'auto',
59220
+ left: currentTab.offsetLeft + currentTabRect.width / 2,
59221
+ width: shape === 'line' ? currentTabRect.width : 24,
59222
+ height: 2,
59223
+ transform: 'translateX(-50%)'
59224
+ };
59225
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
59226
+ className: headerStyle.headerScrollBar,
59227
+ style: scrollBarStyle
59228
+ });
59229
+ };
59218
59230
  var renderTab = function renderTab() {
59219
59231
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
59220
59232
  ref: headerRef,
@@ -59229,11 +59241,7 @@ var TabsHeader = function TabsHeader(props) {
59229
59241
  button: buttonStyle
59230
59242
  },
59231
59243
  children: tabs.map(function (tab, index) {
59232
- return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()(objectSpread2_default()({}, tab), {}, {
59233
- ref: function ref(node) {
59234
- tabRef.current[tab.id] = node;
59235
- }
59236
- }), index);
59244
+ return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()({}, tab), index);
59237
59245
  })
59238
59246
  }), shape !== 'button' && tabs.map(function (tab, index) {
59239
59247
  return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()(objectSpread2_default()({}, tab), {}, {
@@ -59241,7 +59249,7 @@ var TabsHeader = function TabsHeader(props) {
59241
59249
  tabRef.current[tab.id] = node;
59242
59250
  }
59243
59251
  }), index);
59244
- })]
59252
+ }), renderHeaderScrollBar()]
59245
59253
  })
59246
59254
  });
59247
59255
  };
@@ -59816,12 +59824,15 @@ var useTransfer = function useTransfer(props) {
59816
59824
  _useState4 = slicedToArray_default()(_useState3, 2),
59817
59825
  filterTargetText = _useState4[0],
59818
59826
  setFilterTargetText = _useState4[1];
59827
+ var handleSelectedChange = function handleSelectedChange(_value, source, target) {
59828
+ onSelectChangeProp === null || onSelectChangeProp === void 0 || onSelectChangeProp(source, target);
59829
+ };
59819
59830
  var _useInputAble = useInputAble({
59820
59831
  value: selectValue,
59821
59832
  defaultValue: defaultSelectValue,
59822
59833
  control: selectControl,
59823
59834
  beforeChange: undefined,
59824
- onChange: onSelectChangeProp
59835
+ onChange: handleSelectedChange
59825
59836
  }),
59826
59837
  selectedKeys = _useInputAble.value,
59827
59838
  onSelectChange = _useInputAble.onChange;
@@ -59878,24 +59889,12 @@ var useTransfer = function useTransfer(props) {
59878
59889
  return keygen;
59879
59890
  };
59880
59891
  var handleSourceSelectedChange = function handleSourceSelectedChange(value) {
59881
- if (selectControl) {
59882
- // 受控情况下整合工作交给用户处理
59883
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(value, targetSelectedKeys);
59884
- } else {
59885
- // 非受控内部直接整合 source target
59886
- var next = [].concat(toConsumableArray_default()(value), toConsumableArray_default()(targetSelectedKeys));
59887
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
59888
- }
59892
+ var next = [].concat(toConsumableArray_default()(value), toConsumableArray_default()(targetSelectedKeys));
59893
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, value, targetSelectedKeys);
59889
59894
  };
59890
59895
  var handleTargetSelectedChange = function handleTargetSelectedChange(value) {
59891
- if (selectControl) {
59892
- // 受控情况下整合工作交给用户处理
59893
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(sourceSelectedKeys, value);
59894
- } else {
59895
- // 非受控内部直接整合 source target
59896
- var next = [].concat(toConsumableArray_default()(sourceSelectedKeys), toConsumableArray_default()(value));
59897
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
59898
- }
59896
+ var next = [].concat(toConsumableArray_default()(sourceSelectedKeys), toConsumableArray_default()(value));
59897
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, sourceSelectedKeys, value);
59899
59898
  };
59900
59899
  var sourceDatum = use_list_select_multiple({
59901
59900
  value: sourceSelectedKeys,
@@ -64863,7 +64862,7 @@ var upload_interface = __webpack_require__(8821);
64863
64862
 
64864
64863
 
64865
64864
  /* harmony default export */ var src_0 = ({
64866
- version: '3.4.0-beta.6'
64865
+ version: '3.4.0-beta.8'
64867
64866
  });
64868
64867
  }();
64869
64868
  /******/ return __webpack_exports__;