@ringcentral/juno 2.40.1 → 2.41.0
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/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
- package/components/Downshift/utils/useDownshift.d.ts +1 -1
- package/components/Virtuoso/index.d.ts +1 -1
- package/components/Virtuoso/index.js +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
- package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +170 -72
- package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
- package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
- package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
- package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
- package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
- package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
- package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
- package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
- package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
- package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
- package/components/Virtuoso/react-virtuoso/index.js +8 -1
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
- package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
- package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
- package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
- package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
- package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
- package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
- package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
- package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
- package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
- package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
- package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
- package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
- package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
- package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
- package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
- package/es6/components/Virtuoso/index.js +1 -1
- package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
- package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
- package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
- package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
- package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
- package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
- package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
- package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
- package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
- package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
- package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
- package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
- package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
- package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
- package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
- package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
- package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
- package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
- package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
- package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
- package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
- package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/package.json +2 -2
- package/components/Virtuoso/Virtuoso.d.ts +0 -1
- package/components/Virtuoso/Virtuoso.js +0 -4
- package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
- package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
- package/components/Virtuoso/react-virtuoso/List.js +0 -393
- package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
- package/components/Virtuoso/react-virtuoso/Table.js +0 -196
- package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
- package/components/Virtuoso/react-virtuoso/components.js +0 -9
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
- package/es6/components/Virtuoso/Virtuoso.js +0 -1
- package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
- package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
- package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
|
@@ -1,33 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
5
|
var loggerSystem_1 = require("../loggerSystem");
|
|
6
|
-
var useSize_1 =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
var useSize_1 = require("./useSize");
|
|
7
|
+
var useRcPortalWindowContext_1 = require("./useRcPortalWindowContext");
|
|
8
|
+
function useChangedListContentsSizes(callback, itemSize, enabled, scrollContainerStateCallback, log, gap, customScrollParent) {
|
|
9
|
+
var _a = useRcPortalWindowContext_1.useRcPortalWindowContext().externalWindow, externalWindow = _a === void 0 ? window : _a;
|
|
10
|
+
var memoedCallback = react_1.default.useCallback(function (el) {
|
|
10
11
|
var ranges = getChangedChildSizes(el.children, itemSize, 'offsetHeight', log);
|
|
11
12
|
var scrollableElement = el.parentElement;
|
|
12
13
|
while (!scrollableElement.dataset['virtuosoScroller']) {
|
|
13
14
|
scrollableElement = scrollableElement.parentElement;
|
|
14
15
|
}
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
17
|
+
var windowScrolling = scrollableElement.lastElementChild.dataset['viewportType'] === 'window';
|
|
15
18
|
var scrollTop = customScrollParent
|
|
16
19
|
? customScrollParent.scrollTop
|
|
17
|
-
:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
: windowScrolling
|
|
21
|
+
? externalWindow.pageYOffset || externalWindow.document.documentElement.scrollTop
|
|
22
|
+
: scrollableElement.scrollTop;
|
|
23
|
+
var scrollHeight = customScrollParent
|
|
24
|
+
? customScrollParent.scrollHeight
|
|
25
|
+
: windowScrolling
|
|
26
|
+
? externalWindow.document.documentElement.scrollHeight
|
|
27
|
+
: scrollableElement.scrollHeight;
|
|
28
|
+
var viewportHeight = customScrollParent
|
|
29
|
+
? customScrollParent.offsetHeight
|
|
30
|
+
: windowScrolling
|
|
31
|
+
? externalWindow.innerHeight
|
|
32
|
+
: scrollableElement.offsetHeight;
|
|
22
33
|
scrollContainerStateCallback({
|
|
23
34
|
scrollTop: Math.max(scrollTop, 0),
|
|
24
|
-
scrollHeight:
|
|
25
|
-
viewportHeight:
|
|
35
|
+
scrollHeight: scrollHeight,
|
|
36
|
+
viewportHeight: viewportHeight,
|
|
26
37
|
});
|
|
38
|
+
gap === null || gap === void 0 ? void 0 : gap(resolveGapValue('row-gap', getComputedStyle(el).rowGap, log));
|
|
27
39
|
if (ranges !== null) {
|
|
28
40
|
callback(ranges);
|
|
29
41
|
}
|
|
30
|
-
},
|
|
42
|
+
}, [callback, itemSize, log, gap, customScrollParent, scrollContainerStateCallback, externalWindow]);
|
|
43
|
+
return useSize_1.useSizeWithElRef(memoedCallback, enabled);
|
|
31
44
|
}
|
|
32
45
|
exports.default = useChangedListContentsSizes;
|
|
33
46
|
function getChangedChildSizes(children, itemSize, field, log) {
|
|
@@ -41,7 +54,6 @@ function getChangedChildSizes(children, itemSize, field, log) {
|
|
|
41
54
|
if (!child || child.dataset.index === undefined) {
|
|
42
55
|
continue;
|
|
43
56
|
}
|
|
44
|
-
// eslint-disable-next-line radix
|
|
45
57
|
var index = parseInt(child.dataset.index);
|
|
46
58
|
var knownSize = parseFloat(child.dataset.knownSize);
|
|
47
59
|
var size = itemSize(child, field);
|
|
@@ -52,9 +64,7 @@ function getChangedChildSizes(children, itemSize, field, log) {
|
|
|
52
64
|
continue;
|
|
53
65
|
}
|
|
54
66
|
var lastResult = results[results.length - 1];
|
|
55
|
-
if (results.length === 0 ||
|
|
56
|
-
lastResult.size !== size ||
|
|
57
|
-
lastResult.endIndex !== index - 1) {
|
|
67
|
+
if (results.length === 0 || lastResult.size !== size || lastResult.endIndex !== index - 1) {
|
|
58
68
|
results.push({ startIndex: index, endIndex: index, size: size });
|
|
59
69
|
}
|
|
60
70
|
else {
|
|
@@ -63,3 +73,12 @@ function getChangedChildSizes(children, itemSize, field, log) {
|
|
|
63
73
|
}
|
|
64
74
|
return results;
|
|
65
75
|
}
|
|
76
|
+
function resolveGapValue(property, value, log) {
|
|
77
|
+
if (value !== 'normal' && !(value === null || value === void 0 ? void 0 : value.endsWith('px'))) {
|
|
78
|
+
log(property + " was not resolved to pixel value correctly", value, loggerSystem_1.LogLevel.WARN);
|
|
79
|
+
}
|
|
80
|
+
if (value === 'normal') {
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
return parseInt(value !== null && value !== void 0 ? value : '0', 10);
|
|
84
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare const useIsomorphicLayoutEffect: typeof useEffect;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const useIsomorphicLayoutEffect: typeof React.useEffect;
|
|
3
3
|
export default useIsomorphicLayoutEffect;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
var useIsomorphicLayoutEffect = typeof document !== 'undefined' ? react_1.default.useLayoutEffect : react_1.default.useEffect;
|
|
5
6
|
exports.default = useIsomorphicLayoutEffect;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var foundation_1 = require("../../../../foundation");
|
|
4
|
+
exports.RcPortalWindowContext = foundation_1.RcPortalWindowContext;
|
|
5
|
+
exports.useRcPortalWindowContext = foundation_1.useRcPortalWindowContext;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="styled-jsx" />
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import { ScrollContainerState } from '../interfaces';
|
|
4
3
|
export declare type ScrollerRef = Window | HTMLElement | null;
|
|
5
4
|
export default function useScrollTop(scrollContainerStateCallback: (state: ScrollContainerState) => void, smoothScrollTargetReached: (yes: true) => void, scrollerElement: any, scrollerRefCallback?: (ref: ScrollerRef) => void, customScrollParent?: HTMLElement): {
|
|
6
|
-
scrollerRef:
|
|
5
|
+
scrollerRef: React.MutableRefObject<HTMLElement | Window | null>;
|
|
7
6
|
scrollByCallback: (location: ScrollToOptions) => void;
|
|
8
7
|
scrollToCallback: (location: ScrollToOptions) => void;
|
|
9
8
|
};
|
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
var u = tslib_1.__importStar(require("
|
|
6
|
-
var foundation_1 = require("../../../../foundation");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
var u = tslib_1.__importStar(require("../urx"));
|
|
7
6
|
var correctItemSize_1 = require("../utils/correctItemSize");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
var react_dom_1 = tslib_1.__importDefault(require("react-dom"));
|
|
8
|
+
var approximatelyEqual_1 = require("../utils/approximatelyEqual");
|
|
9
|
+
var useRcPortalWindowContext_1 = require("./useRcPortalWindowContext");
|
|
11
10
|
function useScrollTop(scrollContainerStateCallback, smoothScrollTargetReached, scrollerElement, scrollerRefCallback, customScrollParent) {
|
|
12
11
|
if (scrollerRefCallback === void 0) { scrollerRefCallback = u.noop; }
|
|
13
|
-
var scrollerRef = react_1.useRef(null);
|
|
14
|
-
var scrollTopTarget = react_1.useRef(null);
|
|
15
|
-
var timeoutRef = react_1.useRef(null);
|
|
16
|
-
var _a =
|
|
17
|
-
var handler = react_1.useCallback(function (ev) {
|
|
12
|
+
var scrollerRef = react_1.default.useRef(null);
|
|
13
|
+
var scrollTopTarget = react_1.default.useRef(null);
|
|
14
|
+
var timeoutRef = react_1.default.useRef(null);
|
|
15
|
+
var _a = useRcPortalWindowContext_1.useRcPortalWindowContext().externalWindow, externalWindow = _a === void 0 ? window : _a;
|
|
16
|
+
var handler = react_1.default.useCallback(function (ev) {
|
|
18
17
|
var el = ev.target;
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
var windowScroll = el === externalWindow || el === externalWindow.document;
|
|
19
|
+
var scrollTop = windowScroll ? externalWindow.pageYOffset || externalWindow.document.documentElement.scrollTop : el.scrollTop;
|
|
20
|
+
var scrollHeight = windowScroll ? externalWindow.document.documentElement.scrollHeight : el.scrollHeight;
|
|
21
|
+
var viewportHeight = windowScroll ? externalWindow.innerHeight : el.offsetHeight;
|
|
22
|
+
var call = function () {
|
|
23
|
+
scrollContainerStateCallback({
|
|
24
|
+
scrollTop: Math.max(scrollTop, 0),
|
|
25
|
+
scrollHeight: scrollHeight,
|
|
26
|
+
viewportHeight: viewportHeight,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
30
|
+
if (ev.suppressFlushSync) {
|
|
31
|
+
call();
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
react_dom_1.default.flushSync(call);
|
|
35
|
+
}
|
|
35
36
|
if (scrollTopTarget.current !== null) {
|
|
36
|
-
if (scrollTop === scrollTopTarget.current ||
|
|
37
|
-
scrollTop <= 0 ||
|
|
38
|
-
scrollTop === el.scrollHeight - correctItemSize_1.correctItemSize(el, 'height')) {
|
|
37
|
+
if (scrollTop === scrollTopTarget.current || scrollTop <= 0 || scrollTop === scrollHeight - viewportHeight) {
|
|
39
38
|
scrollTopTarget.current = null;
|
|
40
39
|
smoothScrollTargetReached(true);
|
|
41
40
|
if (timeoutRef.current) {
|
|
@@ -45,28 +44,19 @@ function useScrollTop(scrollContainerStateCallback, smoothScrollTargetReached, s
|
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
}, [externalWindow, scrollContainerStateCallback, smoothScrollTargetReached]);
|
|
48
|
-
react_1.useEffect(function () {
|
|
49
|
-
var localRef = customScrollParent
|
|
50
|
-
? customScrollParent
|
|
51
|
-
: scrollerRef.current;
|
|
47
|
+
react_1.default.useEffect(function () {
|
|
48
|
+
var localRef = customScrollParent ? customScrollParent : scrollerRef.current;
|
|
52
49
|
scrollerRefCallback(customScrollParent ? customScrollParent : scrollerRef.current);
|
|
53
|
-
handler({ target: localRef });
|
|
50
|
+
handler({ target: localRef, suppressFlushSync: true });
|
|
54
51
|
localRef.addEventListener('scroll', handler, { passive: true });
|
|
55
52
|
return function () {
|
|
56
53
|
scrollerRefCallback(null);
|
|
57
54
|
localRef.removeEventListener('scroll', handler);
|
|
58
55
|
};
|
|
59
|
-
}, [
|
|
60
|
-
scrollerRef,
|
|
61
|
-
handler,
|
|
62
|
-
scrollerElement,
|
|
63
|
-
scrollerRefCallback,
|
|
64
|
-
customScrollParent,
|
|
65
|
-
]);
|
|
56
|
+
}, [scrollerRef, handler, scrollerElement, scrollerRefCallback, customScrollParent]);
|
|
66
57
|
function scrollToCallback(location) {
|
|
67
58
|
var scrollerElement = scrollerRef.current;
|
|
68
|
-
if (!scrollerElement ||
|
|
69
|
-
('offsetHeight' in scrollerElement && scrollerElement.offsetHeight === 0)) {
|
|
59
|
+
if (!scrollerElement || ('offsetHeight' in scrollerElement && scrollerElement.offsetHeight === 0)) {
|
|
70
60
|
return;
|
|
71
61
|
}
|
|
72
62
|
var isSmooth = location.behavior === 'smooth';
|
|
@@ -89,13 +79,8 @@ function useScrollTop(scrollContainerStateCallback, smoothScrollTargetReached, s
|
|
|
89
79
|
// avoid system hanging because the DOM never called back
|
|
90
80
|
// with the scrollTop
|
|
91
81
|
// scroller is already at this location
|
|
92
|
-
if (approximatelyEqual(offsetHeight, scrollHeight) ||
|
|
93
|
-
|
|
94
|
-
scrollContainerStateCallback({
|
|
95
|
-
scrollTop: scrollTop,
|
|
96
|
-
scrollHeight: scrollHeight,
|
|
97
|
-
viewportHeight: offsetHeight,
|
|
98
|
-
});
|
|
82
|
+
if (approximatelyEqual_1.approximatelyEqual(offsetHeight, scrollHeight) || location.top === scrollTop) {
|
|
83
|
+
scrollContainerStateCallback({ scrollTop: scrollTop, scrollHeight: scrollHeight, viewportHeight: offsetHeight });
|
|
99
84
|
if (isSmooth) {
|
|
100
85
|
smoothScrollTargetReached(true);
|
|
101
86
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="styled-jsx" />
|
|
1
|
+
import React from 'react';
|
|
3
2
|
export declare type CallbackRefParam = HTMLElement | null;
|
|
4
3
|
export declare function useSizeWithElRef(callback: (e: HTMLElement) => void, enabled?: boolean): {
|
|
5
|
-
ref:
|
|
4
|
+
ref: React.MutableRefObject<HTMLElement | null>;
|
|
6
5
|
callbackRef: (_el: HTMLElement | null) => void;
|
|
7
6
|
};
|
|
8
7
|
export default function useSize(callback: (e: HTMLElement) => void, enabled?: boolean): (_el: HTMLElement | null) => void;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
var useRcPortalWindowContext_1 = require("./useRcPortalWindowContext");
|
|
5
6
|
function useSizeWithElRef(callback, enabled) {
|
|
6
7
|
if (enabled === void 0) { enabled = true; }
|
|
7
|
-
var ref = react_1.useRef(null);
|
|
8
|
-
var _a =
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
var ref = react_1.default.useRef(null);
|
|
9
|
+
var _a = useRcPortalWindowContext_1.useRcPortalWindowContext().externalWindow, externalWindow = _a === void 0 ? window : _a;
|
|
10
10
|
var callbackRef = function (_el) {
|
|
11
|
-
// eslint-disable-next-line no-void
|
|
12
11
|
void 0;
|
|
13
12
|
};
|
|
14
|
-
// TODO: fix after upgrade ts
|
|
15
13
|
if (typeof externalWindow['ResizeObserver'] !== 'undefined') {
|
|
16
|
-
var observer_1 =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
var observer_1 = react_1.default.useMemo(function () {
|
|
15
|
+
return new externalWindow['ResizeObserver'](function (entries) {
|
|
16
|
+
var element = entries[0].target;
|
|
17
|
+
if (element.offsetParent !== null) {
|
|
18
|
+
callback(element);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}, [callback]);
|
|
22
22
|
callbackRef = function (elRef) {
|
|
23
23
|
if (elRef && enabled) {
|
|
24
24
|
observer_1.observe(elRef);
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
5
|
var useSize_1 = require("./useSize");
|
|
6
|
+
var useRcPortalWindowContext_1 = require("./useRcPortalWindowContext");
|
|
6
7
|
function useWindowViewportRectRef(callback, customScrollParent) {
|
|
7
|
-
var viewportInfo = react_1.useRef(null);
|
|
8
|
-
var _a =
|
|
9
|
-
var calculateInfo = react_1.useCallback(function (element) {
|
|
10
|
-
if (element === null) {
|
|
8
|
+
var viewportInfo = react_1.default.useRef(null);
|
|
9
|
+
var _a = useRcPortalWindowContext_1.useRcPortalWindowContext().externalWindow, externalWindow = _a === void 0 ? window : _a;
|
|
10
|
+
var calculateInfo = react_1.default.useCallback(function (element) {
|
|
11
|
+
if (element === null || !element.offsetParent) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
14
|
var rect = element.getBoundingClientRect();
|
|
14
15
|
var visibleWidth = rect.width;
|
|
15
|
-
// eslint-disable-next-line one-var
|
|
16
16
|
var visibleHeight, offsetTop;
|
|
17
17
|
if (customScrollParent) {
|
|
18
18
|
var customScrollParentRect = customScrollParent.getBoundingClientRect();
|
|
@@ -32,10 +32,10 @@ function useWindowViewportRectRef(callback, customScrollParent) {
|
|
|
32
32
|
callback(viewportInfo.current);
|
|
33
33
|
}, [callback, customScrollParent, externalWindow]);
|
|
34
34
|
var _b = useSize_1.useSizeWithElRef(calculateInfo), callbackRef = _b.callbackRef, ref = _b.ref;
|
|
35
|
-
var scrollAndResizeEventHandler = react_1.useCallback(function () {
|
|
35
|
+
var scrollAndResizeEventHandler = react_1.default.useCallback(function () {
|
|
36
36
|
calculateInfo(ref.current);
|
|
37
37
|
}, [calculateInfo, ref]);
|
|
38
|
-
react_1.useEffect(function () {
|
|
38
|
+
react_1.default.useEffect(function () {
|
|
39
39
|
if (customScrollParent) {
|
|
40
40
|
customScrollParent.addEventListener('scroll', scrollAndResizeEventHandler);
|
|
41
41
|
var observer_1 = new externalWindow['ResizeObserver'](scrollAndResizeEventHandler);
|
|
@@ -45,12 +45,14 @@ function useWindowViewportRectRef(callback, customScrollParent) {
|
|
|
45
45
|
observer_1.unobserve(customScrollParent);
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
else {
|
|
49
|
+
externalWindow.addEventListener('scroll', scrollAndResizeEventHandler);
|
|
50
|
+
externalWindow.addEventListener('resize', scrollAndResizeEventHandler);
|
|
51
|
+
return function () {
|
|
52
|
+
externalWindow.removeEventListener('scroll', scrollAndResizeEventHandler);
|
|
53
|
+
externalWindow.removeEventListener('resize', scrollAndResizeEventHandler);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
54
56
|
}, [scrollAndResizeEventHandler, customScrollParent, externalWindow]);
|
|
55
57
|
return callbackRef;
|
|
56
58
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { GroupedVirtuoso, Virtuoso } from './Virtuoso';
|
|
2
|
+
export { VirtuosoGrid } from './VirtuosoGrid';
|
|
3
|
+
export { TableVirtuoso } from './TableVirtuoso';
|
|
2
4
|
export * from './interfaces';
|
|
5
|
+
export * from './component-interfaces/Virtuoso';
|
|
6
|
+
export * from './component-interfaces/TableVirtuoso';
|
|
7
|
+
export * from './component-interfaces/VirtuosoGrid';
|
|
3
8
|
export { LogLevel } from './loggerSystem';
|
|
9
|
+
export * from './utils/context';
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
|
|
4
|
+
var Virtuoso_1 = require("./Virtuoso");
|
|
5
|
+
exports.GroupedVirtuoso = Virtuoso_1.GroupedVirtuoso;
|
|
6
|
+
exports.Virtuoso = Virtuoso_1.Virtuoso;
|
|
7
|
+
var VirtuosoGrid_1 = require("./VirtuosoGrid");
|
|
8
|
+
exports.VirtuosoGrid = VirtuosoGrid_1.VirtuosoGrid;
|
|
9
|
+
var TableVirtuoso_1 = require("./TableVirtuoso");
|
|
10
|
+
exports.TableVirtuoso = TableVirtuoso_1.TableVirtuoso;
|
|
5
11
|
var loggerSystem_1 = require("./loggerSystem");
|
|
6
12
|
exports.LogLevel = loggerSystem_1.LogLevel;
|
|
13
|
+
tslib_1.__exportStar(require("./utils/context"), exports);
|