shineout 3.8.0-beta.22 → 3.8.0-beta.23

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.
@@ -1,5 +1,19 @@
1
+ /// <reference types="react" />
1
2
  import { EmptyProps as UnStyledEmptyProps } from '@sheinx/base';
2
3
  /**
3
4
  * @title Empty
4
5
  */
5
- export type EmptyProps = Omit<UnStyledEmptyProps, 'jssStyle'>;
6
+ export interface EmptyProps extends Omit<UnStyledEmptyProps, 'jssStyle' | 'icon' | 'description'> {
7
+ /**
8
+ * @en Empty state icon. Enhanced in v3.8.0 to support global configuration via setConfig
9
+ * @cn 空状态图标。3.8.0版本增强,支持通过setConfig进行全局配置
10
+ * @version 3.8.0
11
+ */
12
+ icon?: React.ReactNode;
13
+ /**
14
+ * @en Description, if false, the description will not be displayed. Enhanced in v3.8.0 to support global configuration via setConfig
15
+ * @cn 描述,若为false则不显示描述。3.8.0版本增强,支持通过setConfig进行全局配置
16
+ * @version 3.8.0
17
+ */
18
+ description?: React.ReactNode | boolean;
19
+ }
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.8.0-beta.22'
525
+ version: '3.8.0-beta.23'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12386,7 +12386,7 @@ var handleStyle = function handleStyle(style) {
12386
12386
  };
12387
12387
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12388
12388
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12389
- /* harmony default export */ var version = ('3.8.0-beta.22');
12389
+ /* harmony default export */ var version = ('3.8.0-beta.23');
12390
12390
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12391
12391
 
12392
12392
 
@@ -14610,6 +14610,7 @@ var skeletonTokens = {
14610
14610
  skeletonHeight: 'Size-8',
14611
14611
  skeletonBackgroundColor: 'Neutral-fill-2',
14612
14612
  skeletonBackgroundRadius: 'Radius-default',
14613
+ skeletonButtonMarginTop: 'Spacing-32',
14613
14614
  skeletonAnimationFromColor: 'Neutral-fill-2',
14614
14615
  skeletonAnimationToColor: 'Neutral-fill-3'
14615
14616
  };
@@ -23493,7 +23494,7 @@ var radioStyle = objectSpread2_default()(objectSpread2_default()({}, animations)
23493
23494
  color: src.radioIconColor,
23494
23495
  backgroundColor: src.radioIconBackgroundColor,
23495
23496
  border: '1px solid currentColor',
23496
- '$wrapperChecked &': {
23497
+ '$wrapperChecked > $indicatorWrapper > &': {
23497
23498
  backgroundColor: src.radioIconCheckedBackgroundColor,
23498
23499
  color: src.radioIconCheckedColor,
23499
23500
  '&::after': {
@@ -24325,7 +24326,7 @@ var skeletonStyle = objectSpread2_default()(objectSpread2_default()({}, skeleton
24325
24326
  '& $textItem, & $image, & $buttonItem': {
24326
24327
  backgroundImage: "linear-gradient(90deg, ".concat(src.skeletonAnimationFromColor, " 25%, ").concat(src.skeletonAnimationToColor, " 37%, ").concat(src.skeletonAnimationFromColor, " 63%)"),
24327
24328
  backgroundSize: '400% 100%',
24328
- animation: '$skeleton-animation 1.4s ease infinite'
24329
+ animation: '$skeleton-animation 1.5s cubic-bezier(0, 0, 1, 1) infinite'
24329
24330
  }
24330
24331
  },
24331
24332
  content: {
@@ -24374,7 +24375,7 @@ var skeletonStyle = objectSpread2_default()(objectSpread2_default()({}, skeleton
24374
24375
  button: {
24375
24376
  display: 'flex',
24376
24377
  '$text + &': {
24377
- marginTop: src.skeletonMargin
24378
+ marginTop: src.skeletonButtonMarginTop
24378
24379
  }
24379
24380
  },
24380
24381
  buttonItem: {
@@ -26638,12 +26639,15 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
26638
26639
  '$sticky > &': {
26639
26640
  zIndex: headerIndex
26640
26641
  },
26641
- '& table th': {
26642
+ '$wrapper & table th': {
26642
26643
  zIndex: fixedFixedIndex + 1,
26643
26644
  '&$cellFixedLeft': {
26644
26645
  position: 'sticky',
26645
26646
  top: 'auto',
26646
26647
  zIndex: fixedFixedIndex + 2
26648
+ },
26649
+ '&$cellFixedRight': {
26650
+ zIndex: fixedFixedIndex + 3
26647
26651
  }
26648
26652
  }
26649
26653
  },
@@ -26665,7 +26669,10 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
26665
26669
  '&$cellFixedLeft': {
26666
26670
  position: 'sticky',
26667
26671
  top: 'auto',
26668
- zIndex: fixedIndex + 1
26672
+ zIndex: fixedIndex
26673
+ },
26674
+ '&$cellFixedRight': {
26675
+ zIndex: fixedIndex
26669
26676
  }
26670
26677
  }
26671
26678
  },
@@ -26719,10 +26726,13 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
26719
26726
  borderBottom: 'none'
26720
26727
  },
26721
26728
  cellFixedLeft: {
26722
- position: 'sticky'
26729
+ position: 'sticky',
26730
+ // 快速横滚,有可能出现非固定列遮挡了固定列的短暂一瞬间,因此加上这个zIndex
26731
+ zIndex: fixedIndex + 1
26723
26732
  },
26724
26733
  cellFixedRight: {
26725
- position: 'sticky'
26734
+ position: 'sticky',
26735
+ zIndex: fixedFixedIndex
26726
26736
  },
26727
26737
  cellAlignLeft: {
26728
26738
  textAlign: 'left'
@@ -28227,7 +28237,8 @@ var textarea_input = objectSpread2_default()(objectSpread2_default()(objectSprea
28227
28237
  width: '100%',
28228
28238
  boxSizing: 'border-box',
28229
28239
  position: 'relative',
28230
- flexWrap: 'wrap'
28240
+ flexWrap: 'wrap',
28241
+ minHeight: "calc(".concat(src.lineHeightDynamic, " + ").concat(src.inputPaddingY, " * 2)")
28231
28242
  }, textarea_wrapper)
28232
28243
  }, textarea_resetWrapper), {}, {
28233
28244
  textarea: {
@@ -28247,7 +28258,6 @@ var textarea_input = objectSpread2_default()(objectSpread2_default()(objectSprea
28247
28258
  backgroundColor: 'transparent',
28248
28259
  resize: 'none',
28249
28260
  boxSizing: 'border-box',
28250
- minHeight: "calc(".concat(src.lineHeightDynamic, " + ").concat(src.inputPaddingY, " * 2)"),
28251
28261
  // why: 为了让滚动条的轨道不遮盖右上角和右下角的圆角; 注: chrome >= 121才支持scrollbar-color
28252
28262
  scrollbarColor: "".concat(src.inputBorderColor, " transparent"),
28253
28263
  '&$resize': {
@@ -32483,7 +32493,8 @@ var Popover = function Popover(props) {
32483
32493
  _props$zIndex = props.zIndex,
32484
32494
  zIndex = _props$zIndex === void 0 ? 1060 : _props$zIndex;
32485
32495
  var _React$useRef = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useRef({
32486
- rendered: false
32496
+ rendered: false,
32497
+ hasOpened: false
32487
32498
  }),
32488
32499
  context = _React$useRef.current;
32489
32500
  var config = useConfig();
@@ -32597,8 +32608,16 @@ var Popover = function Popover(props) {
32597
32608
  });
32598
32609
  }
32599
32610
  context.rendered = true;
32600
- var childrened = isFunc(children) ? children(closePop) : children;
32611
+
32612
+ // Track if popover has ever been opened
32613
+ if (open && !context.hasOpened) {
32614
+ context.hasOpened = true;
32615
+ }
32616
+
32617
+ // Only execute functional children after popover has been opened at least once
32618
+ var childrened = isFunc(children) ? context.hasOpened ? children(closePop) : null : children;
32601
32619
  var containerStyle = {
32620
+ display: open ? undefined : 'none',
32602
32621
  borderColor: props.border,
32603
32622
  backgroundColor: props.background
32604
32623
  };
@@ -49440,7 +49459,8 @@ var Modal = function Modal(props) {
49440
49459
  onAnimationEnd: handleAnimationEnd,
49441
49460
  style: {
49442
49461
  background: props.maskBackground,
49443
- zIndex: props.zIndex
49462
+ zIndex: props.zIndex,
49463
+ display: !visible && !animation ? 'none' : undefined
49444
49464
  },
49445
49465
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
49446
49466
  className: modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.mask
@@ -56707,7 +56727,8 @@ var Radio = function Radio(props) {
56707
56727
  var inputProps = getInputProps();
56708
56728
  var rootProps = getRootProps({
56709
56729
  className: rootClass,
56710
- style: style
56730
+ style: style,
56731
+ needStopPropagation: true
56711
56732
  });
56712
56733
  var indicatorProps = getIndicatorProps();
56713
56734
  var simpleRadio = /*#__PURE__*/(0,jsx_runtime.jsxs)("div", objectSpread2_default()(objectSpread2_default()({
@@ -60325,6 +60346,7 @@ ProgressComp.displayName = 'ShineoutProgress';
60325
60346
 
60326
60347
 
60327
60348
  var radio_group_context_groupContext = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.createContext)({});
60349
+ radio_group_context_groupContext.displayName = 'RadioGroupContext';
60328
60350
  /* harmony default export */ var radio_group_context = (radio_group_context_groupContext);
60329
60351
  ;// CONCATENATED MODULE: ../base/src/radio/radio.tsx
60330
60352
 
@@ -60428,7 +60450,6 @@ var useListSelectSingle = function useListSelectSingle(props) {
60428
60450
 
60429
60451
 
60430
60452
 
60431
-
60432
60453
  var radio_group_defaultFormat = function defaultFormat(d) {
60433
60454
  return d;
60434
60455
  };
@@ -60530,7 +60551,11 @@ var radio_group_Group = function Group(props0) {
60530
60551
  var Radios = props.data === undefined ? /*#__PURE__*/(0,jsx_runtime.jsx)(radio_group_context.Provider, {
60531
60552
  value: providerValue,
60532
60553
  children: children
60533
- }) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
60554
+ }) :
60555
+ /*#__PURE__*/
60556
+ // 传一个空的providerValue目的是为了避免父级Radio向下传递的GroupContext.Consumer影响
60557
+ (0,jsx_runtime.jsxs)(radio_group_context.Provider, {
60558
+ value: {},
60534
60559
  children: [props.data.map(function (d, i) {
60535
60560
  return /*#__PURE__*/(0,jsx_runtime.jsx)(base_src_radio_radio, {
60536
60561
  jssStyle: jssStyle,
@@ -63767,7 +63792,8 @@ var useTableVirtual = function useTableVirtual(props) {
63767
63792
  setRowHeight: setRowHeight,
63768
63793
  scrollToIndex: scrollToIndex,
63769
63794
  scrollColumnByLeft: scrollColumnByLeft,
63770
- scrollColumnIntoView: scrollColumnIntoView
63795
+ scrollColumnIntoView: scrollColumnIntoView,
63796
+ rowSpanInfo: rowSpanInfo
63771
63797
  };
63772
63798
  };
63773
63799
  /* harmony default export */ var use_table_virtual = (useTableVirtual);
@@ -65081,6 +65107,7 @@ var Tr = function Tr(props) {
65081
65107
  return expandInstance;
65082
65108
  }
65083
65109
  if (col.type === 'checkbox') {
65110
+ var selectData = props.selectData || data;
65084
65111
  var instance = /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
65085
65112
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.iconWrapper,
65086
65113
  children: props.radio ? /*#__PURE__*/(0,jsx_runtime.jsx)(base_src_radio_radio, {
@@ -65092,9 +65119,9 @@ var Tr = function Tr(props) {
65092
65119
  disabled: props.disabled,
65093
65120
  onChange: function onChange(value) {
65094
65121
  if (value) {
65095
- props.datum.add(data);
65122
+ props.datum.add(selectData);
65096
65123
  } else {
65097
- props.datum.remove(data);
65124
+ props.datum.remove(selectData);
65098
65125
  }
65099
65126
  }
65100
65127
  }) : /*#__PURE__*/(0,jsx_runtime.jsx)(base_src_checkbox_checkbox, {
@@ -65106,11 +65133,11 @@ var Tr = function Tr(props) {
65106
65133
  checked: props.isSelect,
65107
65134
  onChange: function onChange(_value, check) {
65108
65135
  if (check) {
65109
- props.datum.add(data, props.treeCheckAll ? {
65136
+ props.datum.add(selectData, props.treeCheckAll ? {
65110
65137
  childrenKey: props.treeColumnsName
65111
65138
  } : undefined);
65112
65139
  } else {
65113
- props.datum.remove(data, props.treeCheckAll ? {
65140
+ props.datum.remove(selectData, props.treeCheckAll ? {
65114
65141
  childrenKey: props.treeColumnsName
65115
65142
  } : undefined);
65116
65143
  }
@@ -65302,6 +65329,17 @@ var Tr = function Tr(props) {
65302
65329
  var rowIndex = index + currentIndex;
65303
65330
  var originKey = getKey(props.keygen, item, rowIndex);
65304
65331
  var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
65332
+
65333
+ // 在虚拟列表模式下,使用 virtualRowSpanInfo 来获取正确的选择数据
65334
+ var selectData = item;
65335
+ if (props.virtualRowSpanInfo && props.fullData) {
65336
+ // rowSpanIndexArray[rowIndex] 表示第 rowIndex 行所属合并组的起始行索引
65337
+ var selectIndex = props.virtualRowSpanInfo.rowSpanIndexArray[rowIndex];
65338
+ selectData = props.fullData[selectIndex];
65339
+ } else {
65340
+ // 非虚拟列表模式使用原有逻辑
65341
+ selectData = rowSelectMergeStartData[index];
65342
+ }
65305
65343
  return /*#__PURE__*/(0,jsx_runtime.jsx)(tr, {
65306
65344
  originKey: originKey,
65307
65345
  row: rowData[index],
@@ -65329,7 +65367,8 @@ var Tr = function Tr(props) {
65329
65367
  striped: props.striped,
65330
65368
  radio: props.radio,
65331
65369
  hover: hover,
65332
- isSelect: props.datum.check(rowSelectMergeStartData[index]),
65370
+ isSelect: props.datum.check(selectData),
65371
+ selectData: selectData,
65333
65372
  handleCellHover: handleCellHover
65334
65373
  // to update
65335
65374
  ,
@@ -66017,7 +66056,9 @@ var emptyRef = {
66017
66056
  currentIndex: virtualInfo.startIndex,
66018
66057
  data: virtualInfo.data,
66019
66058
  setRowHeight: virtualInfo.setRowHeight,
66020
- scrolling: scrolling
66059
+ scrolling: scrolling,
66060
+ virtualRowSpanInfo: virtualInfo.rowSpanInfo,
66061
+ fullData: treeData
66021
66062
  }))]
66022
66063
  }), showFoot ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
66023
66064
  className: footWrapperClass,
@@ -72618,7 +72659,7 @@ var upload_interface = __webpack_require__(8821);
72618
72659
 
72619
72660
 
72620
72661
  /* harmony default export */ var src_0 = ({
72621
- version: '3.8.0-beta.22'
72662
+ version: '3.8.0-beta.23'
72622
72663
  });
72623
72664
  }();
72624
72665
  /******/ return __webpack_exports__;