shineout 3.9.13 → 3.9.14-beta.10

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.13'
525
+ version: '3.9.14-beta.10'
526
526
  };
package/dist/shineout.js CHANGED
@@ -6856,20 +6856,14 @@ var icons_close = /*#__PURE__*/(0,jsx_runtime.jsx)("svg", {
6856
6856
  d: "M5.60994 4.21871L5.70415 4.30189L12.0015 10.5851L18.3584 4.22893C18.749 3.8384 19.3821 3.8384 19.7727 4.22893C20.1331 4.58941 20.1609 5.15664 19.8558 5.54893L19.7727 5.64314L13.4165 12.0001L19.708 18.2923C20.0985 18.6828 20.0985 19.316 19.708 19.7065C19.3475 20.067 18.7803 20.0947 18.388 19.7897L18.2938 19.7065L12.0015 13.4151L5.68269 19.733C5.29217 20.1235 4.659 20.1235 4.26848 19.733C3.908 19.3725 3.88027 18.8053 4.18529 18.413L4.26848 18.3188L10.5865 12.0001L4.28994 5.71611C3.89941 5.32558 3.89941 4.69242 4.28994 4.30189C4.65042 3.94141 5.21765 3.91368 5.60994 4.21871Z"
6857
6857
  })
6858
6858
  });
6859
- var closeFill = /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", {
6859
+ var closeFill = /*#__PURE__*/(0,jsx_runtime.jsx)("svg", {
6860
6860
  viewBox: "0 0 24 24",
6861
6861
  focusable: "false",
6862
6862
  fill: "currentColor",
6863
6863
  "aria-hidden": "true",
6864
- children: [/*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6865
- fillRule: "evenodd",
6866
- clipRule: "evenodd",
6867
- d: "M12 23C5.924 23 1 18.076 1 12C1 5.924 5.924 1 12 1C18.076 1 23 5.924 23 12C23 18.076 18.076 23 12 23ZM8.29289 8.29289C8.65338 7.93241 9.22061 7.90468 9.6129 8.2097L9.70711 8.29289L11.828 10.413L13.9497 8.29289C14.3403 7.90237 14.9734 7.90237 15.364 8.29289C15.7244 8.65338 15.7522 9.22061 15.4471 9.6129L15.364 9.70711L13.242 11.828L15.364 13.9497C15.7545 14.3403 15.7545 14.9734 15.364 15.364C15.0035 15.7244 14.4362 15.7522 14.044 15.4471L13.9497 15.364L11.828 13.242L9.70711 15.364C9.31658 15.7545 8.68342 15.7545 8.29289 15.364C7.93241 15.0035 7.90468 14.4362 8.2097 14.044L8.29289 13.9497L10.413 11.828L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289Z",
6868
- fill: "currentColor"
6869
- }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6870
- d: "M9.6129 8.2097C9.22061 7.90468 8.65338 7.93241 8.29289 8.29289C7.90237 8.68342 7.90237 9.31658 8.29289 9.70711L10.413 11.828L8.29289 13.9497L8.2097 14.044C7.90468 14.4362 7.93241 15.0035 8.29289 15.364C8.68342 15.7545 9.31658 15.7545 9.70711 15.364L11.828 13.242L13.9497 15.364L14.044 15.4471C14.4362 15.7522 15.0035 15.7244 15.364 15.364C15.7545 14.9734 15.7545 14.3403 15.364 13.9497L13.242 11.828L15.364 9.70711L15.4471 9.6129C15.7522 9.22061 15.7244 8.65338 15.364 8.29289C14.9734 7.90237 14.3403 7.90237 13.9497 8.29289L11.828 10.413L9.70711 8.29289L9.6129 8.2097Z",
6871
- fill: "white"
6872
- })]
6864
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6865
+ d: "M12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1ZM9.7845 8.38125C9.39221 8.07623 8.82498 8.10396 8.46449 8.46444C8.07397 8.85497 8.07397 9.48813 8.46449 9.87866L10.5846 11.9995L8.46449 14.1213L8.3813 14.2155C8.07628 14.6078 8.10401 15.175 8.46449 15.5355C8.85502 15.926 9.48818 15.926 9.87871 15.5355L11.9996 13.4136L14.1213 15.5355L14.2156 15.6187C14.6078 15.9237 15.1751 15.896 15.5356 15.5355C15.9261 15.145 15.9261 14.5118 15.5356 14.1213L13.4136 11.9995L15.5356 9.87866L15.6187 9.78445C15.9238 9.39216 15.896 8.82493 15.5356 8.46444C15.145 8.07392 14.5119 8.07392 14.1213 8.46444L11.9996 10.5845L9.87871 8.46444L9.7845 8.38125Z"
6866
+ })
6873
6867
  });
6874
6868
  var file = /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6875
6869
  d: "M15.1184 1.08377C15.6814 1.08377 16.2184 1.32112 16.5974 1.73752L20.4814 6.00468C20.8166 6.37293 21.0024 6.85298 21.0024 7.35093V20.9095C21.0024 22.0141 20.1069 22.9095 19.0024 22.9095L5.00195 22.9163C3.89738 22.9163 3.00195 22.0208 3.00195 20.9163V3.08374C3.00195 1.97917 3.89738 1.08374 5.00195 1.08374L15.1184 1.08377ZM15.5015 3.42957C15.3115 3.20997 15.0355 3.08377 14.7451 3.08377L6.00195 3.08374C5.48912 3.08374 5.06645 3.46978 5.00868 3.96712L5.00195 4.08374V19.9163C5.00195 20.4291 5.38799 20.8518 5.88533 20.9095L6.00195 20.9163L18.0024 20.9095C18.5152 20.9095 18.9379 20.5235 18.9956 20.0262L19.0024 19.9095V7.84949C19.0024 7.60924 18.9159 7.37701 18.7587 7.1953L15.5015 3.42957ZM14.1402 13.575C14.6311 13.575 15.0291 14.0227 15.0291 14.575C15.0291 15.0878 14.6859 15.5105 14.2439 15.5682L14.1402 15.575H7.91798C7.42706 15.575 7.0291 15.1273 7.0291 14.575C7.0291 14.0621 7.37224 13.6395 7.81432 13.5817L7.91798 13.575H14.1402ZM16.0024 9.04967C16.5122 9.04967 16.9254 9.49739 16.9254 10.0497C16.9254 10.5625 16.5691 10.9852 16.11 11.0429L16.0024 11.0497H7.81432C7.30452 11.0497 6.89124 10.602 6.89124 10.0497C6.89124 9.53683 7.24759 9.11416 7.70667 9.0564L7.81432 9.04967H16.0024Z"
@@ -12332,7 +12326,7 @@ var handleStyle = function handleStyle(style) {
12332
12326
  };
12333
12327
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12334
12328
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12335
- /* harmony default export */ var version = ('3.9.13');
12329
+ /* harmony default export */ var version = ('3.9.14-beta.10');
12336
12330
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12337
12331
 
12338
12332
 
@@ -12963,6 +12957,7 @@ var badgeTokens = {
12963
12957
  badgeBadgeFontColor: 'Neutral-text-1',
12964
12958
  badgeBadgeBackgroundColor: 'Danger-6',
12965
12959
  badgeBadgeBorderRadius: 'Radius-full',
12960
+ badgeBadgeShadowColor: 'Neutral-fill-1',
12966
12961
  badgeCountPaddingX: 'Spacing-4',
12967
12962
  badgeCountHeight: 'Size-10',
12968
12963
  badgeSmallCountHeight: 'Size-8',
@@ -13017,7 +13012,7 @@ var breadcrumbTokens = {
13017
13012
  // This file was generated automatically by a script. Please do not modify it directly.
13018
13013
 
13019
13014
  var buttonTokens = {
13020
- buttonSplitlineFullBackgroundColor: '#ffffff',
13015
+ buttonSplitlineFullBackgroundColor: 'Neutral-fill-1',
13021
13016
  buttonSplitlineOutlineBackgroundColor: 'Neutral-border-2',
13022
13017
  buttonPrimaryFontColor: 'Neutral-text-1',
13023
13018
  buttonPrimaryBackgroundColor: 'Brand-6',
@@ -14217,7 +14212,7 @@ var menuTokens = {
14217
14212
  menuSearchHoverClearColor: 'Neutral-text-4',
14218
14213
  menuSearchHoverBorderColor: 'Brand-5',
14219
14214
  menuSearchHoverBackgroundColor: 'Neutral-fill-1',
14220
- menuSearchDisabledBackgroundColor: 'Neutral-fill-3',
14215
+ menuSearchDisabledBackgroundColor: 'Neutral-fill-2',
14221
14216
  menuSearchDarkFontColor: 'Neutral-text-1',
14222
14217
  menuSearchDarkBorderColor: 'Neutral-fill-8',
14223
14218
  menuSearchDarkBackgroundColor: 'Neutral-fill-8',
@@ -15956,7 +15951,7 @@ var badgeStyle = {
15956
15951
  insetInlineEnd: 0,
15957
15952
  transform: 'translate(50%, -50%)',
15958
15953
  transformOrigin: '100% 0',
15959
- boxShadow: "0 0 0 1px #fff"
15954
+ boxShadow: "0 0 0 1px ".concat(src.badgeBadgeShadowColor)
15960
15955
  }
15961
15956
  },
15962
15957
  standalone: {
@@ -16636,17 +16631,20 @@ var ButtonGroupStyle = {
16636
16631
  '&[dir=ltr]': {
16637
16632
  borderTopLeftRadius: 0,
16638
16633
  borderBottomLeftRadius: 0,
16639
- borderLeft: 'none'
16634
+ borderLeft: 'none',
16635
+ borderInlineStartStyle: 'none'
16640
16636
  },
16641
16637
  '&[dir=rtl]': {
16642
16638
  borderTopRightRadius: 0,
16643
16639
  borderBottomRightRadius: 0,
16644
- borderLeft: 'none'
16640
+ borderLeft: 'none',
16641
+ borderInlineEndStyle: 'none'
16645
16642
  }
16646
16643
  }), "& > :not(:first-child):not(:last-child)".concat(bc('button'), ",& > :not(:first-child):not(:last-child) ").concat(bc('button')), {
16647
16644
  borderRadius: 0,
16648
16645
  borderLeft: 'none',
16649
- borderRight: 'none'
16646
+ borderRight: 'none',
16647
+ borderInlineStyle: 'none'
16650
16648
  }), "& ".concat(bc('button'), ":not(").concat(bc('outline'), "):not(").concat(bc('dashed'), "):not(").concat(bc('text'), ")"), defineProperty_default()(defineProperty_default()(defineProperty_default()({
16651
16649
  position: 'relative',
16652
16650
  '&::before': {
@@ -17339,7 +17337,7 @@ var supportsHas = function supportsHas() {
17339
17337
  borderRadius: 0,
17340
17338
  boxShadow: 'none',
17341
17339
  backgroundColor: 'transparent',
17342
- flex: 1,
17340
+ flex: '1 1 auto',
17343
17341
  minWidth: 0
17344
17342
  },
17345
17343
  '[data-soui-role="input-group"]:not([data-soui-border="false"]) [data-soui-input-border] + &&&': {
@@ -18614,11 +18612,11 @@ var datePickerStyle = objectSpread2_default()(objectSpread2_default()(objectSpre
18614
18612
  },
18615
18613
  clear: {
18616
18614
  display: 'none',
18617
- color: src.datePickerClearColor,
18618
- '&: hover': {
18619
- color: src.datePickerHoverClearColor
18620
- },
18621
- cursor: 'pointer'
18615
+ color: src.inputClearColor,
18616
+ cursor: 'pointer',
18617
+ '&:hover': {
18618
+ color: src.inputHoverClearColor
18619
+ }
18622
18620
  },
18623
18621
  pickerWrapper: {
18624
18622
  position: 'absolute',
@@ -20248,7 +20246,7 @@ var ImageStyle = objectSpread2_default()(objectSpread2_default()({
20248
20246
  },
20249
20247
  thumbnail: {
20250
20248
  borderRadius: src.imageBorderRadius,
20251
- backgroundColor: '#FFFFFF',
20249
+ backgroundColor: src.imageBackgroundColor,
20252
20250
  outline: "1px solid ".concat(src.imageBorderColor),
20253
20251
  '& $inner': {
20254
20252
  top: 4,
@@ -20769,6 +20767,7 @@ var groupSpace = function groupSpace(gap) {
20769
20767
  padding: "0 ".concat(gap),
20770
20768
  display: 'flex',
20771
20769
  alignItems: 'center',
20770
+ flexShrink: 0,
20772
20771
  borderLeft: "1px solid ".concat(src.inputBorderColor),
20773
20772
  borderRight: "1px solid ".concat(src.inputBorderColor),
20774
20773
  background: src.inputGroupFontBackgroundColor,
@@ -21458,7 +21457,7 @@ var menuStyle = {
21458
21457
  }
21459
21458
  },
21460
21459
  // 一级菜单展不展开都是fill-9,一级展开后的子级都是fill-10
21461
- '[data-soui-theme=dark] $root > $item:not($itemActive) > &': {
21460
+ '[data-soui-theme=dark] $root > $item:not($itemActive):not($itemDisabled) > &': {
21462
21461
  backgroundColor: src.menuDarkItemBackgroundColor,
21463
21462
  '&:hover': {
21464
21463
  backgroundColor: src.menuDarkItemHoverBackgroundColor
@@ -24363,7 +24362,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
24363
24362
  verticalAlign: 'middle',
24364
24363
  width: src.inputFontSize,
24365
24364
  lineHeight: 0,
24366
- color: src.inputIconColor,
24365
+ color: src.selectIconColor,
24367
24366
  transition: 'transform 0.3s'
24368
24367
  },
24369
24368
  arrowIconOpen: {
@@ -30757,10 +30756,13 @@ function useClickAway(params) {
30757
30756
  });
30758
30757
  var target = Array.isArray(t) ? t : [t];
30759
30758
  var handleClickAway = use_persist_fn(function (event) {
30760
- // @ts-ignore
30759
+ var _composedPath, _composedPath2, _ref;
30760
+ // composedPath() 兼容 Shadow DOM,包含事件传播路径上的所有元素
30761
+ var path = (_composedPath = (_composedPath2 = (_ref = event).composedPath) === null || _composedPath2 === void 0 ? void 0 : _composedPath2.call(_ref)) !== null && _composedPath !== void 0 ? _composedPath : [event.target];
30761
30762
  if (target.findIndex(function (t) {
30762
- var _t$current;
30763
- return (_t$current = t.current) === null || _t$current === void 0 ? void 0 : _t$current.contains(event.target);
30763
+ return t.current && path.some(function (n) {
30764
+ return n instanceof Node && t.current.contains(n);
30765
+ });
30764
30766
  }) > -1) {
30765
30767
  return;
30766
30768
  }
@@ -45707,11 +45709,22 @@ var useListSelectMultiple = function useListSelectMultiple(props) {
45707
45709
  for (var j = 0; j < raws.length; j++) {
45708
45710
  var _item2 = raws[j];
45709
45711
  if (props.prediction(values[_i], _item2)) {
45712
+ if (props.keepCache) context.valueDataCache.set(values[_i], _item2);
45710
45713
  result.push(_item2);
45711
45714
  raws.splice(j, 1);
45712
45715
  continue outer;
45713
45716
  }
45714
45717
  }
45718
+ // 当前 data 找不到,从 valueDataCache 中回退匹配
45719
+ if (props.keepCache && context.valueDataCache) {
45720
+ var cacheValues = Array.from(context.valueDataCache.values());
45721
+ for (var k = 0; k < cacheValues.length; k++) {
45722
+ if (props.prediction(values[_i], cacheValues[k])) {
45723
+ result.push(cacheValues[k]);
45724
+ continue outer;
45725
+ }
45726
+ }
45727
+ }
45715
45728
  result.push({
45716
45729
  IS_NOT_MATCHED_VALUE: true,
45717
45730
  value: values[_i]
@@ -53158,6 +53171,7 @@ var SchemaBuilder = /*#__PURE__*/function () {
53158
53171
 
53159
53172
  var globalKey = '__global__&&@@';
53160
53173
  var SUBMIT_TIMEOUT = 10;
53174
+ var RESET_TIMEOUT = 500;
53161
53175
 
53162
53176
 
53163
53177
  var emptyObj = {};
@@ -53456,6 +53470,8 @@ var useForm = function useForm(props) {
53456
53470
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
53457
53471
  validate: false
53458
53472
  };
53473
+ // 重置保护期内(500ms),忽略子组件延迟 onChange 写回的旧值
53474
+ if (context.resetTime && Date.now() - context.resetTime < RESET_TIMEOUT) return;
53459
53475
  onChange(function (draft) {
53460
53476
  var values = Object.keys(vals);
53461
53477
  // 针对 name 为数组模式,如 datepicker 的 name={['startTime', 'endTime']} 时,前者校验可能需要依赖后者,因此需要提前将后者数据整合至 draft 用于多字段整合校验
@@ -53623,7 +53639,7 @@ var useForm = function useForm(props) {
53623
53639
  onChange(getDefaultValue());
53624
53640
  clearValidate();
53625
53641
  update();
53626
- context.resetTime = 1;
53642
+ context.resetTime = Date.now();
53627
53643
  (_props$onReset = props.onReset) === null || _props$onReset === void 0 || _props$onReset.call(props);
53628
53644
  other === null || other === void 0 || (_other$onReset = other.onReset) === null || _other$onReset === void 0 || _other$onReset.call(other, e);
53629
53645
  };
@@ -56308,6 +56324,7 @@ var useNumberFormat = function useNumberFormat(props) {
56308
56324
  min = props.min,
56309
56325
  max = props.max,
56310
56326
  allowNull = props.allowNull,
56327
+ clearToUndefined = props.clearToUndefined,
56311
56328
  _props$step = props.step,
56312
56329
  step = _props$step === void 0 ? 1 : _props$step,
56313
56330
  cancelBlurChange = props.cancelBlurChange,
@@ -56328,10 +56345,9 @@ var useNumberFormat = function useNumberFormat(props) {
56328
56345
  setInternalInputValue = _React$useState2[1];
56329
56346
  var focusedRef = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useRef(false);
56330
56347
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
56331
- // 聚焦编辑期间不同步外部值,避免 form 回填 defaultValue 覆盖用户输入
56332
- // 但当外部值被清空时( clearable 触发),即使聚焦也需要同步
56333
- if (props.value !== inernalInputValue && (!focusedRef.current || props.value == null || props.value === '')) {
56334
- setInternalInputValue(getStringValue(props.value));
56348
+ var stringValue = getStringValue(props.value);
56349
+ if (stringValue !== inernalInputValue && (!focusedRef.current || props.value == null)) {
56350
+ setInternalInputValue(stringValue);
56335
56351
  }
56336
56352
  }, [props.value]);
56337
56353
  var getNumberValue = function getNumberValue(value) {
@@ -56457,6 +56473,10 @@ var useNumberFormat = function useNumberFormat(props) {
56457
56473
  var num = changeValue(-step);
56458
56474
  if (num !== undefined) setInternalInputValue(getStringValue(num));
56459
56475
  });
56476
+ var handleClear = use_persist_fn(function () {
56477
+ setInternalInputValue('');
56478
+ onChange === null || onChange === void 0 || onChange(clearToUndefined ? undefined : allowNull ? null : '');
56479
+ });
56460
56480
  return objectSpread2_default()(objectSpread2_default()({}, use_input_format({
56461
56481
  value: inernalInputValue,
56462
56482
  type: 'number',
@@ -56470,7 +56490,8 @@ var useNumberFormat = function useNumberFormat(props) {
56470
56490
  cancelBlurChange: true
56471
56491
  })), {}, {
56472
56492
  onPlus: handlePlus,
56473
- onMinus: handleMinus
56493
+ onMinus: handleMinus,
56494
+ onClear: handleClear
56474
56495
  });
56475
56496
  };
56476
56497
  /* harmony default export */ var use_input_number = (useNumberFormat);
@@ -56518,7 +56539,8 @@ var InputNumber = function InputNumber(props) {
56518
56539
  value: commonProps.value,
56519
56540
  onChange: commonProps.onChange,
56520
56541
  disabled: !!commonProps.disabled,
56521
- defaultValue: props.defaultValue
56542
+ defaultValue: props.defaultValue,
56543
+ clearToUndefined: props.clearToUndefined
56522
56544
  }, numberFormatParams)),
56523
56545
  onMinus = _useInputNumber.onMinus,
56524
56546
  onPlus = _useInputNumber.onPlus,
@@ -57635,7 +57657,7 @@ var initPlaceElement = function initPlaceElement() {
57635
57657
  }
57636
57658
  };
57637
57659
  initPlaceElement();
57638
- var Node = function Node(props) {
57660
+ var tree_simple_node_Node = function Node(props) {
57639
57661
  var jssStyle = props.jssStyle,
57640
57662
  id = props.id,
57641
57663
  data = props.data,
@@ -57890,7 +57912,7 @@ var Node = function Node(props) {
57890
57912
  }), hasChildren && /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.createElement)(List, getChildrenListProps())]
57891
57913
  }));
57892
57914
  };
57893
- /* harmony default export */ var tree_simple_node = (Node);
57915
+ /* harmony default export */ var tree_simple_node = (tree_simple_node_Node);
57894
57916
  ;// CONCATENATED MODULE: ../hooks/src/components/use-tree/use-tree-virtual-node.ts
57895
57917
 
57896
57918
 
@@ -65762,7 +65784,20 @@ var useTableLayout = function useTableLayout(props) {
65762
65784
  if (cols && cols.every(function (v) {
65763
65785
  return v === 0;
65764
65786
  })) return;
65765
- setColgroup(shiftDecimalToLastColumn(cols));
65787
+ var shifted = shiftDecimalToLastColumn(cols);
65788
+ // 当 colgroup 中存在 undefined(说明从未被成功测量过),跳过相等判断,强制触发重新测量
65789
+ // 场景:Table 在 display:none 容器中挂载时 getColgroup 测量失败,
65790
+ // 后续 resetColGroup 产出值与初始值相同会被跳过,导致未设 width 的列永远无法获得实际宽度
65791
+ var hasUndefined = shifted.some(function (v) {
65792
+ return v === undefined;
65793
+ });
65794
+ // 值未变化时跳过,避免触发不必要的 useLayoutEffect
65795
+ if (!hasUndefined && colgroup && shifted.length === colgroup.length && shifted.every(function (v, i) {
65796
+ return v === colgroup[i];
65797
+ })) {
65798
+ return;
65799
+ }
65800
+ setColgroup(shifted);
65766
65801
  setAdjust(adjust);
65767
65802
  if (!adjust) {
65768
65803
  updateResizeFlag();
@@ -65816,8 +65851,7 @@ var useTableLayout = function useTableLayout(props) {
65816
65851
  var index = 0;
65817
65852
  var sum = 0;
65818
65853
  var _loop = function _loop() {
65819
- var _items$i$getBoundingC = items[i].getBoundingClientRect(),
65820
- width = _items$i$getBoundingC.width;
65854
+ var width = items[i].offsetWidth;
65821
65855
  sum += width;
65822
65856
  var colspan = items[i].getAttribute('colspan');
65823
65857
  var colspanNum = parseInt(colspan || '1', 10);
@@ -65945,6 +65979,32 @@ var useTableLayout = function useTableLayout(props) {
65945
65979
  (_cancelFunc = cancelFunc) === null || _cancelFunc === void 0 || _cancelFunc();
65946
65980
  };
65947
65981
  }, [scrollRef.current]);
65982
+
65983
+ // 当祖先元素的 CSS 动画结束时(如 Modal 入场动画),重新测量列宽
65984
+ // 解决 Table 在动画容器(如 Modal)中渲染时,动画期间测量的列宽不准确导致 sticky 表头与表体列宽错位的问题
65985
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
65986
+ var scrollEl = scrollRef.current;
65987
+ if (!scrollEl) return;
65988
+
65989
+ // 查找最近的 fixed 定位祖先(如 Modal wrapper),仅在该元素上监听动画结束
65990
+ var fixedAncestor = null;
65991
+ var parent = scrollEl.parentElement;
65992
+ while (parent) {
65993
+ if (window.getComputedStyle(parent).position === 'fixed') {
65994
+ fixedAncestor = parent;
65995
+ break;
65996
+ }
65997
+ parent = parent.parentElement;
65998
+ }
65999
+ if (!fixedAncestor) return;
66000
+ var handleAnimationEnd = function handleAnimationEnd() {
66001
+ getColgroup(false);
66002
+ };
66003
+ fixedAncestor.addEventListener('animationend', handleAnimationEnd);
66004
+ return function () {
66005
+ fixedAncestor.removeEventListener('animationend', handleAnimationEnd);
66006
+ };
66007
+ }, [scrollRef.current]);
65948
66008
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useLayoutEffect)(function () {
65949
66009
  if (adjust) {
65950
66010
  getColgroup(adjust === 'drag');
@@ -75704,7 +75764,7 @@ var upload_interface = __webpack_require__(8821);
75704
75764
 
75705
75765
 
75706
75766
  /* harmony default export */ var src_0 = ({
75707
- version: '3.9.13'
75767
+ version: '3.9.14-beta.10'
75708
75768
  });
75709
75769
  }();
75710
75770
  /******/ return __webpack_exports__;