@sheinx/base 3.9.3-beta.2 → 3.9.3-beta.4

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 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAuuBxE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CA0vBxE"}
@@ -53,6 +53,7 @@ function Table(props) {
53
53
  _props$pagination = props.pagination,
54
54
  pagination = _props$pagination === void 0 ? {} : _props$pagination;
55
55
  var config = (0, _config.useConfig)();
56
+ var nestedContext = (0, _react.useContext)(_hooks.TableContext);
56
57
  var isRtl = config.direction === 'rtl';
57
58
  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);
58
59
  var tbodyRef = (0, _react.useRef)(null);
@@ -139,7 +140,8 @@ function Table(props) {
139
140
  }),
140
141
  columns = _useTableColumns.columns,
141
142
  expandHideCol = _useTableColumns.expandHideCol,
142
- columnInfo = _useTableColumns.columnInfo;
143
+ columnInfo = _useTableColumns.columnInfo,
144
+ currentColIndex = _useTableColumns.currentColIndex;
143
145
  var _useTableLayout = (0, _hooks.useTableLayout)({
144
146
  theadRef: theadRef,
145
147
  tbodyRef: tbodyRef,
@@ -413,7 +415,8 @@ function Table(props) {
413
415
  resizeFlag: resizeFlag,
414
416
  treeCheckAll: props.treeCheckAll,
415
417
  onCellClick: props.onCellClick,
416
- strictRowHeight: props.strictRowHeight
418
+ strictRowHeight: props.strictRowHeight,
419
+ scrollRef: scrollRef
417
420
  };
418
421
  var headCommonProps = {
419
422
  disabled: props.disabled,
@@ -584,7 +587,8 @@ function Table(props) {
584
587
  }),
585
588
  ref: tbodyRef,
586
589
  children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
587
- currentIndex: virtualInfo.startIndex,
590
+ currentRowIndex: virtualInfo.startIndex,
591
+ currentColIndex: currentColIndex,
588
592
  data: virtualInfo.data,
589
593
  setRowHeight: virtualInfo.setRowHeight,
590
594
  scrolling: scrolling,
@@ -695,6 +699,19 @@ function Table(props) {
695
699
  scrollElRef: scrollRef
696
700
  };
697
701
  }, [scrollRef]);
702
+ var tableWrapperStyle = (0, _react.useMemo)(function () {
703
+ if (nestedContext.parentTableWidth && props.width) {
704
+ return _objectSpread({
705
+ width: nestedContext.parentTableWidth,
706
+ position: 'sticky',
707
+ left: 0,
708
+ height: defaultHeight
709
+ }, props.style);
710
+ }
711
+ return _objectSpread({
712
+ height: defaultHeight
713
+ }, props.style);
714
+ }, [nestedContext.parentTableWidth, defaultHeight, props.style, props.width]);
698
715
  var tableWrapperClass = (0, _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));
699
716
  if (!props.columns || columns.length === 0) return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
700
717
  className: (0, _classnames.default)(tableWrapperClass, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.simple, props.striped && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.striped)),
@@ -710,9 +727,7 @@ function Table(props) {
710
727
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
711
728
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
712
729
  className: (0, _classnames.default)(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
713
- style: _objectSpread({
714
- height: defaultHeight
715
- }, props.style)
730
+ style: tableWrapperStyle
716
731
  }, selection.getTableProps()), {}, {
717
732
  ref: tableRef,
718
733
  dir: config.direction,
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAsGE"}
1
+ {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAuGE"}
@@ -12,8 +12,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  var _default = exports.default = function _default(props) {
13
13
  var _props$columns = props.columns,
14
14
  columns = _props$columns === void 0 ? [] : _props$columns,
15
- _props$currentIndex = props.currentIndex,
16
- currentIndex = _props$currentIndex === void 0 ? 0 : _props$currentIndex,
15
+ _props$currentRowInde = props.currentRowIndex,
16
+ currentRowIndex = _props$currentRowInde === void 0 ? 0 : _props$currentRowInde,
17
+ currentColIndex = props.currentColIndex,
17
18
  _props$hover = props.hover,
18
19
  hover = _props$hover === void 0 ? true : _props$hover;
19
20
  var _useTableExpand = (0, _hooks.useTableExpand)({
@@ -26,7 +27,7 @@ var _default = exports.default = function _default(props) {
26
27
  var _useTableRow = (0, _hooks.useTableRow)({
27
28
  columns: props.columns,
28
29
  data: props.data,
29
- currentIndex: currentIndex,
30
+ currentIndex: currentRowIndex,
30
31
  hover: hover
31
32
  }),
32
33
  rowData = _useTableRow.rowData,
@@ -38,7 +39,7 @@ var _default = exports.default = function _default(props) {
38
39
  });
39
40
  var renderRow = function renderRow(item, index) {
40
41
  var _props$rowEvents;
41
- var rowIndex = index + currentIndex;
42
+ var rowIndex = index + currentRowIndex;
42
43
  var originKey = _hooks.util.getKey(props.keygen, item, rowIndex);
43
44
  var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
44
45
 
@@ -90,6 +91,7 @@ var _default = exports.default = function _default(props) {
90
91
  rowEvents: props.rowEvents,
91
92
  disabled: props.datum.disabledCheck(item),
92
93
  bodyScrollWidth: props.bodyScrollWidth,
94
+ scrollRef: props.scrollRef,
93
95
  resizeFlag: props.resizeFlag,
94
96
  treeCheckAll: props.treeCheckAll,
95
97
  onCellClick: props.onCellClick,
@@ -106,7 +108,7 @@ var _default = exports.default = function _default(props) {
106
108
  if (props.virtual === 'lazy') {
107
109
  return (0, _hooks.useComponentMemo)(function () {
108
110
  return $tbody;
109
- }, [props.data, currentIndex], function (prev, next) {
111
+ }, [currentRowIndex, currentColIndex, props.data], function (prev, next) {
110
112
  return prev.some(function (_, index) {
111
113
  return !_hooks.util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
112
114
  }) || !props.scrolling;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { useTableColumns, useTableRow } from '@sheinx/hooks';
2
3
  import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
4
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
@@ -8,7 +9,8 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
8
9
  data: any[];
9
10
  colgroup: (number | string | undefined)[];
10
11
  isScrollX: boolean;
11
- currentIndex?: number;
12
+ currentRowIndex?: number;
13
+ currentColIndex?: number;
12
14
  expandHideCol: UseColumnsResult['expandHideCol'];
13
15
  datum: ListDatum;
14
16
  treeFunc: UseTreeResult['func'];
@@ -24,5 +26,6 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
24
26
  maxRowSpan: number;
25
27
  } | null;
26
28
  fullData?: any[];
29
+ scrollRef?: React.RefObject<HTMLDivElement>;
27
30
  }
28
31
  //# sourceMappingURL=tbody.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAQ,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACnD,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAiDtD"}
1
+ {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAQ,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACnD,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CA8BtD"}
package/cjs/table/td.js CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = Td;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _hooks = require("@sheinx/hooks");
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
10
  function Td(props) {
@@ -15,12 +14,11 @@ function Td(props) {
15
14
  className = props.className,
16
15
  direction = props.direction,
17
16
  role = props.role,
18
- data = props.data,
19
17
  onClick = props.onClick,
20
18
  onMouseEnter = props.onMouseEnter,
21
19
  onMouseLeave = props.onMouseLeave,
22
20
  renderContent = props.renderContent;
23
- var $td = /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
24
22
  colSpan: colSpan,
25
23
  rowSpan: rowSpan,
26
24
  onMouseEnter: onMouseEnter,
@@ -32,18 +30,4 @@ function Td(props) {
32
30
  onClick: onClick,
33
31
  children: renderContent(props.col, props.data)
34
32
  }, col.key);
35
- if (props.virtual === 'lazy') {
36
- var _props$style, _props$style2;
37
- return (0, _hooks.useComponentMemo)(function () {
38
- return $td;
39
- }, [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) {
40
- if (col.type || col.treeColumnsName) {
41
- return true;
42
- }
43
- return prev.some(function (_, index) {
44
- return !_hooks.util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
45
- }) || !props.scrolling;
46
- });
47
- }
48
- return $td;
49
33
  }
package/cjs/table/tr.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { TableFormatColumn } from '@sheinx/hooks';
2
2
  import { TbodyProps, UseTableRowResult } from './tbody.type';
3
- interface TrProps extends Pick<TbodyProps, 'jssStyle' | 'rowClassName' | 'datum' | 'treeFunc' | 'treeExpandLevel' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'isEmptyTree' | 'setRowHeight' | 'striped' | 'strictRowHeight' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'bodyScrollWidth' | 'resizeFlag' | 'treeCheckAll' | 'onCellClick' | 'virtual'> {
3
+ interface TrProps extends Pick<TbodyProps, 'jssStyle' | 'rowClassName' | 'datum' | 'treeFunc' | 'treeExpandLevel' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'isEmptyTree' | 'setRowHeight' | 'striped' | 'strictRowHeight' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'bodyScrollWidth' | 'resizeFlag' | 'treeCheckAll' | 'onCellClick' | 'virtual' | 'scrollRef'> {
4
4
  row: {
5
5
  data: any[];
6
6
  colSpan: number;
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["tr.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI7D,UAAU,OACR,SAAQ,IAAI,CACV,UAAU,EACR,UAAU,GACV,cAAc,GACd,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,GAAG,EAAE;QACH,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,QAAA,MAAM,EAAE,UAAW,OAAO,4CAuazB,CAAC;AAEF,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["tr.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI7D,UAAU,OACR,SAAQ,IAAI,CACV,UAAU,EACR,UAAU,GACV,cAAc,GACd,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,SAAS,GACT,WAAW,CACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,QAAA,MAAM,EAAE,UAAW,OAAO,4CAyazB,CAAC;AAEF,eAAe,EAAE,CAAC"}
package/cjs/table/tr.js CHANGED
@@ -320,6 +320,7 @@ var Tr = function Tr(props) {
320
320
  if (expandCol && typeof expandCol.render === 'function') {
321
321
  var renderFunc = expandCol.render(props.rawData, props.rowIndex);
322
322
  if (typeof renderFunc === 'function') {
323
+ var _props$scrollRef;
323
324
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
324
325
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.rowExpand,
325
326
  ref: expandRef,
@@ -330,7 +331,12 @@ var Tr = function Tr(props) {
330
331
  style: {
331
332
  padding: 0
332
333
  },
333
- children: renderFunc()
334
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hooks.TableContext.Provider, {
335
+ value: {
336
+ 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
337
+ },
338
+ children: renderFunc()
339
+ })
334
340
  })
335
341
  });
336
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAuuBxE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CA0vBxE"}
@@ -13,7 +13,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
13
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
- import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
16
+ import React, { useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
17
17
  import Scroll from "../virtual-scroll/scroll-table";
18
18
  import classNames from 'classnames';
19
19
  import Spin from "../spin";
@@ -22,7 +22,7 @@ import AbsoluteContext from "../absolute-list/absolute-context";
22
22
  import Empty from "../empty";
23
23
  import Sticky, { defaultZIndex } from "../sticky";
24
24
  import { useConfig } from "../config";
25
- import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util, addResizeObserver } from '@sheinx/hooks';
25
+ import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util, addResizeObserver, TableContext } from '@sheinx/hooks';
26
26
  import useTableSelect from "./use-table-select";
27
27
  import Colgroup from "./colgroup";
28
28
  import Thead from "./thead";
@@ -46,6 +46,7 @@ export default function Table(props) {
46
46
  _props$pagination = props.pagination,
47
47
  pagination = _props$pagination === void 0 ? {} : _props$pagination;
48
48
  var config = useConfig();
49
+ var nestedContext = useContext(TableContext);
49
50
  var isRtl = config.direction === 'rtl';
50
51
  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);
51
52
  var tbodyRef = useRef(null);
@@ -132,7 +133,8 @@ export default function Table(props) {
132
133
  }),
133
134
  columns = _useTableColumns.columns,
134
135
  expandHideCol = _useTableColumns.expandHideCol,
135
- columnInfo = _useTableColumns.columnInfo;
136
+ columnInfo = _useTableColumns.columnInfo,
137
+ currentColIndex = _useTableColumns.currentColIndex;
136
138
  var _useTableLayout = useTableLayout({
137
139
  theadRef: theadRef,
138
140
  tbodyRef: tbodyRef,
@@ -406,7 +408,8 @@ export default function Table(props) {
406
408
  resizeFlag: resizeFlag,
407
409
  treeCheckAll: props.treeCheckAll,
408
410
  onCellClick: props.onCellClick,
409
- strictRowHeight: props.strictRowHeight
411
+ strictRowHeight: props.strictRowHeight,
412
+ scrollRef: scrollRef
410
413
  };
411
414
  var headCommonProps = {
412
415
  disabled: props.disabled,
@@ -577,7 +580,8 @@ export default function Table(props) {
577
580
  }),
578
581
  ref: tbodyRef,
579
582
  children: [Group, /*#__PURE__*/_jsx(Tbody, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
580
- currentIndex: virtualInfo.startIndex,
583
+ currentRowIndex: virtualInfo.startIndex,
584
+ currentColIndex: currentColIndex,
581
585
  data: virtualInfo.data,
582
586
  setRowHeight: virtualInfo.setRowHeight,
583
587
  scrolling: scrolling,
@@ -688,6 +692,19 @@ export default function Table(props) {
688
692
  scrollElRef: scrollRef
689
693
  };
690
694
  }, [scrollRef]);
695
+ var tableWrapperStyle = useMemo(function () {
696
+ if (nestedContext.parentTableWidth && props.width) {
697
+ return _objectSpread({
698
+ width: nestedContext.parentTableWidth,
699
+ position: 'sticky',
700
+ left: 0,
701
+ height: defaultHeight
702
+ }, props.style);
703
+ }
704
+ return _objectSpread({
705
+ height: defaultHeight
706
+ }, props.style);
707
+ }, [nestedContext.parentTableWidth, defaultHeight, props.style, props.width]);
691
708
  var tableWrapperClass = classNames(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));
692
709
  if (!props.columns || columns.length === 0) return /*#__PURE__*/_jsx("div", {
693
710
  className: classNames(tableWrapperClass, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.simple, props.striped && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.striped)),
@@ -703,9 +720,7 @@ export default function Table(props) {
703
720
  return /*#__PURE__*/_jsxs(_Fragment, {
704
721
  children: [/*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
705
722
  className: classNames(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
706
- style: _objectSpread({
707
- height: defaultHeight
708
- }, props.style)
723
+ style: tableWrapperStyle
709
724
  }, selection.getTableProps()), {}, {
710
725
  ref: tableRef,
711
726
  dir: config.direction,
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAsGE"}
1
+ {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAuGE"}
@@ -5,8 +5,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  export default (function (props) {
6
6
  var _props$columns = props.columns,
7
7
  columns = _props$columns === void 0 ? [] : _props$columns,
8
- _props$currentIndex = props.currentIndex,
9
- currentIndex = _props$currentIndex === void 0 ? 0 : _props$currentIndex,
8
+ _props$currentRowInde = props.currentRowIndex,
9
+ currentRowIndex = _props$currentRowInde === void 0 ? 0 : _props$currentRowInde,
10
+ currentColIndex = props.currentColIndex,
10
11
  _props$hover = props.hover,
11
12
  hover = _props$hover === void 0 ? true : _props$hover;
12
13
  var _useTableExpand = useTableExpand({
@@ -19,7 +20,7 @@ export default (function (props) {
19
20
  var _useTableRow = useTableRow({
20
21
  columns: props.columns,
21
22
  data: props.data,
22
- currentIndex: currentIndex,
23
+ currentIndex: currentRowIndex,
23
24
  hover: hover
24
25
  }),
25
26
  rowData = _useTableRow.rowData,
@@ -31,7 +32,7 @@ export default (function (props) {
31
32
  });
32
33
  var renderRow = function renderRow(item, index) {
33
34
  var _props$rowEvents;
34
- var rowIndex = index + currentIndex;
35
+ var rowIndex = index + currentRowIndex;
35
36
  var originKey = util.getKey(props.keygen, item, rowIndex);
36
37
  var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
37
38
 
@@ -83,6 +84,7 @@ export default (function (props) {
83
84
  rowEvents: props.rowEvents,
84
85
  disabled: props.datum.disabledCheck(item),
85
86
  bodyScrollWidth: props.bodyScrollWidth,
87
+ scrollRef: props.scrollRef,
86
88
  resizeFlag: props.resizeFlag,
87
89
  treeCheckAll: props.treeCheckAll,
88
90
  onCellClick: props.onCellClick,
@@ -99,7 +101,7 @@ export default (function (props) {
99
101
  if (props.virtual === 'lazy') {
100
102
  return useComponentMemo(function () {
101
103
  return $tbody;
102
- }, [props.data, currentIndex], function (prev, next) {
104
+ }, [currentRowIndex, currentColIndex, props.data], function (prev, next) {
103
105
  return prev.some(function (_, index) {
104
106
  return !util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
105
107
  }) || !props.scrolling;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { useTableColumns, useTableRow } from '@sheinx/hooks';
2
3
  import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
4
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
@@ -8,7 +9,8 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
8
9
  data: any[];
9
10
  colgroup: (number | string | undefined)[];
10
11
  isScrollX: boolean;
11
- currentIndex?: number;
12
+ currentRowIndex?: number;
13
+ currentColIndex?: number;
12
14
  expandHideCol: UseColumnsResult['expandHideCol'];
13
15
  datum: ListDatum;
14
16
  treeFunc: UseTreeResult['func'];
@@ -24,5 +26,6 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
24
26
  maxRowSpan: number;
25
27
  } | null;
26
28
  fullData?: any[];
29
+ scrollRef?: React.RefObject<HTMLDivElement>;
27
30
  }
28
31
  //# sourceMappingURL=tbody.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAQ,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACnD,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAiDtD"}
1
+ {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAQ,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACnD,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CA8BtD"}
package/esm/table/td.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { useComponentMemo, util } from '@sheinx/hooks';
3
2
  import { jsx as _jsx } from "react/jsx-runtime";
4
3
  export default function Td(props) {
5
4
  var col = props.col,
@@ -8,12 +7,11 @@ export default function Td(props) {
8
7
  className = props.className,
9
8
  direction = props.direction,
10
9
  role = props.role,
11
- data = props.data,
12
10
  onClick = props.onClick,
13
11
  onMouseEnter = props.onMouseEnter,
14
12
  onMouseLeave = props.onMouseLeave,
15
13
  renderContent = props.renderContent;
16
- var $td = /*#__PURE__*/_jsx("td", {
14
+ return /*#__PURE__*/_jsx("td", {
17
15
  colSpan: colSpan,
18
16
  rowSpan: rowSpan,
19
17
  onMouseEnter: onMouseEnter,
@@ -25,18 +23,4 @@ export default function Td(props) {
25
23
  onClick: onClick,
26
24
  children: renderContent(props.col, props.data)
27
25
  }, col.key);
28
- if (props.virtual === 'lazy') {
29
- var _props$style, _props$style2;
30
- return useComponentMemo(function () {
31
- return $td;
32
- }, [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) {
33
- if (col.type || col.treeColumnsName) {
34
- return true;
35
- }
36
- return prev.some(function (_, index) {
37
- return !util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
38
- }) || !props.scrolling;
39
- });
40
- }
41
- return $td;
42
26
  }
package/esm/table/tr.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { TableFormatColumn } from '@sheinx/hooks';
2
2
  import { TbodyProps, UseTableRowResult } from './tbody.type';
3
- interface TrProps extends Pick<TbodyProps, 'jssStyle' | 'rowClassName' | 'datum' | 'treeFunc' | 'treeExpandLevel' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'isEmptyTree' | 'setRowHeight' | 'striped' | 'strictRowHeight' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'bodyScrollWidth' | 'resizeFlag' | 'treeCheckAll' | 'onCellClick' | 'virtual'> {
3
+ interface TrProps extends Pick<TbodyProps, 'jssStyle' | 'rowClassName' | 'datum' | 'treeFunc' | 'treeExpandLevel' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'isEmptyTree' | 'setRowHeight' | 'striped' | 'strictRowHeight' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'bodyScrollWidth' | 'resizeFlag' | 'treeCheckAll' | 'onCellClick' | 'virtual' | 'scrollRef'> {
4
4
  row: {
5
5
  data: any[];
6
6
  colSpan: number;
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["tr.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI7D,UAAU,OACR,SAAQ,IAAI,CACV,UAAU,EACR,UAAU,GACV,cAAc,GACd,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,GAAG,EAAE;QACH,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,QAAA,MAAM,EAAE,UAAW,OAAO,4CAuazB,CAAC;AAEF,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["tr.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI7D,UAAU,OACR,SAAQ,IAAI,CACV,UAAU,EACR,UAAU,GACV,cAAc,GACd,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,SAAS,GACT,WAAW,CACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,QAAA,MAAM,EAAE,UAAW,OAAO,4CAyazB,CAAC;AAEF,eAAe,EAAE,CAAC"}
package/esm/table/tr.js CHANGED
@@ -14,7 +14,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
14
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
15
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  import React, { useEffect, useRef, useState } from 'react';
17
- import { usePersistFn, util } from '@sheinx/hooks';
17
+ import { usePersistFn, util, TableContext } from '@sheinx/hooks';
18
18
  import { addResizeObserver } from '@sheinx/hooks';
19
19
  import classNames from 'classnames';
20
20
  import Spin from "../spin";
@@ -314,6 +314,7 @@ var Tr = function Tr(props) {
314
314
  if (expandCol && typeof expandCol.render === 'function') {
315
315
  var renderFunc = expandCol.render(props.rawData, props.rowIndex);
316
316
  if (typeof renderFunc === 'function') {
317
+ var _props$scrollRef;
317
318
  return /*#__PURE__*/_jsx("tr", {
318
319
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.rowExpand,
319
320
  ref: expandRef,
@@ -324,7 +325,12 @@ var Tr = function Tr(props) {
324
325
  style: {
325
326
  padding: 0
326
327
  },
327
- children: renderFunc()
328
+ children: /*#__PURE__*/_jsx(TableContext.Provider, {
329
+ value: {
330
+ 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
331
+ },
332
+ children: renderFunc()
333
+ })
328
334
  })
329
335
  });
330
336
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.9.3-beta.2",
3
+ "version": "3.9.3-beta.4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.9.3-beta.2",
13
+ "@sheinx/hooks": "3.9.3-beta.4",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.3.3"