shineout 3.9.14 → 3.9.15-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.js +1 -1
- package/dist/shineout.js +157 -12
- package/dist/shineout.js.map +1 -1
- package/dist/shineout.min.js +1 -1
- package/dist/shineout.min.js.map +1 -1
- package/esm/index.js +1 -1
- package/package.json +5 -5
package/cjs/index.js
CHANGED
|
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
522
522
|
// 此文件由脚本自动生成,请勿直接修改。
|
|
523
523
|
// This file was generated automatically by a script. Please do not modify it directly.
|
|
524
524
|
var _default = exports.default = {
|
|
525
|
-
version: '3.9.
|
|
525
|
+
version: '3.9.15-beta.1'
|
|
526
526
|
};
|
package/dist/shineout.js
CHANGED
|
@@ -12326,7 +12326,7 @@ var handleStyle = function handleStyle(style) {
|
|
|
12326
12326
|
};
|
|
12327
12327
|
/* harmony default export */ var jss_style_handleStyle = (handleStyle);
|
|
12328
12328
|
;// CONCATENATED MODULE: ../shineout-style/src/version.ts
|
|
12329
|
-
/* harmony default export */ var version = ('3.9.
|
|
12329
|
+
/* harmony default export */ var version = ('3.9.15-beta.1');
|
|
12330
12330
|
;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
|
|
12331
12331
|
|
|
12332
12332
|
|
|
@@ -66294,12 +66294,89 @@ var useTableSort = function useTableSort(props) {
|
|
|
66294
66294
|
};
|
|
66295
66295
|
};
|
|
66296
66296
|
/* harmony default export */ var use_table_sort = (useTableSort);
|
|
66297
|
+
;// CONCATENATED MODULE: ../hooks/src/components/use-table/use-table-virtual-external.tsx
|
|
66298
|
+
|
|
66299
|
+
|
|
66300
|
+
|
|
66301
|
+
var useTableVirtualExternal = function useTableVirtualExternal(props) {
|
|
66302
|
+
var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(0),
|
|
66303
|
+
_useState2 = slicedToArray_default()(_useState, 2),
|
|
66304
|
+
headerOffset = _useState2[0],
|
|
66305
|
+
setHeaderOffset = _useState2[1];
|
|
66306
|
+
var externalStickyRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
66307
|
+
var tableOffsetRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(0);
|
|
66308
|
+
var handleExternalScroll = usePersistFn(function () {
|
|
66309
|
+
var _props$tableRef, _externalStickyRef$cu;
|
|
66310
|
+
if (props.disabled) return;
|
|
66311
|
+
var container = props.virtualScrollContainer();
|
|
66312
|
+
var tableEl = (_props$tableRef = props.tableRef) === null || _props$tableRef === void 0 ? void 0 : _props$tableRef.current;
|
|
66313
|
+
if (!container || !tableEl) return;
|
|
66314
|
+
if (tableOffsetRef.current === 0) {
|
|
66315
|
+
if (container === document.documentElement || container === document.body) {
|
|
66316
|
+
tableOffsetRef.current = tableEl.getBoundingClientRect().top + window.scrollY;
|
|
66317
|
+
} else {
|
|
66318
|
+
tableOffsetRef.current = tableEl.getBoundingClientRect().top - container.getBoundingClientRect().top + container.scrollTop;
|
|
66319
|
+
}
|
|
66320
|
+
}
|
|
66321
|
+
var rawScrollTop;
|
|
66322
|
+
if (container === document.documentElement || container === document.body) {
|
|
66323
|
+
var rect = tableEl.getBoundingClientRect();
|
|
66324
|
+
rawScrollTop = -rect.top;
|
|
66325
|
+
} else {
|
|
66326
|
+
var containerRect = container.getBoundingClientRect();
|
|
66327
|
+
var tableRect = tableEl.getBoundingClientRect();
|
|
66328
|
+
rawScrollTop = containerRect.top - tableRect.top;
|
|
66329
|
+
}
|
|
66330
|
+
if (rawScrollTop < 0) rawScrollTop = 0;
|
|
66331
|
+
var sumHeight = props.getContentHeight(props.dataLength - 1);
|
|
66332
|
+
var viewportHeight = ((_externalStickyRef$cu = externalStickyRef.current) === null || _externalStickyRef$cu === void 0 ? void 0 : _externalStickyRef$cu.clientHeight) || container.clientHeight;
|
|
66333
|
+
var scrollTop;
|
|
66334
|
+
var max;
|
|
66335
|
+
if (props.externalStickyHeader) {
|
|
66336
|
+
max = sumHeight - props.tfootHeight - viewportHeight;
|
|
66337
|
+
scrollTop = rawScrollTop;
|
|
66338
|
+
} else {
|
|
66339
|
+
var newHeaderOffset = Math.min(rawScrollTop, props.theadHeight);
|
|
66340
|
+
if (newHeaderOffset !== headerOffset) {
|
|
66341
|
+
setHeaderOffset(newHeaderOffset);
|
|
66342
|
+
}
|
|
66343
|
+
max = sumHeight - props.theadHeight - props.tfootHeight - viewportHeight;
|
|
66344
|
+
scrollTop = rawScrollTop - props.theadHeight;
|
|
66345
|
+
if (scrollTop < 0) scrollTop = 0;
|
|
66346
|
+
}
|
|
66347
|
+
if (max > 0 && scrollTop > max) {
|
|
66348
|
+
scrollTop = max;
|
|
66349
|
+
}
|
|
66350
|
+
props.updateIndexAndTopFromTop(scrollTop);
|
|
66351
|
+
});
|
|
66352
|
+
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
66353
|
+
if (props.disabled) return;
|
|
66354
|
+
var container = props.virtualScrollContainer();
|
|
66355
|
+
if (!container) return;
|
|
66356
|
+
var scrollTarget = container === document.documentElement || container === document.body ? window : container;
|
|
66357
|
+
scrollTarget.addEventListener('scroll', handleExternalScroll, {
|
|
66358
|
+
passive: true
|
|
66359
|
+
});
|
|
66360
|
+
handleExternalScroll();
|
|
66361
|
+
return function () {
|
|
66362
|
+
scrollTarget.removeEventListener('scroll', handleExternalScroll);
|
|
66363
|
+
};
|
|
66364
|
+
}, [props.disabled, props.dataLength]);
|
|
66365
|
+
return {
|
|
66366
|
+
externalStickyRef: externalStickyRef,
|
|
66367
|
+
headerOffset: headerOffset,
|
|
66368
|
+
tableOffsetRef: tableOffsetRef
|
|
66369
|
+
};
|
|
66370
|
+
};
|
|
66371
|
+
/* harmony default export */ var use_table_virtual_external = (useTableVirtualExternal);
|
|
66297
66372
|
;// CONCATENATED MODULE: ../hooks/src/components/use-table/use-table-virtual.tsx
|
|
66298
66373
|
|
|
66299
66374
|
|
|
66300
66375
|
|
|
66301
66376
|
|
|
66302
66377
|
|
|
66378
|
+
|
|
66379
|
+
|
|
66303
66380
|
// 找出最大的连续数字的个数
|
|
66304
66381
|
function getMaxRowSpanLength(input) {
|
|
66305
66382
|
var map = new Map();
|
|
@@ -66438,8 +66515,8 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
66438
66515
|
setHeight(getContentHeight(props.data.length - 1));
|
|
66439
66516
|
}
|
|
66440
66517
|
var preIndex = context.preIndex;
|
|
66441
|
-
// 解决: 从下往上滚
|
|
66442
|
-
if (preIndex && preIndex > startIndex && startIndex === index) {
|
|
66518
|
+
// 解决: 从下往上滚 由于高度变化会导致滚动条跳动(仅内部滚动需要)
|
|
66519
|
+
if (!props.virtualScrollContainer && preIndex && preIndex > startIndex && startIndex === index) {
|
|
66443
66520
|
// 发生在顶部
|
|
66444
66521
|
if (context.heightCallback) return;
|
|
66445
66522
|
var offset = height - (beforeHeight || props.rowHeight);
|
|
@@ -66689,6 +66766,20 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
66689
66766
|
}
|
|
66690
66767
|
return "translate3d(0, ".concat(0 - t, "px, 0)");
|
|
66691
66768
|
}, [innerTop]);
|
|
66769
|
+
var isExternalScroll = !!props.virtualScrollContainer;
|
|
66770
|
+
var externalInfo = use_table_virtual_external({
|
|
66771
|
+
disabled: props.disabled || !isExternalScroll,
|
|
66772
|
+
dataLength: props.data.length,
|
|
66773
|
+
theadHeight: props.theadHeight,
|
|
66774
|
+
tfootHeight: props.tfootHeight,
|
|
66775
|
+
externalStickyHeader: props.externalStickyHeader,
|
|
66776
|
+
virtualScrollContainer: props.virtualScrollContainer || function () {
|
|
66777
|
+
return null;
|
|
66778
|
+
},
|
|
66779
|
+
tableRef: props.tableRef,
|
|
66780
|
+
getContentHeight: getContentHeight,
|
|
66781
|
+
updateIndexAndTopFromTop: updateIndexAndTopFromTop
|
|
66782
|
+
});
|
|
66692
66783
|
return {
|
|
66693
66784
|
scrollHeight: scrollHeight,
|
|
66694
66785
|
startIndex: startIndex,
|
|
@@ -66699,7 +66790,11 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
66699
66790
|
scrollToIndex: scrollToIndex,
|
|
66700
66791
|
scrollColumnByLeft: scrollColumnByLeft,
|
|
66701
66792
|
scrollColumnIntoView: scrollColumnIntoView,
|
|
66702
|
-
rowSpanInfo: rowSpanInfo
|
|
66793
|
+
rowSpanInfo: rowSpanInfo,
|
|
66794
|
+
isExternalScroll: isExternalScroll,
|
|
66795
|
+
externalStickyRef: externalInfo.externalStickyRef,
|
|
66796
|
+
headerOffset: externalInfo.headerOffset,
|
|
66797
|
+
tableOffsetRef: externalInfo.tableOffsetRef
|
|
66703
66798
|
};
|
|
66704
66799
|
};
|
|
66705
66800
|
/* harmony default export */ var use_table_virtual = (useTableVirtual);
|
|
@@ -68571,7 +68666,7 @@ function Table(props) {
|
|
|
68571
68666
|
scrollingTimer: null
|
|
68572
68667
|
}),
|
|
68573
68668
|
context = _useRef.current;
|
|
68574
|
-
var virtual = !fakeVirtual && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
|
|
68669
|
+
var virtual = !fakeVirtual && props.rowsInView !== 0 && (!!props.virtual || !!props.virtualScrollContainer || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
|
|
68575
68670
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useLayoutEffect)(function () {
|
|
68576
68671
|
if (!virtual) return;
|
|
68577
68672
|
if (!tableRef.current) return;
|
|
@@ -68589,7 +68684,7 @@ function Table(props) {
|
|
|
68589
68684
|
tbodyHeight = _useResize.height;
|
|
68590
68685
|
|
|
68591
68686
|
// default height
|
|
68592
|
-
var defaultHeight = virtual && !props.height ? '100%' : props.height;
|
|
68687
|
+
var defaultHeight = virtual && !props.height && !props.virtualScrollContainer ? '100%' : props.height;
|
|
68593
68688
|
var selection = use_table_select({
|
|
68594
68689
|
cellSelectable: props.cellSelectable
|
|
68595
68690
|
});
|
|
@@ -68765,7 +68860,10 @@ function Table(props) {
|
|
|
68765
68860
|
scrollLeft: props.scrollLeft,
|
|
68766
68861
|
isRtl: isRtl,
|
|
68767
68862
|
theadHeight: context.theadHeight,
|
|
68768
|
-
tfootHeight: context.tfootHeight
|
|
68863
|
+
tfootHeight: context.tfootHeight,
|
|
68864
|
+
virtualScrollContainer: props.virtualScrollContainer,
|
|
68865
|
+
tableRef: tableRef,
|
|
68866
|
+
externalStickyHeader: !!props.virtualScrollContainer && !!props.sticky
|
|
68769
68867
|
});
|
|
68770
68868
|
var syncHeaderScroll = usePersistFn(function (left) {
|
|
68771
68869
|
var _tableRef$current;
|
|
@@ -68946,7 +69044,7 @@ function Table(props) {
|
|
|
68946
69044
|
}
|
|
68947
69045
|
};
|
|
68948
69046
|
var isRenderVirtualTable = virtual || props.sticky || !((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length);
|
|
68949
|
-
var headWrapperClass = classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, !!$empty && tableClasses.emptyHeader, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && isScrollY && browserScrollbarWidth === 0 && tableClasses.overlayScrollbar, props.sticky && !isScrollY && tableClasses.scrollX);
|
|
69047
|
+
var headWrapperClass = classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, !!$empty && tableClasses.emptyHeader, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && isScrollY && browserScrollbarWidth === 0 && tableClasses.overlayScrollbar, props.sticky && !isScrollY && !virtualInfo.isExternalScroll && tableClasses.scrollX);
|
|
68950
69048
|
var footWrapperClass = classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
|
|
68951
69049
|
var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
|
|
68952
69050
|
var _scrollRef$current2, _scrollRef$current3, _scrollRef$current4;
|
|
@@ -69037,8 +69135,55 @@ function Table(props) {
|
|
|
69037
69135
|
})
|
|
69038
69136
|
}));
|
|
69039
69137
|
if (isRenderVirtualTable) {
|
|
69040
|
-
var _props$
|
|
69138
|
+
var _props$data4, _virtualInfo$rowSpanI2;
|
|
69041
69139
|
var showStickyHeader = !props.hideHeader && props.sticky;
|
|
69140
|
+
if (virtualInfo.isExternalScroll) {
|
|
69141
|
+
var _props$sticky$top, _props$virtualScrollC, _props$data3, _virtualInfo$rowSpanI;
|
|
69142
|
+
var tableOffset = virtualInfo.tableOffsetRef.current;
|
|
69143
|
+
var stickyTop = typeof_default()(props.sticky) === 'object' ? (_props$sticky$top = props.sticky.top) !== null && _props$sticky$top !== void 0 ? _props$sticky$top : 0 : 0;
|
|
69144
|
+
var stickyTopOffset = stickyTop - tableOffset;
|
|
69145
|
+
var externalContainer = (_props$virtualScrollC = props.virtualScrollContainer) === null || _props$virtualScrollC === void 0 ? void 0 : _props$virtualScrollC.call(props);
|
|
69146
|
+
var stickyDivHeight = externalContainer ? externalContainer.clientHeight - stickyTopOffset : undefined;
|
|
69147
|
+
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
69148
|
+
style: {
|
|
69149
|
+
position: 'relative',
|
|
69150
|
+
height: virtualInfo.scrollHeight
|
|
69151
|
+
},
|
|
69152
|
+
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
69153
|
+
ref: virtualInfo.externalStickyRef,
|
|
69154
|
+
style: {
|
|
69155
|
+
position: 'sticky',
|
|
69156
|
+
top: stickyTopOffset,
|
|
69157
|
+
height: stickyDivHeight,
|
|
69158
|
+
overflowX: 'auto',
|
|
69159
|
+
overflowY: 'hidden'
|
|
69160
|
+
},
|
|
69161
|
+
children: [!props.hideHeader && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
69162
|
+
style: {
|
|
69163
|
+
position: 'relative',
|
|
69164
|
+
zIndex: 1,
|
|
69165
|
+
marginTop: props.sticky ? 0 : -virtualInfo.headerOffset
|
|
69166
|
+
},
|
|
69167
|
+
children: $headTable
|
|
69168
|
+
}), !!((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("table", {
|
|
69169
|
+
style: objectSpread2_default()(objectSpread2_default()({}, tableStyle), {}, {
|
|
69170
|
+
transform: virtualInfo.translateStyle,
|
|
69171
|
+
willChange: 'transform'
|
|
69172
|
+
}),
|
|
69173
|
+
ref: tbodyRef,
|
|
69174
|
+
children: [Group, /*#__PURE__*/(0,jsx_runtime.jsx)(tbody, objectSpread2_default()(objectSpread2_default()({}, bodyCommonProps), {}, {
|
|
69175
|
+
currentRowIndex: virtualInfo.startIndex,
|
|
69176
|
+
currentColIndex: currentColIndex,
|
|
69177
|
+
data: virtualInfo.data,
|
|
69178
|
+
originData: treeData,
|
|
69179
|
+
rowSpanIndexArray: (_virtualInfo$rowSpanI = virtualInfo.rowSpanInfo) === null || _virtualInfo$rowSpanI === void 0 ? void 0 : _virtualInfo$rowSpanI.rowSpanIndexArray,
|
|
69180
|
+
setRowHeight: virtualInfo.setRowHeight,
|
|
69181
|
+
scrolling: scrolling
|
|
69182
|
+
}))]
|
|
69183
|
+
}), $empty]
|
|
69184
|
+
})
|
|
69185
|
+
});
|
|
69186
|
+
}
|
|
69042
69187
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
69043
69188
|
children: [renderHeadMirrorScroller(), showStickyHeader && /*#__PURE__*/(0,jsx_runtime.jsx)(StickyWrapper, objectSpread2_default()(objectSpread2_default()({}, stickyProps), {}, {
|
|
69044
69189
|
children: $headTable
|
|
@@ -69059,7 +69204,7 @@ function Table(props) {
|
|
|
69059
69204
|
isEmpty: !!$empty,
|
|
69060
69205
|
tableRef: tableRef,
|
|
69061
69206
|
setFakeVirtual: scrollAble ? undefined : setFakeVirtual,
|
|
69062
|
-
children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$
|
|
69207
|
+
children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("table", {
|
|
69063
69208
|
style: objectSpread2_default()(objectSpread2_default()({}, tableStyle), {}, {
|
|
69064
69209
|
transform: virtualInfo.translateStyle
|
|
69065
69210
|
}),
|
|
@@ -69069,7 +69214,7 @@ function Table(props) {
|
|
|
69069
69214
|
currentColIndex: currentColIndex,
|
|
69070
69215
|
data: virtualInfo.data,
|
|
69071
69216
|
originData: treeData,
|
|
69072
|
-
rowSpanIndexArray: (_virtualInfo$
|
|
69217
|
+
rowSpanIndexArray: (_virtualInfo$rowSpanI2 = virtualInfo.rowSpanInfo) === null || _virtualInfo$rowSpanI2 === void 0 ? void 0 : _virtualInfo$rowSpanI2.rowSpanIndexArray,
|
|
69073
69218
|
setRowHeight: virtualInfo.setRowHeight,
|
|
69074
69219
|
scrolling: scrolling
|
|
69075
69220
|
}))]
|
|
@@ -75770,7 +75915,7 @@ var upload_interface = __webpack_require__(8821);
|
|
|
75770
75915
|
|
|
75771
75916
|
|
|
75772
75917
|
/* harmony default export */ var src_0 = ({
|
|
75773
|
-
version: '3.9.
|
|
75918
|
+
version: '3.9.15-beta.1'
|
|
75774
75919
|
});
|
|
75775
75920
|
}();
|
|
75776
75921
|
/******/ return __webpack_exports__;
|