shineout 3.9.3-beta.1 → 3.9.3-beta.11

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/dist/shineout.js CHANGED
@@ -4548,15 +4548,14 @@ const figma = [
4548
4548
  {
4549
4549
  name: 'Shadow-4',
4550
4550
  value: '0px -2px 10px rgba(232, 235, 240, 0.8)',
4551
- describe: '详情页底部按钮模块阴影',
4551
+ describe: '详情页底部按钮模块阴影(向上)',
4552
4552
  token: 'Shadow-4',
4553
4553
  locked: true,
4554
4554
  },
4555
4555
  {
4556
4556
  name: 'Shadow-5',
4557
- value:
4558
- 'rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px',
4559
- describe: 'Switch圆圈阴影',
4557
+ value: '0px 2px 10px rgba(232, 235, 240, 0.8)',
4558
+ describe: '详情页底部按钮模块阴影(向下)',
4560
4559
  token: 'Shadow-5',
4561
4560
  locked: true,
4562
4561
  },
@@ -12402,17 +12401,21 @@ var handleStyle = function handleStyle(style) {
12402
12401
  };
12403
12402
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12404
12403
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12405
- /* harmony default export */ var version = ('3.9.3-beta.1');
12404
+ /* harmony default export */ var version = ('3.9.3-beta.11');
12406
12405
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12407
12406
 
12408
12407
 
12409
12408
 
12410
12409
 
12410
+
12411
12411
  var jss_style_prefix = 'soui';
12412
12412
  var jss_style_config = {};
12413
12413
  var setJssConfig = function setJssConfig(newConfig) {
12414
12414
  Object.assign(jss_style_config, newConfig);
12415
12415
  };
12416
+ var getJssConfig = function getJssConfig() {
12417
+ return jss_style_config;
12418
+ };
12416
12419
  var stringToHash = function stringToHash(str) {
12417
12420
  var hash = 0;
12418
12421
  if (str.length === 0) return '';
@@ -12446,12 +12449,27 @@ var createClassname = function createClassname(rule, sheet) {
12446
12449
  // };
12447
12450
 
12448
12451
  var styled = function styled(style, ns) {
12452
+ var styleElement = typeof window !== 'undefined' ? document.createElement('style') : undefined;
12449
12453
  var hoc = createUseStyles(jss_style_handleStyle(style), {
12450
12454
  name: ns,
12451
- generateId: createClassname
12455
+ generateId: createClassname,
12456
+ element: styleElement
12452
12457
  });
12453
12458
  var styledCacheMap = {};
12459
+ var attributesApplied = false;
12454
12460
  var getClassName = function getClassName() {
12461
+ if (!attributesApplied && styleElement) {
12462
+ var jssConfig = getJssConfig();
12463
+ if (jssConfig.styleAttributes) {
12464
+ Object.entries(jssConfig.styleAttributes).forEach(function (_ref) {
12465
+ var _ref2 = slicedToArray_default()(_ref, 2),
12466
+ key = _ref2[0],
12467
+ value = _ref2[1];
12468
+ styleElement.setAttribute(key, value);
12469
+ });
12470
+ }
12471
+ attributesApplied = true;
12472
+ }
12455
12473
  var classes = hoc();
12456
12474
  if (styledCacheMap[ns]) {
12457
12475
  return styledCacheMap[ns];
@@ -12793,7 +12811,7 @@ var Token = {
12793
12811
  'Shadow-2': '0px 4px 10px rgba(2, 11, 24, 0.1)',
12794
12812
  'Shadow-3': '0px 8px 20px rgba(2, 11, 24, 0.1)',
12795
12813
  'Shadow-4': '0px -2px 10px rgba(232, 235, 240, 0.8)',
12796
- 'Shadow-5': 'rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px',
12814
+ 'Shadow-5': '0px 2px 10px rgba(232, 235, 240, 0.8)',
12797
12815
  'Line-height-dynamic': 'calc( 1em + 8px )',
12798
12816
  'Line-height-dynamic-min': 'calc( max(1em, 14px) + 8px )',
12799
12817
  Transparent: 'transparent',
@@ -14774,7 +14792,7 @@ var switchTokens = {
14774
14792
  switchPaddingY: 'Spacing-2',
14775
14793
  switchCircleSize: 'Size-9',
14776
14794
  switchCircleFill: 'Neutral-text-1',
14777
- switchCircleShadow: 'Shadow-5',
14795
+ switchCircleShadow: 'Shadow-3',
14778
14796
  switchWidth: 'Size-21',
14779
14797
  switchTextPaddingLeft: 'Spacing-8',
14780
14798
  switchTextPaddingRight: 'Spacing-4',
@@ -24114,7 +24132,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
24114
24132
  fontSize: src.selectSmallFontSize
24115
24133
  },
24116
24134
  '& $optionGroupTitle': {
24117
- padding: "".concat(src.selectGroupTitleSmallTop, " ").concat(src.selectGroupTitlePaddingX, " 0 ").concat(src.selectGroupTitlePaddingX)
24135
+ padding: "calc(".concat(src.selectFontSize, " - 10px) ").concat(src.selectGroupTitlePaddingX, " 0 ").concat(src.selectGroupTitlePaddingX)
24118
24136
  }
24119
24137
  },
24120
24138
  pickerLarge: {
@@ -24126,7 +24144,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
24126
24144
  fontSize: src.selectLargeFontSize
24127
24145
  },
24128
24146
  '& $optionGroupTitle': {
24129
- padding: "".concat(src.selectGroupTitleLargeTop, " ").concat(src.selectGroupTitlePaddingX, " ").concat(src.selectGroupTitleLargeBottom, " ").concat(src.selectGroupTitlePaddingX)
24147
+ padding: "calc(".concat(src.selectFontSize, " + 2px) ").concat(src.selectGroupTitlePaddingX, " ").concat(src.selectGroupTitleLargeBottom, " ").concat(src.selectGroupTitlePaddingX)
24130
24148
  }
24131
24149
  },
24132
24150
  iconWrapper: {
@@ -24343,7 +24361,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
24343
24361
  optionGroupTitle: {
24344
24362
  fontSize: src.selectGroupTitleFontSize,
24345
24363
  lineHeight: src.lineHeightDynamic,
24346
- padding: "calc(".concat(src.selectGroupTitleFontSize, " - 4px) ").concat(src.selectGroupTitlePaddingX, " ").concat(src.selectGroupTitlePaddingBottom, " ").concat(src.selectGroupTitlePaddingX),
24364
+ padding: "calc(".concat(src.selectFontSize, " - 4px) ").concat(src.selectGroupTitlePaddingX, " ").concat(src.selectGroupTitlePaddingBottom, " ").concat(src.selectGroupTitlePaddingX),
24347
24365
  color: src.selectGroupTitleFontColor,
24348
24366
  fontWeight: src.selectGroupTitleFontWeight
24349
24367
  },
@@ -26541,12 +26559,13 @@ var switchStyle = objectSpread2_default()(objectSpread2_default()({
26541
26559
  backgroundColor: src.switchDisabledCircleCheckedFill
26542
26560
  },
26543
26561
  '$wrapperDisabled &': {
26562
+ boxShadow: 'none',
26544
26563
  backgroundColor: src.switchCheckedDisabledCircleFill
26545
26564
  },
26546
26565
  borderRadius: '50%',
26547
26566
  position: 'absolute',
26548
26567
  backgroundColor: src.switchCircleFill,
26549
- // boxShadow: token.switchCircleShadow,
26568
+ boxShadow: src.switchCircleShadow,
26550
26569
  transition: "left ".concat(switch_transition, ", right ").concat(switch_transition)
26551
26570
  },
26552
26571
  content: {
@@ -40998,13 +41017,32 @@ var useTree = function useTree(props) {
40998
41017
  }
40999
41018
  });
41000
41019
  };
41020
+ var getChildrenFromTiledData = function getChildrenFromTiledData(id) {
41021
+ if (!props.tiledData) return undefined;
41022
+ var findById = function findById(data, targetId) {
41023
+ for (var i = 0; i < data.length; i++) {
41024
+ var current = data[i];
41025
+ var currentId = getKey(current, '', i);
41026
+ if (currentId === targetId) return current;
41027
+ if (current[childrenKey]) {
41028
+ var found = findById(current[childrenKey], targetId);
41029
+ if (found) return found;
41030
+ }
41031
+ }
41032
+ return undefined;
41033
+ };
41034
+ var item = findById(props.tiledData, id);
41035
+ return item === null || item === void 0 ? void 0 : item[childrenKey];
41036
+ };
41001
41037
  var insertFlat = function insertFlat(id) {
41002
41038
  var item = getDataById(id);
41003
41039
  if (isUnMatchedData(item)) return;
41004
41040
  if (!item) return;
41005
41041
  var status = context.dataFlatStatusMap.get(id);
41006
41042
  if (!status) return;
41007
- var childrenData = item[childrenKey];
41043
+
41044
+ // 优先从 tiledData 中获取子节点数据,如果不存在则使用原始数据
41045
+ var childrenData = props.tiledData ? getChildrenFromTiledData(id) || [] : item[childrenKey];
41008
41046
  var insertStartNode = dataFlat.find(function (item) {
41009
41047
  return item.id === id;
41010
41048
  });
@@ -41122,6 +41160,7 @@ var useTree = function useTree(props) {
41122
41160
  if (!props.tiledData) return;
41123
41161
  var tiledFlatData = initFlatData(props.tiledData, [], 1);
41124
41162
  setDataFlat(tiledFlatData);
41163
+ // context.dataFlatStatusMap = new Map();
41125
41164
  }, [props.tiledData]);
41126
41165
  var datum = use_latest_obj({
41127
41166
  get: get,
@@ -52140,6 +52179,7 @@ function use_previous_usePrevious(value) {
52140
52179
 
52141
52180
 
52142
52181
 
52182
+
52143
52183
  var form_schema_builder_excluded = ["required"],
52144
52184
  form_schema_builder_excluded2 = ["required"];
52145
52185
  var SchemaBuilder = /*#__PURE__*/function () {
@@ -52181,7 +52221,6 @@ var SchemaBuilder = /*#__PURE__*/function () {
52181
52221
  }, {
52182
52222
  key: "buildSchemaFromComponent",
52183
52223
  value: function buildSchemaFromComponent(params) {
52184
- var _componentElement$pro;
52185
52224
  var componentElement = params.componentElement,
52186
52225
  rules = params.rules,
52187
52226
  label = params.label,
@@ -52280,65 +52319,69 @@ var SchemaBuilder = /*#__PURE__*/function () {
52280
52319
  if (componentElement.props.data.length > 0) {
52281
52320
  fieldSchemaInfo.description += "enumData: ".concat(JSON.stringify(componentElement.props.data), ";");
52282
52321
  }
52322
+ fieldSchemaInfo.props = objectSpread2_default()({}, componentElement.props);
52283
52323
  break;
52284
52324
  }
52285
52325
  case 'ShineoutDatePicker':
52286
- if (componentElement.props.range) {
52287
- if (finalFieldId !== null && finalFieldId !== void 0 && finalFieldId.includes(separator || '')) {
52326
+ {
52327
+ var _componentElement$pro;
52328
+ if (componentElement.props.range) {
52329
+ if (finalFieldId !== null && finalFieldId !== void 0 && finalFieldId.includes(separator || '')) {
52330
+ fieldSchemaInfo.type = 'string';
52331
+ fieldSchemaInfo.format = 'date';
52332
+ } else {
52333
+ fieldSchemaInfo.type = 'array';
52334
+ fieldSchemaInfo.items = {
52335
+ type: 'string',
52336
+ format: 'date'
52337
+ };
52338
+ }
52339
+ } else {
52288
52340
  fieldSchemaInfo.type = 'string';
52289
52341
  fieldSchemaInfo.format = 'date';
52290
- } else {
52291
- fieldSchemaInfo.type = 'array';
52292
- fieldSchemaInfo.items = {
52293
- type: 'string',
52294
- format: 'date'
52295
- };
52296
52342
  }
52297
- } else {
52298
- fieldSchemaInfo.type = 'string';
52299
- fieldSchemaInfo.format = 'date';
52300
- }
52301
- var defaultTime = ((_componentElement$pro = componentElement.props.defaultTime) === null || _componentElement$pro === void 0 ? void 0 : _componentElement$pro.toString()) || '';
52302
- if (defaultTime) {
52303
- fieldSchemaInfo.description += "\u9ED8\u8BA4\u65F6\u95F4\uFF1A".concat(defaultTime, " ");
52304
- }
52305
- var dateformat = componentElement.props.format || '';
52306
- if (!dateformat) {
52307
- switch (componentElement.props.type) {
52308
- case 'date':
52309
- dateformat = 'YYYY-MM-DD';
52310
- break;
52311
- case 'time':
52312
- dateformat = 'HH:mm:ss';
52313
- break;
52314
- case 'datetime':
52315
- dateformat = 'YYYY-MM-DD HH:mm:ss';
52316
- break;
52317
- case 'week':
52318
- dateformat = 'GGGG WW';
52319
- break;
52320
- case 'month':
52321
- dateformat = 'YYYY-MM';
52322
- break;
52323
- case 'quarter':
52324
- dateformat = 'YYYY-\[Q]Q';
52325
- break;
52326
- case 'year':
52327
- dateformat = 'YYYY';
52328
- break;
52329
- default:
52330
- dateformat = 'YYYY-MM-DD';
52331
- break;
52343
+ var defaultTime = ((_componentElement$pro = componentElement.props.defaultTime) === null || _componentElement$pro === void 0 ? void 0 : _componentElement$pro.toString()) || '';
52344
+ if (defaultTime) {
52345
+ fieldSchemaInfo.description += "\u9ED8\u8BA4\u65F6\u95F4\uFF1A".concat(defaultTime, " ");
52332
52346
  }
52347
+ var dateformat = componentElement.props.format || '';
52348
+ if (!dateformat) {
52349
+ switch (componentElement.props.type) {
52350
+ case 'date':
52351
+ dateformat = 'YYYY-MM-DD';
52352
+ break;
52353
+ case 'time':
52354
+ dateformat = 'HH:mm:ss';
52355
+ break;
52356
+ case 'datetime':
52357
+ dateformat = 'YYYY-MM-DD HH:mm:ss';
52358
+ break;
52359
+ case 'week':
52360
+ dateformat = 'GGGG WW';
52361
+ break;
52362
+ case 'month':
52363
+ dateformat = 'YYYY-MM';
52364
+ break;
52365
+ case 'quarter':
52366
+ dateformat = 'YYYY-[Q]Q';
52367
+ break;
52368
+ case 'year':
52369
+ dateformat = 'YYYY';
52370
+ break;
52371
+ default:
52372
+ dateformat = 'YYYY-MM-DD';
52373
+ break;
52374
+ }
52375
+ }
52376
+ fieldSchemaInfo.description += "\u683C\u5F0F\uFF1A".concat(dateformat, " ");
52377
+ if (componentElement.props.max) {
52378
+ fieldSchemaInfo.description += "\u6700\u5927\u65F6\u95F4\uFF1A".concat(componentElement.props.max, " ");
52379
+ }
52380
+ if (componentElement.props.min) {
52381
+ fieldSchemaInfo.description += "\u6700\u5C0F\u65F6\u95F4\uFF1A".concat(componentElement.props.min, " ");
52382
+ }
52383
+ break;
52333
52384
  }
52334
- fieldSchemaInfo.description += "\u683C\u5F0F\uFF1A".concat(dateformat, " ");
52335
- if (componentElement.props.max) {
52336
- fieldSchemaInfo.description += "\u6700\u5927\u65F6\u95F4\uFF1A".concat(componentElement.props.max, " ");
52337
- }
52338
- if (componentElement.props.min) {
52339
- fieldSchemaInfo.description += "\u6700\u5C0F\u65F6\u95F4\uFF1A".concat(componentElement.props.min, " ");
52340
- }
52341
- break;
52342
52385
  case 'ShineoutCheckbox':
52343
52386
  case 'ShineoutCheckboxGroup':
52344
52387
  {
@@ -52504,7 +52547,7 @@ var SchemaBuilder = /*#__PURE__*/function () {
52504
52547
  }
52505
52548
 
52506
52549
  // 过滤掉 required 属性,items 对象不应该包含 required
52507
- var required = meta.required,
52550
+ var _required = meta.required,
52508
52551
  itemsMeta = objectWithoutProperties_default()(meta, form_schema_builder_excluded);
52509
52552
  this.mergeSchema(currentSchema.items, remainingSegments, itemsMeta);
52510
52553
  }
@@ -57766,7 +57809,7 @@ var TreeVirtual = function TreeVirtual(props) {
57766
57809
 
57767
57810
 
57768
57811
 
57769
- var tree_excluded = ["jssStyle", "line", "childrenKey", "data", "value", "mode", "keygen", "virtual", "expanded", "expandIcons", "iconClass", "leafClass", "nodeClass", "contentClass", "rootStyle", "renderItem", "defaultValue", "dataUpdate", "childrenClass", "defaultExpandAll", "defaultExpanded", "parentClickExpand", "doubleClickExpand", "dragImageSelector", "dragImageStyle", "dragSibling", "unmatch", "ignoreSetFlat", "dragHoverExpand", "active", "setActive", "disabled", "inlineNode", "highlight", "className", "onClick", "loader", "getDatum", "onDrop", "onExpand", "onChange", "onDragEnd", "onDragLeave", "onDragOver", "onDragStart", "datum", "rowsInView", "actionOnClick", "tiledData", "height"];
57812
+ var tree_excluded = ["jssStyle", "line", "childrenKey", "data", "value", "mode", "keygen", "virtual", "expanded", "expandIcons", "iconClass", "leafClass", "nodeClass", "contentClass", "rootStyle", "renderItem", "defaultValue", "dataUpdate", "childrenClass", "defaultExpandAll", "defaultExpanded", "parentClickExpand", "doubleClickExpand", "dragImageSelector", "dragImageStyle", "dragSibling", "unmatch", "ignoreSetFlat", "dragHoverExpand", "active", "setActive", "disabled", "inlineNode", "highlight", "className", "onClick", "loader", "getDatum", "onDrop", "onExpand", "onChange", "onDragEnd", "onDragLeave", "onDragOver", "onDragStart", "datum", "rowsInView", "actionOnClick", "tiledData", "height", "leafIcon"];
57770
57813
 
57771
57814
 
57772
57815
 
@@ -57833,6 +57876,7 @@ var Tree = function Tree(props) {
57833
57876
  actionOnClick = props.actionOnClick,
57834
57877
  tiledData = props.tiledData,
57835
57878
  height = props.height,
57879
+ leafIcon = props.leafIcon,
57836
57880
  rest = objectWithoutProperties_default()(props, tree_excluded);
57837
57881
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(propActive),
57838
57882
  _useState2 = slicedToArray_default()(_useState, 2),
@@ -57867,7 +57911,8 @@ var Tree = function Tree(props) {
57867
57911
  keygen: keygen,
57868
57912
  virtual: virtual,
57869
57913
  onExpand: onExpandProp,
57870
- datum: propsDatum
57914
+ datum: propsDatum,
57915
+ tiledData: props.filteredData
57871
57916
  }),
57872
57917
  datum = _useTree.datum,
57873
57918
  expanded = _useTree.expanded,
@@ -57995,7 +58040,7 @@ var Tree = function Tree(props) {
57995
58040
  rootStyle: rootStyle,
57996
58041
  isControlled: 'expanded' in props,
57997
58042
  jssStyle: jssStyle,
57998
- data: data,
58043
+ data: props.filteredData || data,
57999
58044
  mode: mode,
58000
58045
  line: line,
58001
58046
  keygen: keygen,
@@ -58046,6 +58091,12 @@ var Tree = function Tree(props) {
58046
58091
  if (getDatum) getDatum(datum);
58047
58092
  context.mounted = true;
58048
58093
  }, []);
58094
+ var providerValue = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
58095
+ return objectSpread2_default()(objectSpread2_default()({}, datum), {}, {
58096
+ size: props.size,
58097
+ leafIcon: leafIcon
58098
+ });
58099
+ }, [datum, props.size, leafIcon]);
58049
58100
  var _useContext = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useContext)(FormFieldContext),
58050
58101
  fieldId = _useContext.fieldId;
58051
58102
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
@@ -58054,10 +58105,7 @@ var Tree = function Tree(props) {
58054
58105
  id: fieldId
58055
58106
  }, rest), {}, {
58056
58107
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree_context_Provider, {
58057
- value: objectSpread2_default()(objectSpread2_default()({}, datum), {}, {
58058
- size: props.size,
58059
- leafIcon: props.leafIcon
58060
- }),
58108
+ value: providerValue,
58061
58109
  children: renderList()
58062
58110
  })
58063
58111
  }));
@@ -64429,6 +64477,10 @@ var scroll_table_Scroll = function Scroll(props) {
64429
64477
  });
64430
64478
  };
64431
64479
  /* harmony default export */ var scroll_table = (scroll_table_Scroll);
64480
+ ;// CONCATENATED MODULE: ../hooks/src/components/use-table/table-nested-context.tsx
64481
+
64482
+ var TableContext = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.createContext)({});
64483
+ /* harmony default export */ var table_nested_context = (TableContext);
64432
64484
  ;// CONCATENATED MODULE: ../hooks/src/common/use-scrollbar-width/index.ts
64433
64485
 
64434
64486
 
@@ -64489,9 +64541,10 @@ var getHideExpandCol = function getHideExpandCol() {
64489
64541
  }
64490
64542
  return null;
64491
64543
  };
64492
- // 缓冲区列数:左右各2列
64493
- var BUFFER_COUNT = 2;
64544
+ // 默认 overscan 值:可视区域两侧各额外渲染2列
64545
+ var DEFAULT_OVERSCAN = 2;
64494
64546
  var useColumns = function useColumns(props) {
64547
+ var _props$data;
64495
64548
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(0),
64496
64549
  _useState2 = slicedToArray_default()(_useState, 2),
64497
64550
  startIndex = _useState2[0],
@@ -64502,6 +64555,14 @@ var useColumns = function useColumns(props) {
64502
64555
  setRenderedCount = _useState4[1];
64503
64556
  var _props$columns = props.columns,
64504
64557
  propsColumns = _props$columns === void 0 ? [] : _props$columns;
64558
+
64559
+ // 获取 overscan 配置,支持布尔值和对象两种格式
64560
+ var overscan = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
64561
+ var _props$virtualColumn$;
64562
+ if (!props.virtualColumn) return DEFAULT_OVERSCAN;
64563
+ if (typeof props.virtualColumn === 'boolean') return DEFAULT_OVERSCAN;
64564
+ return (_props$virtualColumn$ = props.virtualColumn.overscan) !== null && _props$virtualColumn$ !== void 0 ? _props$virtualColumn$ : DEFAULT_OVERSCAN;
64565
+ }, [props.virtualColumn]);
64505
64566
  var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
64506
64567
  cachedColumns: null,
64507
64568
  oldColumns: null,
@@ -64588,13 +64649,13 @@ var useColumns = function useColumns(props) {
64588
64649
  if (props.scrollRef.current && sum - scrollLeft >= ((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientWidth)) {
64589
64650
  // 在原有基础上,右侧增加缓冲列
64590
64651
  var visibleCount = j - i;
64591
- setRenderedCount(Math.min(visibleCount + BUFFER_COUNT * 2, len));
64652
+ setRenderedCount(Math.min(visibleCount + overscan * 2, len));
64592
64653
  break;
64593
64654
  }
64594
64655
  }
64595
64656
 
64596
64657
  // 左侧也增加缓冲列,但不能小于0
64597
- var bufferedStartIndex = Math.max(0, i - BUFFER_COUNT);
64658
+ var bufferedStartIndex = Math.max(0, i - overscan);
64598
64659
  currentIndex = bufferedStartIndex;
64599
64660
  break;
64600
64661
  }
@@ -64607,6 +64668,15 @@ var useColumns = function useColumns(props) {
64607
64668
  scrollLeft: 0
64608
64669
  });
64609
64670
  }, []);
64671
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
64672
+ var _props$scrollRef$curr2;
64673
+ if (!props.virtualColumn) return;
64674
+ if (((_props$scrollRef$curr2 = props.scrollRef.current) === null || _props$scrollRef$curr2 === void 0 ? void 0 : _props$scrollRef$curr2.scrollLeft) === 0) {
64675
+ handleScroll({
64676
+ scrollLeft: 0
64677
+ });
64678
+ }
64679
+ }, [(_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length]);
64610
64680
  var processedColumns = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
64611
64681
  if (!props.virtualColumn) return columns;
64612
64682
  return columns.map(function (col, index) {
@@ -64641,6 +64711,7 @@ var useColumns = function useColumns(props) {
64641
64711
  columnInfo: {
64642
64712
  handleScroll: handleScroll
64643
64713
  },
64714
+ currentColIndex: startIndex,
64644
64715
  expandHideCol: context.expandHideCol
64645
64716
  };
64646
64717
  };
@@ -64801,6 +64872,7 @@ var useTableLayout = function useTableLayout(props) {
64801
64872
  });
64802
64873
  };
64803
64874
  var changeColGroup = function changeColGroup(cols, adjust) {
64875
+ if (props.scrolling) return;
64804
64876
  // 修改`Table`被display:none时,表格头样式错乱的问题
64805
64877
  if (cols && cols.every(function (v) {
64806
64878
  return v === 0;
@@ -66754,7 +66826,6 @@ function useComponentMemo(getValue, condition, shouldUpdate) {
66754
66826
  ;// CONCATENATED MODULE: ../base/src/table/td.tsx
66755
66827
 
66756
66828
 
66757
-
66758
66829
  function Td(props) {
66759
66830
  var col = props.col,
66760
66831
  colSpan = props.colSpan,
@@ -66762,12 +66833,11 @@ function Td(props) {
66762
66833
  className = props.className,
66763
66834
  direction = props.direction,
66764
66835
  role = props.role,
66765
- data = props.data,
66766
66836
  onClick = props.onClick,
66767
66837
  onMouseEnter = props.onMouseEnter,
66768
66838
  onMouseLeave = props.onMouseLeave,
66769
66839
  renderContent = props.renderContent;
66770
- var $td = /*#__PURE__*/(0,jsx_runtime.jsx)("td", {
66840
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("td", {
66771
66841
  colSpan: colSpan,
66772
66842
  rowSpan: rowSpan,
66773
66843
  onMouseEnter: onMouseEnter,
@@ -66779,20 +66849,6 @@ function Td(props) {
66779
66849
  onClick: onClick,
66780
66850
  children: renderContent(props.col, props.data)
66781
66851
  }, col.key);
66782
- if (props.virtual === 'lazy') {
66783
- var _props$style, _props$style2;
66784
- return useComponentMemo(function () {
66785
- return $td;
66786
- }, [data, className, (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.left, (_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.right, col.type, col.treeColumnsName], function (prev, next) {
66787
- if (col.type || col.treeColumnsName) {
66788
- return true;
66789
- }
66790
- return prev.some(function (_, index) {
66791
- return !shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
66792
- }) || !props.scrolling;
66793
- });
66794
- }
66795
- return $td;
66796
66852
  }
66797
66853
  ;// CONCATENATED MODULE: ../base/src/table/tr.tsx
66798
66854
 
@@ -67101,6 +67157,7 @@ var Tr = function Tr(props) {
67101
67157
  if (expandCol && typeof expandCol.render === 'function') {
67102
67158
  var renderFunc = expandCol.render(props.rawData, props.rowIndex);
67103
67159
  if (typeof renderFunc === 'function') {
67160
+ var _props$scrollRef;
67104
67161
  return /*#__PURE__*/(0,jsx_runtime.jsx)("tr", {
67105
67162
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.rowExpand,
67106
67163
  ref: expandRef,
@@ -67111,7 +67168,12 @@ var Tr = function Tr(props) {
67111
67168
  style: {
67112
67169
  padding: 0
67113
67170
  },
67114
- children: renderFunc()
67171
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)(table_nested_context.Provider, {
67172
+ value: {
67173
+ parentTableWidth: (_props$scrollRef = props.scrollRef) === null || _props$scrollRef === void 0 || (_props$scrollRef = _props$scrollRef.current) === null || _props$scrollRef === void 0 ? void 0 : _props$scrollRef.clientWidth
67174
+ },
67175
+ children: renderFunc()
67176
+ })
67115
67177
  })
67116
67178
  });
67117
67179
  }
@@ -67188,8 +67250,9 @@ var Tr = function Tr(props) {
67188
67250
  /* harmony default export */ var tbody = (function (props) {
67189
67251
  var _props$columns = props.columns,
67190
67252
  columns = _props$columns === void 0 ? [] : _props$columns,
67191
- _props$currentIndex = props.currentIndex,
67192
- currentIndex = _props$currentIndex === void 0 ? 0 : _props$currentIndex,
67253
+ _props$currentRowInde = props.currentRowIndex,
67254
+ currentRowIndex = _props$currentRowInde === void 0 ? 0 : _props$currentRowInde,
67255
+ currentColIndex = props.currentColIndex,
67193
67256
  _props$hover = props.hover,
67194
67257
  hover = _props$hover === void 0 ? true : _props$hover;
67195
67258
  var _useTableExpand = use_table_expand({
@@ -67202,7 +67265,7 @@ var Tr = function Tr(props) {
67202
67265
  var _useTableRow = use_table_row({
67203
67266
  columns: props.columns,
67204
67267
  data: props.data,
67205
- currentIndex: currentIndex,
67268
+ currentIndex: currentRowIndex,
67206
67269
  hover: hover
67207
67270
  }),
67208
67271
  rowData = _useTableRow.rowData,
@@ -67214,7 +67277,7 @@ var Tr = function Tr(props) {
67214
67277
  });
67215
67278
  var renderRow = function renderRow(item, index) {
67216
67279
  var _props$rowEvents;
67217
- var rowIndex = index + currentIndex;
67280
+ var rowIndex = index + currentRowIndex;
67218
67281
  var originKey = getKey(props.keygen, item, rowIndex);
67219
67282
  var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
67220
67283
 
@@ -67266,6 +67329,7 @@ var Tr = function Tr(props) {
67266
67329
  rowEvents: props.rowEvents,
67267
67330
  disabled: props.datum.disabledCheck(item),
67268
67331
  bodyScrollWidth: props.bodyScrollWidth,
67332
+ scrollRef: props.scrollRef,
67269
67333
  resizeFlag: props.resizeFlag,
67270
67334
  treeCheckAll: props.treeCheckAll,
67271
67335
  onCellClick: props.onCellClick,
@@ -67282,7 +67346,7 @@ var Tr = function Tr(props) {
67282
67346
  if (props.virtual === 'lazy') {
67283
67347
  return useComponentMemo(function () {
67284
67348
  return $tbody;
67285
- }, [props.data, currentIndex], function (prev, next) {
67349
+ }, [currentRowIndex, currentColIndex, props.data], function (prev, next) {
67286
67350
  return prev.some(function (_, index) {
67287
67351
  return !shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
67288
67352
  }) || !props.scrolling;
@@ -67442,6 +67506,10 @@ function Table(props) {
67442
67506
  _props$pagination = props.pagination,
67443
67507
  pagination = _props$pagination === void 0 ? {} : _props$pagination;
67444
67508
  var config = useConfig();
67509
+ var nestedContext = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useContext)(table_nested_context);
67510
+
67511
+ // 判断是否启用了虚拟列
67512
+ var isVirtualColumnEnabled = !!props.virtualColumn;
67445
67513
  var isRtl = config.direction === 'rtl';
67446
67514
  var tableClasses = props === null || props === void 0 || (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$table = _props$jssStyle.table) === null || _props$jssStyle$table === void 0 ? void 0 : _props$jssStyle$table.call(_props$jssStyle);
67447
67515
  var tbodyRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
@@ -67522,13 +67590,15 @@ function Table(props) {
67522
67590
  });
67523
67591
  var _useTableColumns = use_table_columns({
67524
67592
  columns: props.columns,
67593
+ data: props.data,
67525
67594
  virtualColumn: props.virtualColumn,
67526
67595
  scrollRef: scrollRef,
67527
67596
  showCheckbox: typeof props.onRowSelect === 'function'
67528
67597
  }),
67529
67598
  columns = _useTableColumns.columns,
67530
67599
  expandHideCol = _useTableColumns.expandHideCol,
67531
- columnInfo = _useTableColumns.columnInfo;
67600
+ columnInfo = _useTableColumns.columnInfo,
67601
+ currentColIndex = _useTableColumns.currentColIndex;
67532
67602
  var _useTableLayout = use_table_layout({
67533
67603
  theadRef: theadRef,
67534
67604
  tbodyRef: tbodyRef,
@@ -67539,7 +67609,8 @@ function Table(props) {
67539
67609
  columnResizable: props.columnResizable,
67540
67610
  onColumnResize: props.onColumnResize,
67541
67611
  width: props.width,
67542
- isRtl: isRtl
67612
+ isRtl: isRtl,
67613
+ scrolling: isVirtualColumnEnabled && scrolling
67543
67614
  }),
67544
67615
  layoutFunc = _useTableLayout.func,
67545
67616
  colgroup = _useTableLayout.colgroup,
@@ -67698,7 +67769,7 @@ function Table(props) {
67698
67769
  var target = e.currentTarget;
67699
67770
  if (!target) return;
67700
67771
  layoutFunc.checkFloat();
67701
- if (props.virtualColumn) columnInfo.handleScroll({
67772
+ if (isVirtualColumnEnabled) columnInfo.handleScroll({
67702
67773
  scrollLeft: target.scrollLeft
67703
67774
  });
67704
67775
  if (headMirrorScrollRef.current) {
@@ -67720,7 +67791,7 @@ function Table(props) {
67720
67791
  // 虚拟表格的滚动事件
67721
67792
  var handleVirtualScroll = usePersistFn(function (info) {
67722
67793
  virtualInfo.handleScroll(info);
67723
- if (props.virtualColumn) columnInfo.handleScroll(info);
67794
+ if (isVirtualColumnEnabled) columnInfo.handleScroll(info);
67724
67795
  layoutFunc.checkFloat();
67725
67796
  if (headMirrorScrollRef.current) {
67726
67797
  headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
@@ -67760,10 +67831,13 @@ function Table(props) {
67760
67831
  return null;
67761
67832
  };
67762
67833
  var $empty = renderEmpty();
67763
- var tableStyle = {
67764
- width: width,
67765
- borderSpacing: 0
67766
- };
67834
+ var tableStyle = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
67835
+ return {
67836
+ width: width,
67837
+ borderSpacing: 0,
67838
+ tableLayout: isVirtualColumnEnabled ? 'initial' : 'fixed'
67839
+ };
67840
+ }, [width, isVirtualColumnEnabled]);
67767
67841
  var renderTable = function renderTable() {
67768
67842
  var _props$summary, _sticky$top, _props$data2;
67769
67843
  var Group = /*#__PURE__*/(0,jsx_runtime.jsx)(table_colgroup, {
@@ -67802,7 +67876,8 @@ function Table(props) {
67802
67876
  resizeFlag: resizeFlag,
67803
67877
  treeCheckAll: props.treeCheckAll,
67804
67878
  onCellClick: props.onCellClick,
67805
- strictRowHeight: props.strictRowHeight
67879
+ strictRowHeight: props.strictRowHeight,
67880
+ scrollRef: scrollRef
67806
67881
  };
67807
67882
  var headCommonProps = {
67808
67883
  disabled: props.disabled,
@@ -67973,7 +68048,8 @@ function Table(props) {
67973
68048
  }),
67974
68049
  ref: tbodyRef,
67975
68050
  children: [Group, /*#__PURE__*/(0,jsx_runtime.jsx)(tbody, objectSpread2_default()(objectSpread2_default()({}, bodyCommonProps), {}, {
67976
- currentIndex: virtualInfo.startIndex,
68051
+ currentRowIndex: virtualInfo.startIndex,
68052
+ currentColIndex: currentColIndex,
67977
68053
  data: virtualInfo.data,
67978
68054
  setRowHeight: virtualInfo.setRowHeight,
67979
68055
  scrolling: scrolling,
@@ -68084,6 +68160,19 @@ function Table(props) {
68084
68160
  scrollElRef: scrollRef
68085
68161
  };
68086
68162
  }, [scrollRef]);
68163
+ var tableWrapperStyle = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
68164
+ if (nestedContext.parentTableWidth && props.width) {
68165
+ return objectSpread2_default()({
68166
+ width: nestedContext.parentTableWidth,
68167
+ position: 'sticky',
68168
+ left: 0,
68169
+ height: defaultHeight
68170
+ }, props.style);
68171
+ }
68172
+ return objectSpread2_default()({
68173
+ height: defaultHeight
68174
+ }, props.style);
68175
+ }, [nestedContext.parentTableWidth, defaultHeight, props.style, props.width]);
68087
68176
  var tableWrapperClass = classnames_default()(props.className, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.rootClass, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.wrapper, props.bordered && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.bordered), verticalAlign === 'top' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.verticalAlignTop), verticalAlign === 'middle' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.verticalAlignMiddle), size === 'small' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.small), size === 'large' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.large), size === 'default' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.default));
68088
68177
  if (!props.columns || columns.length === 0) return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
68089
68178
  className: classnames_default()(tableWrapperClass, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.simple, props.striped && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.striped)),
@@ -68099,9 +68188,7 @@ function Table(props) {
68099
68188
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
68100
68189
  children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
68101
68190
  className: classnames_default()(tableWrapperClass, defineProperty_default()(defineProperty_default()(defineProperty_default()({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
68102
- style: objectSpread2_default()({
68103
- height: defaultHeight
68104
- }, props.style)
68191
+ style: tableWrapperStyle
68105
68192
  }, selection.getTableProps()), {}, {
68106
68193
  ref: tableRef,
68107
68194
  dir: config.direction,
@@ -68112,7 +68199,6 @@ function Table(props) {
68112
68199
  })), renderPagination()]
68113
68200
  });
68114
68201
  }
68115
- ;
68116
68202
  ;// CONCATENATED MODULE: ./src/table/table.tsx
68117
68203
 
68118
68204
 
@@ -74634,7 +74720,7 @@ var upload_interface = __webpack_require__(8821);
74634
74720
 
74635
74721
 
74636
74722
  /* harmony default export */ var src_0 = ({
74637
- version: '3.9.3-beta.1'
74723
+ version: '3.9.3-beta.11'
74638
74724
  });
74639
74725
  }();
74640
74726
  /******/ return __webpack_exports__;