@sheinx/base 3.7.0-beta.10 → 3.7.0-beta.12

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":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,wDA8LnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,wDA+LnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -88,11 +88,11 @@ var Popover = function Popover(props) {
88
88
  _React$useState2 = _slicedToArray(_React$useState, 2),
89
89
  updateKey = _React$useState2[0],
90
90
  setUpdateKey = _React$useState2[1];
91
- var handleUpdateKey = function handleUpdateKey() {
91
+ var handleUpdateKey = (0, _hooks.usePersistFn)(function () {
92
92
  setUpdateKey(function (prev) {
93
93
  return (prev + 1) % 2;
94
94
  });
95
- };
95
+ });
96
96
  var bindEvents = function bindEvents() {
97
97
  var _window;
98
98
  var targetEl = targetRef.current;
@@ -105,9 +105,9 @@ var Popover = function Popover(props) {
105
105
  targetEl.addEventListener('click', closePop);
106
106
  }
107
107
  (_window = window) === null || _window === void 0 || _window.addEventListener('resize', handleUpdateKey);
108
- var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
109
- if (scrollContainer) {
110
- scrollContainer.addEventListener('scroll', handleUpdateKey);
108
+ if (props.adjust) {
109
+ var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
110
+ if (scrollContainer) scrollContainer.addEventListener('scroll', handleUpdateKey);
111
111
  }
112
112
  };
113
113
  var unbindEvents = function unbindEvents() {
@@ -120,9 +120,9 @@ var Popover = function Popover(props) {
120
120
  if (events.onClick) targetEl.removeEventListener('click', events.onClick);
121
121
  targetEl.removeEventListener('click', closePop);
122
122
  (_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('resize', handleUpdateKey);
123
- var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
124
- if (scrollContainer) {
125
- scrollContainer.addEventListener('scroll', handleUpdateKey);
123
+ if (props.adjust) {
124
+ var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
125
+ if (scrollContainer) scrollContainer.removeEventListener('scroll', handleUpdateKey);
126
126
  }
127
127
  };
128
128
  (0, _react.useEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAmoBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAqoBE"}
@@ -311,6 +311,7 @@ var _default = exports.default = function _default(props) {
311
311
  shouldLastColAuto: !!shouldLastColAuto
312
312
  });
313
313
  var bodyCommonProps = {
314
+ virtual: props.virtual,
314
315
  hover: props.hover,
315
316
  disabled: props.disabled,
316
317
  rowClickAttr: props.rowClickAttr,
@@ -492,6 +493,7 @@ var _default = exports.default = function _default(props) {
492
493
  onScroll: handleVirtualScroll,
493
494
  defaultHeight: context.emptyHeight,
494
495
  isScrollY: isScrollY,
496
+ isScrollX: isScrollX,
495
497
  children: [!props.hideHeader && !props.sticky && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
496
498
  className: headWrapperClass,
497
499
  children: $headTable
@@ -99,9 +99,9 @@ var _default = exports.default = function _default(props) {
99
99
  return renderRow(item, index);
100
100
  })
101
101
  });
102
- }, [props.data, currentIndex].concat(_toConsumableArray(externalDependencies)), updateFn ? function (prev, next) {
102
+ }, [props.data, currentIndex].concat(_toConsumableArray(externalDependencies)), updateFn || props.virtual ? function (prev, next) {
103
103
  return prev.some(function (_, index) {
104
- if (index === 0) {
104
+ if (updateFn && index === 0) {
105
105
  return prev[index].some(function (item, idx) {
106
106
  return updateFn(item, next[index][idx]);
107
107
  });
@@ -3,7 +3,7 @@ import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseColumnsResult = ReturnType<typeof useTableColumns>;
5
5
  export type UseTableRowResult = ReturnType<typeof useTableRow>;
6
- export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'shouldCellUpdate'> {
6
+ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'shouldCellUpdate' | 'virtual'> {
7
7
  columns: TableFormatColumn<any>[];
8
8
  data: any[];
9
9
  colgroup: (number | string | undefined)[];
@@ -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,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,kBAAkB,CACrB;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;CACrB"}
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,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,kBAAkB,GAClB,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;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,QAAA,MAAM,OAAO,UAAW,YAAY,mDAoJnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,QAAA,MAAM,OAAO,UAAW,YAAY,mDA6InC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -70,11 +70,11 @@ var Tooltip = function Tooltip(props) {
70
70
  _React$useState2 = _slicedToArray(_React$useState, 2),
71
71
  updateKey = _React$useState2[0],
72
72
  setUpdateKey = _React$useState2[1];
73
- var handleUpdateKey = function handleUpdateKey() {
73
+ var handleUpdateKey = (0, _hooks.usePersistFn)(function () {
74
74
  setUpdateKey(function (prev) {
75
75
  return (prev + 1) % 2;
76
76
  });
77
- };
77
+ });
78
78
  var bindEvents = function bindEvents() {
79
79
  var _window;
80
80
  var targetEl = targetRef.current;
@@ -83,10 +83,6 @@ var Tooltip = function Tooltip(props) {
83
83
  if (events.onMouseLeave) targetEl.addEventListener('mouseleave', events.onMouseLeave);
84
84
  if (events.onClick) targetEl.addEventListener('click', events.onClick);
85
85
  (_window = window) === null || _window === void 0 || _window.addEventListener('resize', handleUpdateKey);
86
- var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
87
- if (scrollContainer) {
88
- scrollContainer.addEventListener('scroll', handleUpdateKey);
89
- }
90
86
  };
91
87
  var unbindEvents = function unbindEvents() {
92
88
  var _window2;
@@ -98,10 +94,6 @@ var Tooltip = function Tooltip(props) {
98
94
  if (events.onClick) targetEl.removeEventListener('click', events.onClick);
99
95
  targetEl.removeEventListener('click', closePop);
100
96
  (_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('resize', handleUpdateKey);
101
- var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
102
- if (scrollContainer) {
103
- scrollContainer.addEventListener('scroll', handleUpdateKey);
104
- }
105
97
  };
106
98
  (0, _react.useEffect)(function () {
107
99
  if (!persistent) return;
@@ -22,6 +22,7 @@ interface scrollProps {
22
22
  childrenStyle?: React.CSSProperties;
23
23
  defaultHeight?: number;
24
24
  isScrollY?: boolean;
25
+ isScrollX?: boolean;
25
26
  }
26
27
  declare const Scroll: (props: scrollProps) => import("react/jsx-runtime").JSX.Element;
27
28
  export default Scroll;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA2HjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA4HjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -64,6 +64,7 @@ var Scroll = function Scroll(props) {
64
64
  display: 'flex',
65
65
  position: 'sticky',
66
66
  flexDirection: 'column',
67
+ overflow: props.isScrollX ? 'initial' : 'hidden',
67
68
  top: 0
68
69
  };
69
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,wDA8LnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,wDA+LnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -80,11 +80,11 @@ var Popover = function Popover(props) {
80
80
  _React$useState2 = _slicedToArray(_React$useState, 2),
81
81
  updateKey = _React$useState2[0],
82
82
  setUpdateKey = _React$useState2[1];
83
- var handleUpdateKey = function handleUpdateKey() {
83
+ var handleUpdateKey = usePersistFn(function () {
84
84
  setUpdateKey(function (prev) {
85
85
  return (prev + 1) % 2;
86
86
  });
87
- };
87
+ });
88
88
  var bindEvents = function bindEvents() {
89
89
  var _window;
90
90
  var targetEl = targetRef.current;
@@ -97,9 +97,9 @@ var Popover = function Popover(props) {
97
97
  targetEl.addEventListener('click', closePop);
98
98
  }
99
99
  (_window = window) === null || _window === void 0 || _window.addEventListener('resize', handleUpdateKey);
100
- var scrollContainer = getClosestScrollContainer(targetEl);
101
- if (scrollContainer) {
102
- scrollContainer.addEventListener('scroll', handleUpdateKey);
100
+ if (props.adjust) {
101
+ var scrollContainer = getClosestScrollContainer(targetEl);
102
+ if (scrollContainer) scrollContainer.addEventListener('scroll', handleUpdateKey);
103
103
  }
104
104
  };
105
105
  var unbindEvents = function unbindEvents() {
@@ -112,9 +112,9 @@ var Popover = function Popover(props) {
112
112
  if (events.onClick) targetEl.removeEventListener('click', events.onClick);
113
113
  targetEl.removeEventListener('click', closePop);
114
114
  (_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('resize', handleUpdateKey);
115
- var scrollContainer = getClosestScrollContainer(targetEl);
116
- if (scrollContainer) {
117
- scrollContainer.addEventListener('scroll', handleUpdateKey);
115
+ if (props.adjust) {
116
+ var scrollContainer = getClosestScrollContainer(targetEl);
117
+ if (scrollContainer) scrollContainer.removeEventListener('scroll', handleUpdateKey);
118
118
  }
119
119
  };
120
120
  useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAmoBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAqoBE"}
@@ -304,6 +304,7 @@ export default (function (props) {
304
304
  shouldLastColAuto: !!shouldLastColAuto
305
305
  });
306
306
  var bodyCommonProps = {
307
+ virtual: props.virtual,
307
308
  hover: props.hover,
308
309
  disabled: props.disabled,
309
310
  rowClickAttr: props.rowClickAttr,
@@ -485,6 +486,7 @@ export default (function (props) {
485
486
  onScroll: handleVirtualScroll,
486
487
  defaultHeight: context.emptyHeight,
487
488
  isScrollY: isScrollY,
489
+ isScrollX: isScrollX,
488
490
  children: [!props.hideHeader && !props.sticky && /*#__PURE__*/_jsx("div", {
489
491
  className: headWrapperClass,
490
492
  children: $headTable
@@ -92,9 +92,9 @@ export default (function (props) {
92
92
  return renderRow(item, index);
93
93
  })
94
94
  });
95
- }, [props.data, currentIndex].concat(_toConsumableArray(externalDependencies)), updateFn ? function (prev, next) {
95
+ }, [props.data, currentIndex].concat(_toConsumableArray(externalDependencies)), updateFn || props.virtual ? function (prev, next) {
96
96
  return prev.some(function (_, index) {
97
- if (index === 0) {
97
+ if (updateFn && index === 0) {
98
98
  return prev[index].some(function (item, idx) {
99
99
  return updateFn(item, next[index][idx]);
100
100
  });
@@ -3,7 +3,7 @@ import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseColumnsResult = ReturnType<typeof useTableColumns>;
5
5
  export type UseTableRowResult = ReturnType<typeof useTableRow>;
6
- export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'shouldCellUpdate'> {
6
+ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'shouldCellUpdate' | 'virtual'> {
7
7
  columns: TableFormatColumn<any>[];
8
8
  data: any[];
9
9
  colgroup: (number | string | undefined)[];
@@ -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,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,kBAAkB,CACrB;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;CACrB"}
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,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,kBAAkB,GAClB,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;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,QAAA,MAAM,OAAO,UAAW,YAAY,mDAoJnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,QAAA,MAAM,OAAO,UAAW,YAAY,mDA6InC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
10
10
  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; }
11
11
  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; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import { getClosestScrollContainer, usePopup, util } from '@sheinx/hooks';
13
+ import { usePersistFn, usePopup, util } from '@sheinx/hooks';
14
14
  import classNames from 'classnames';
15
15
  import React, { cloneElement, isValidElement, useEffect } from 'react';
16
16
  import AbsoluteList from "../absolute-list";
@@ -63,11 +63,11 @@ var Tooltip = function Tooltip(props) {
63
63
  _React$useState2 = _slicedToArray(_React$useState, 2),
64
64
  updateKey = _React$useState2[0],
65
65
  setUpdateKey = _React$useState2[1];
66
- var handleUpdateKey = function handleUpdateKey() {
66
+ var handleUpdateKey = usePersistFn(function () {
67
67
  setUpdateKey(function (prev) {
68
68
  return (prev + 1) % 2;
69
69
  });
70
- };
70
+ });
71
71
  var bindEvents = function bindEvents() {
72
72
  var _window;
73
73
  var targetEl = targetRef.current;
@@ -76,10 +76,6 @@ var Tooltip = function Tooltip(props) {
76
76
  if (events.onMouseLeave) targetEl.addEventListener('mouseleave', events.onMouseLeave);
77
77
  if (events.onClick) targetEl.addEventListener('click', events.onClick);
78
78
  (_window = window) === null || _window === void 0 || _window.addEventListener('resize', handleUpdateKey);
79
- var scrollContainer = getClosestScrollContainer(targetEl);
80
- if (scrollContainer) {
81
- scrollContainer.addEventListener('scroll', handleUpdateKey);
82
- }
83
79
  };
84
80
  var unbindEvents = function unbindEvents() {
85
81
  var _window2;
@@ -91,10 +87,6 @@ var Tooltip = function Tooltip(props) {
91
87
  if (events.onClick) targetEl.removeEventListener('click', events.onClick);
92
88
  targetEl.removeEventListener('click', closePop);
93
89
  (_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('resize', handleUpdateKey);
94
- var scrollContainer = getClosestScrollContainer(targetEl);
95
- if (scrollContainer) {
96
- scrollContainer.addEventListener('scroll', handleUpdateKey);
97
- }
98
90
  };
99
91
  useEffect(function () {
100
92
  if (!persistent) return;
@@ -22,6 +22,7 @@ interface scrollProps {
22
22
  childrenStyle?: React.CSSProperties;
23
23
  defaultHeight?: number;
24
24
  isScrollY?: boolean;
25
+ isScrollX?: boolean;
25
26
  }
26
27
  declare const Scroll: (props: scrollProps) => import("react/jsx-runtime").JSX.Element;
27
28
  export default Scroll;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA2HjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA4HjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -57,6 +57,7 @@ var Scroll = function Scroll(props) {
57
57
  display: 'flex',
58
58
  position: 'sticky',
59
59
  flexDirection: 'column',
60
+ overflow: props.isScrollX ? 'initial' : 'hidden',
60
61
  top: 0
61
62
  };
62
63
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.7.0-beta.10",
3
+ "version": "3.7.0-beta.12",
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.7.0-beta.10",
13
+ "@sheinx/hooks": "3.7.0-beta.12",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.3-alpha.0"