@fluentui/react-virtualizer 9.0.0-alpha.21 → 9.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +79 -1
- package/CHANGELOG.md +28 -2
- package/dist/index.d.ts +59 -7
- package/lib/Hooks.js +0 -1
- package/lib/Hooks.js.map +1 -1
- package/lib/Utilities.js +0 -1
- package/lib/Utilities.js.map +1 -1
- package/lib/Virtualizer.js +0 -1
- package/lib/Virtualizer.js.map +1 -1
- package/lib/VirtualizerScrollView.js +0 -1
- package/lib/VirtualizerScrollView.js.map +1 -1
- package/lib/VirtualizerScrollViewDynamic.js +0 -1
- package/lib/VirtualizerScrollViewDynamic.js.map +1 -1
- package/lib/components/Virtualizer/Virtualizer.js +5 -7
- package/lib/components/Virtualizer/Virtualizer.js.map +1 -1
- package/lib/components/Virtualizer/Virtualizer.types.js +0 -1
- package/lib/components/Virtualizer/Virtualizer.types.js.map +1 -1
- package/lib/components/Virtualizer/index.js +1 -2
- package/lib/components/Virtualizer/index.js.map +1 -1
- package/lib/components/Virtualizer/renderVirtualizer.js +9 -13
- package/lib/components/Virtualizer/renderVirtualizer.js.map +1 -1
- package/lib/components/Virtualizer/useVirtualizer.js +419 -355
- package/lib/components/Virtualizer/useVirtualizer.js.map +1 -1
- package/lib/components/Virtualizer/{useVirtualizerStyles.js → useVirtualizerStyles.styles.js} +1 -1
- package/lib/components/Virtualizer/useVirtualizerStyles.styles.js.map +1 -0
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js +5 -7
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -1
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js +1 -2
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -1
- package/lib/components/VirtualizerScrollView/index.js +1 -2
- package/lib/components/VirtualizerScrollView/index.js.map +1 -1
- package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js +4 -8
- package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -1
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js +62 -32
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -1
- package/lib/components/VirtualizerScrollView/{useVirtualizerScrollViewStyles.js → useVirtualizerScrollViewStyles.styles.js} +2 -2
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +5 -7
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -1
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +1 -2
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -1
- package/lib/components/VirtualizerScrollViewDynamic/index.js +1 -2
- package/lib/components/VirtualizerScrollViewDynamic/index.js.map +1 -1
- package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +4 -8
- package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -1
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +70 -38
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -1
- package/lib/components/VirtualizerScrollViewDynamic/{useVirtualizerScrollViewDynamicStyles.js → useVirtualizerScrollViewDynamicStyles.styles.js} +2 -2
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.js.map +1 -0
- package/lib/hooks/hooks.types.js +1 -2
- package/lib/hooks/hooks.types.js.map +1 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useDynamicVirtualizerMeasure.js +91 -91
- package/lib/hooks/useDynamicVirtualizerMeasure.js.map +1 -1
- package/lib/hooks/useIntersectionObserver.js +31 -32
- package/lib/hooks/useIntersectionObserver.js.map +1 -1
- package/lib/hooks/useResizeObserverRef.js +36 -32
- package/lib/hooks/useResizeObserverRef.js.map +1 -1
- package/lib/hooks/useVirtualizerMeasure.js +38 -47
- package/lib/hooks/useVirtualizerMeasure.js.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/utilities/ImperativeScrolling/imperativeScrolling.js +32 -0
- package/lib/utilities/ImperativeScrolling/imperativeScrolling.js.map +1 -0
- package/lib/utilities/ImperativeScrolling/imperativeScrolling.types.js +1 -0
- package/lib/utilities/ImperativeScrolling/imperativeScrolling.types.js.map +1 -0
- package/lib/utilities/ImperativeScrolling/imperativeScrollingDynamic.js +45 -0
- package/lib/utilities/ImperativeScrolling/imperativeScrollingDynamic.js.map +1 -0
- package/lib/utilities/ImperativeScrolling/index.js +3 -0
- package/lib/utilities/ImperativeScrolling/index.js.map +1 -0
- package/lib/utilities/VirtualizerContext/VirtualizerContext.js +26 -22
- package/lib/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -1
- package/lib/utilities/VirtualizerContext/index.js +0 -1
- package/lib/utilities/VirtualizerContext/index.js.map +1 -1
- package/lib/utilities/VirtualizerContext/types.js +1 -2
- package/lib/utilities/VirtualizerContext/types.js.map +1 -1
- package/lib/utilities/debounce.js +13 -14
- package/lib/utilities/debounce.js.map +1 -1
- package/lib/utilities/index.js +1 -1
- package/lib/utilities/index.js.map +1 -1
- package/lib-commonjs/Hooks.js +0 -3
- package/lib-commonjs/Hooks.js.map +1 -1
- package/lib-commonjs/Utilities.js +0 -3
- package/lib-commonjs/Utilities.js.map +1 -1
- package/lib-commonjs/Virtualizer.js +0 -3
- package/lib-commonjs/Virtualizer.js.map +1 -1
- package/lib-commonjs/VirtualizerScrollView.js +0 -3
- package/lib-commonjs/VirtualizerScrollView.js.map +1 -1
- package/lib-commonjs/VirtualizerScrollViewDynamic.js +0 -3
- package/lib-commonjs/VirtualizerScrollViewDynamic.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/Virtualizer.js +3 -5
- package/lib-commonjs/components/Virtualizer/Virtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/Virtualizer.types.js +0 -3
- package/lib-commonjs/components/Virtualizer/Virtualizer.types.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/index.js +1 -4
- package/lib-commonjs/components/Virtualizer/index.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/renderVirtualizer.js +1 -3
- package/lib-commonjs/components/Virtualizer/renderVirtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/useVirtualizer.js +84 -16
- package/lib-commonjs/components/Virtualizer/useVirtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/{useVirtualizerStyles.js → useVirtualizerStyles.styles.js} +1 -3
- package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js +3 -5
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js +0 -3
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/index.js +1 -4
- package/lib-commonjs/components/VirtualizerScrollView/index.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js +1 -3
- package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js +39 -6
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/{useVirtualizerScrollViewStyles.js → useVirtualizerScrollViewStyles.styles.js} +4 -6
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +3 -5
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +0 -3
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js +1 -4
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +1 -3
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +42 -7
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/{useVirtualizerScrollViewDynamicStyles.js → useVirtualizerScrollViewDynamicStyles.styles.js} +4 -6
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.js.map +1 -0
- package/lib-commonjs/hooks/hooks.types.js +0 -3
- package/lib-commonjs/hooks/hooks.types.js.map +1 -1
- package/lib-commonjs/hooks/index.js +0 -3
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js +5 -7
- package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js.map +1 -1
- package/lib-commonjs/hooks/useIntersectionObserver.js +1 -3
- package/lib-commonjs/hooks/useIntersectionObserver.js.map +1 -1
- package/lib-commonjs/hooks/useResizeObserverRef.js +3 -3
- package/lib-commonjs/hooks/useResizeObserverRef.js.map +1 -1
- package/lib-commonjs/hooks/useVirtualizerMeasure.js +7 -9
- package/lib-commonjs/hooks/useVirtualizerMeasure.js.map +1 -1
- package/lib-commonjs/index.js +2 -3
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.js +40 -0
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.js.map +1 -0
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.types.js +4 -0
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.types.js.map +1 -0
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrollingDynamic.js +53 -0
- package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrollingDynamic.js.map +1 -0
- package/lib-commonjs/utilities/ImperativeScrolling/index.js +8 -0
- package/lib-commonjs/utilities/ImperativeScrolling/index.js.map +1 -0
- package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js +3 -5
- package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -1
- package/lib-commonjs/utilities/VirtualizerContext/index.js +0 -3
- package/lib-commonjs/utilities/VirtualizerContext/index.js.map +1 -1
- package/lib-commonjs/utilities/VirtualizerContext/types.js +0 -3
- package/lib-commonjs/utilities/VirtualizerContext/types.js.map +1 -1
- package/lib-commonjs/utilities/debounce.js +1 -3
- package/lib-commonjs/utilities/debounce.js.map +1 -1
- package/lib-commonjs/utilities/index.js +1 -3
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/package.json +5 -5
- package/lib/components/Virtualizer/useVirtualizerStyles.js.map +0 -1
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +0 -1
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +0 -1
- package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.js.map +0 -1
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +0 -1
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './VirtualizerScrollViewDynamic';\nexport * from './VirtualizerScrollViewDynamic.types';\nexport * from './useVirtualizerScrollViewDynamic';\nexport * from './renderVirtualizerScrollViewDynamic';\nexport * from './useVirtualizerScrollViewDynamicStyles.styles';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA"}
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js
CHANGED
|
@@ -12,6 +12,4 @@ const _renderVirtualizer = require("../Virtualizer/renderVirtualizer");
|
|
|
12
12
|
const renderVirtualizerScrollViewDynamic_unstable = (state)=>{
|
|
13
13
|
const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
|
|
14
14
|
return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.container, slotProps.container, (0, _renderVirtualizer.renderVirtualizer_unstable)(state));
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map
|
|
15
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["renderVirtualizerScrollViewDynamic.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { renderVirtualizer_unstable } from '../Virtualizer/renderVirtualizer';\nexport const renderVirtualizerScrollViewDynamic_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.container, slotProps.container, renderVirtualizer_unstable(state));\n};\n"],"names":["renderVirtualizerScrollViewDynamic_unstable","state","slots","slotProps","getSlotsNext","createElement","container","renderVirtualizer_unstable"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAGrCA;;aAAAA;;iCAHsE;gCACtD;mCACc;AACpC,MAAMA,8CAA8C,CAACC,QAAQ;IAChE,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,SAAS,EAAEH,UAAUG,SAAS,EAAEC,IAAAA,6CAA0B,EAACN;AACxG"}
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js
CHANGED
|
@@ -14,6 +14,7 @@ const _hooks = require("../../Hooks");
|
|
|
14
14
|
const _utilities = require("../../Utilities");
|
|
15
15
|
function useVirtualizerScrollViewDynamic_unstable(props) {
|
|
16
16
|
const contextState = (0, _utilities.useVirtualizerContextState_unstable)(props.virtualizerContext);
|
|
17
|
+
const { imperativeRef , axis ='vertical' , reversed , imperativeVirtualizerRef } = props;
|
|
17
18
|
var _props_axis, _contextState_contextIndex;
|
|
18
19
|
const { virtualizerLength , bufferItems , bufferSize , scrollRef } = (0, _hooks.useDynamicVirtualizerMeasure)({
|
|
19
20
|
defaultItemSize: props.itemSize,
|
|
@@ -22,14 +23,50 @@ function useVirtualizerScrollViewDynamic_unstable(props) {
|
|
|
22
23
|
currentIndex: (_contextState_contextIndex = contextState === null || contextState === void 0 ? void 0 : contextState.contextIndex) !== null && _contextState_contextIndex !== void 0 ? _contextState_contextIndex : 0,
|
|
23
24
|
numItems: props.numItems
|
|
24
25
|
});
|
|
25
|
-
const
|
|
26
|
+
const scrollViewRef = (0, _reactUtilities.useMergedRefs)(_react.useRef(null), scrollRef);
|
|
27
|
+
const scrollCallbackRef = _react.useRef(null);
|
|
28
|
+
const _imperativeVirtualizerRef = (0, _reactUtilities.useMergedRefs)(_react.useRef(null), imperativeVirtualizerRef);
|
|
29
|
+
(0, _react.useImperativeHandle)(imperativeRef, ()=>{
|
|
30
|
+
return {
|
|
31
|
+
scrollTo (index, behavior = 'auto', callback) {
|
|
32
|
+
scrollCallbackRef.current = callback !== null && callback !== void 0 ? callback : null;
|
|
33
|
+
if (_imperativeVirtualizerRef.current) {
|
|
34
|
+
var _imperativeVirtualizerRef_current;
|
|
35
|
+
const progressiveSizes = _imperativeVirtualizerRef.current.progressiveSizes.current;
|
|
36
|
+
const totalSize = progressiveSizes && (progressiveSizes === null || progressiveSizes === void 0 ? void 0 : progressiveSizes.length) > 0 ? progressiveSizes[Math.max(progressiveSizes.length - 1, 0)] : 0;
|
|
37
|
+
_imperativeVirtualizerRef.current.setFlaggedIndex(index);
|
|
38
|
+
(0, _utilities.scrollToItemDynamic)({
|
|
39
|
+
index,
|
|
40
|
+
itemSizes: (_imperativeVirtualizerRef_current = _imperativeVirtualizerRef.current) === null || _imperativeVirtualizerRef_current === void 0 ? void 0 : _imperativeVirtualizerRef_current.nodeSizes,
|
|
41
|
+
totalSize,
|
|
42
|
+
scrollViewRef,
|
|
43
|
+
axis,
|
|
44
|
+
reversed,
|
|
45
|
+
behavior
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}, [
|
|
51
|
+
axis,
|
|
52
|
+
scrollViewRef,
|
|
53
|
+
reversed,
|
|
54
|
+
_imperativeVirtualizerRef
|
|
55
|
+
]);
|
|
56
|
+
const handleRenderedIndex = (index)=>{
|
|
57
|
+
if (scrollCallbackRef.current) {
|
|
58
|
+
scrollCallbackRef.current(index);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
26
61
|
const virtualizerState = (0, _useVirtualizer.useVirtualizer_unstable)({
|
|
27
62
|
...props,
|
|
28
63
|
virtualizerLength,
|
|
29
64
|
bufferItems,
|
|
30
65
|
bufferSize,
|
|
31
|
-
scrollViewRef
|
|
32
|
-
virtualizerContext: contextState
|
|
66
|
+
scrollViewRef,
|
|
67
|
+
virtualizerContext: contextState,
|
|
68
|
+
imperativeVirtualizerRef: _imperativeVirtualizerRef,
|
|
69
|
+
onRenderedFlaggedIndex: handleRenderedIndex
|
|
33
70
|
});
|
|
34
71
|
return {
|
|
35
72
|
...virtualizerState,
|
|
@@ -40,10 +77,8 @@ function useVirtualizerScrollViewDynamic_unstable(props) {
|
|
|
40
77
|
container: (0, _reactUtilities.resolveShorthand)(props.container, {
|
|
41
78
|
required: true,
|
|
42
79
|
defaultProps: {
|
|
43
|
-
ref:
|
|
80
|
+
ref: scrollViewRef
|
|
44
81
|
}
|
|
45
82
|
})
|
|
46
83
|
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
|
|
84
|
+
}
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useVirtualizerScrollViewDynamic.js"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand, useMergedRefs } from '@fluentui/react-utilities';\nimport { useVirtualizer_unstable } from '../Virtualizer/useVirtualizer';\nimport { useDynamicVirtualizerMeasure } from '../../Hooks';\nimport { useVirtualizerContextState_unstable, scrollToItemDynamic } from '../../Utilities';\nimport { useImperativeHandle } from 'react';\nexport function useVirtualizerScrollViewDynamic_unstable(props) {\n const contextState = useVirtualizerContextState_unstable(props.virtualizerContext);\n const { imperativeRef , axis ='vertical' , reversed , imperativeVirtualizerRef } = props;\n var _props_axis, _contextState_contextIndex;\n const { virtualizerLength , bufferItems , bufferSize , scrollRef } = useDynamicVirtualizerMeasure({\n defaultItemSize: props.itemSize,\n direction: (_props_axis = props.axis) !== null && _props_axis !== void 0 ? _props_axis : 'vertical',\n getItemSize: props.getItemSize,\n currentIndex: (_contextState_contextIndex = contextState === null || contextState === void 0 ? void 0 : contextState.contextIndex) !== null && _contextState_contextIndex !== void 0 ? _contextState_contextIndex : 0,\n numItems: props.numItems\n });\n const scrollViewRef = useMergedRefs(React.useRef(null), scrollRef);\n const scrollCallbackRef = React.useRef(null);\n const _imperativeVirtualizerRef = useMergedRefs(React.useRef(null), imperativeVirtualizerRef);\n useImperativeHandle(imperativeRef, ()=>{\n return {\n scrollTo (index, behavior = 'auto', callback) {\n scrollCallbackRef.current = callback !== null && callback !== void 0 ? callback : null;\n if (_imperativeVirtualizerRef.current) {\n var _imperativeVirtualizerRef_current;\n const progressiveSizes = _imperativeVirtualizerRef.current.progressiveSizes.current;\n const totalSize = progressiveSizes && (progressiveSizes === null || progressiveSizes === void 0 ? void 0 : progressiveSizes.length) > 0 ? progressiveSizes[Math.max(progressiveSizes.length - 1, 0)] : 0;\n _imperativeVirtualizerRef.current.setFlaggedIndex(index);\n scrollToItemDynamic({\n index,\n itemSizes: (_imperativeVirtualizerRef_current = _imperativeVirtualizerRef.current) === null || _imperativeVirtualizerRef_current === void 0 ? void 0 : _imperativeVirtualizerRef_current.nodeSizes,\n totalSize,\n scrollViewRef,\n axis,\n reversed,\n behavior\n });\n }\n }\n };\n }, [\n axis,\n scrollViewRef,\n reversed,\n _imperativeVirtualizerRef\n ]);\n const handleRenderedIndex = (index)=>{\n if (scrollCallbackRef.current) {\n scrollCallbackRef.current(index);\n }\n };\n const virtualizerState = useVirtualizer_unstable({\n ...props,\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollViewRef,\n virtualizerContext: contextState,\n imperativeVirtualizerRef: _imperativeVirtualizerRef,\n onRenderedFlaggedIndex: handleRenderedIndex\n });\n return {\n ...virtualizerState,\n components: {\n ...virtualizerState.components,\n container: 'div'\n },\n container: resolveShorthand(props.container, {\n required: true,\n defaultProps: {\n ref: scrollViewRef\n }\n })\n };\n}\n"],"names":["useVirtualizerScrollViewDynamic_unstable","props","contextState","useVirtualizerContextState_unstable","virtualizerContext","imperativeRef","axis","reversed","imperativeVirtualizerRef","_props_axis","_contextState_contextIndex","virtualizerLength","bufferItems","bufferSize","scrollRef","useDynamicVirtualizerMeasure","defaultItemSize","itemSize","direction","getItemSize","currentIndex","contextIndex","numItems","scrollViewRef","useMergedRefs","React","useRef","scrollCallbackRef","_imperativeVirtualizerRef","useImperativeHandle","scrollTo","index","behavior","callback","current","_imperativeVirtualizerRef_current","progressiveSizes","totalSize","length","Math","max","setFlaggedIndex","scrollToItemDynamic","itemSizes","nodeSizes","handleRenderedIndex","virtualizerState","useVirtualizer_unstable","onRenderedFlaggedIndex","components","container","resolveShorthand","required","defaultProps","ref"],"mappings":";;;;+BAMgBA;;aAAAA;;;6DANO;gCACyB;gCACR;uBACK;2BAC4B;AAElE,SAASA,yCAAyCC,KAAK,EAAE;IAC5D,MAAMC,eAAeC,IAAAA,8CAAmC,EAACF,MAAMG,kBAAkB;IACjF,MAAM,EAAEC,cAAa,EAAGC,MAAM,WAAU,EAAGC,SAAQ,EAAGC,yBAAwB,EAAG,GAAGP;IACpF,IAAIQ,aAAaC;IACjB,MAAM,EAAEC,kBAAiB,EAAGC,YAAW,EAAGC,WAAU,EAAGC,UAAS,EAAG,GAAGC,IAAAA,mCAA4B,EAAC;QAC/FC,iBAAiBf,MAAMgB,QAAQ;QAC/BC,WAAW,AAACT,CAAAA,cAAcR,MAAMK,IAAI,AAAD,MAAO,IAAI,IAAIG,gBAAgB,KAAK,IAAIA,cAAc,UAAU;QACnGU,aAAalB,MAAMkB,WAAW;QAC9BC,cAAc,AAACV,CAAAA,6BAA6BR,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAamB,YAAY,AAAD,MAAO,IAAI,IAAIX,+BAA+B,KAAK,IAAIA,6BAA6B,CAAC;QACrNY,UAAUrB,MAAMqB,QAAQ;IAC5B;IACA,MAAMC,gBAAgBC,IAAAA,6BAAa,EAACC,OAAMC,MAAM,CAAC,IAAI,GAAGZ;IACxD,MAAMa,oBAAoBF,OAAMC,MAAM,CAAC,IAAI;IAC3C,MAAME,4BAA4BJ,IAAAA,6BAAa,EAACC,OAAMC,MAAM,CAAC,IAAI,GAAGlB;IACpEqB,IAAAA,0BAAmB,EAACxB,eAAe,IAAI;QACnC,OAAO;YACHyB,UAAUC,KAAK,EAAEC,WAAW,MAAM,EAAEC,QAAQ,EAAE;gBAC1CN,kBAAkBO,OAAO,GAAGD,aAAa,IAAI,IAAIA,aAAa,KAAK,IAAIA,WAAW,IAAI;gBACtF,IAAIL,0BAA0BM,OAAO,EAAE;oBACnC,IAAIC;oBACJ,MAAMC,mBAAmBR,0BAA0BM,OAAO,CAACE,gBAAgB,CAACF,OAAO;oBACnF,MAAMG,YAAYD,oBAAoB,AAACA,CAAAA,qBAAqB,IAAI,IAAIA,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiBE,MAAM,AAAD,IAAK,IAAIF,gBAAgB,CAACG,KAAKC,GAAG,CAACJ,iBAAiBE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;oBACxMV,0BAA0BM,OAAO,CAACO,eAAe,CAACV;oBAClDW,IAAAA,8BAAmB,EAAC;wBAChBX;wBACAY,WAAW,AAACR,CAAAA,oCAAoCP,0BAA0BM,OAAO,AAAD,MAAO,IAAI,IAAIC,sCAAsC,KAAK,IAAI,KAAK,IAAIA,kCAAkCS,SAAS;wBAClMP;wBACAd;wBACAjB;wBACAC;wBACAyB;oBACJ;gBACJ,CAAC;YACL;QACJ;IACJ,GAAG;QACC1B;QACAiB;QACAhB;QACAqB;KACH;IACD,MAAMiB,sBAAsB,CAACd,QAAQ;QACjC,IAAIJ,kBAAkBO,OAAO,EAAE;YAC3BP,kBAAkBO,OAAO,CAACH;QAC9B,CAAC;IACL;IACA,MAAMe,mBAAmBC,IAAAA,uCAAuB,EAAC;QAC7C,GAAG9C,KAAK;QACRU;QACAC;QACAC;QACAU;QACAnB,oBAAoBF;QACpBM,0BAA0BoB;QAC1BoB,wBAAwBH;IAC5B;IACA,OAAO;QACH,GAAGC,gBAAgB;QACnBG,YAAY;YACR,GAAGH,iBAAiBG,UAAU;YAC9BC,WAAW;QACf;QACAA,WAAWC,IAAAA,gCAAgB,EAAClD,MAAMiD,SAAS,EAAE;YACzCE,UAAU,IAAI;YACdC,cAAc;gBACVC,KAAK/B;YACT;QACJ;IACJ;AACJ"}
|
|
@@ -12,11 +12,11 @@ _export(exports, {
|
|
|
12
12
|
virtualizerScrollViewDynamicClassNames: ()=>virtualizerScrollViewDynamicClassNames,
|
|
13
13
|
useVirtualizerScrollViewDynamicStyles_unstable: ()=>useVirtualizerScrollViewDynamicStyles_unstable
|
|
14
14
|
});
|
|
15
|
-
const
|
|
15
|
+
const _useVirtualizerStylesStyles = require("../Virtualizer/useVirtualizerStyles.styles");
|
|
16
16
|
const _react = require("@griffel/react");
|
|
17
17
|
const virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic';
|
|
18
18
|
const virtualizerScrollViewDynamicClassNames = {
|
|
19
|
-
...
|
|
19
|
+
..._useVirtualizerStylesStyles.virtualizerClassNames,
|
|
20
20
|
container: `${virtualizerScrollViewDynamicClassName}__container`
|
|
21
21
|
};
|
|
22
22
|
const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
@@ -59,11 +59,9 @@ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
59
59
|
const useVirtualizerScrollViewDynamicStyles_unstable = (state)=>{
|
|
60
60
|
const styles = useStyles();
|
|
61
61
|
// Default virtualizer styles base
|
|
62
|
-
(0,
|
|
62
|
+
(0, _useVirtualizerStylesStyles.useVirtualizerStyles_unstable)(state);
|
|
63
63
|
const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;
|
|
64
64
|
// Add container styles
|
|
65
65
|
state.container.className = (0, _react.mergeClasses)(virtualizerScrollViewDynamicClassNames.container, styles.base, containerStyle, state.container.className);
|
|
66
66
|
return state;
|
|
67
|
-
}; //# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
|
|
68
|
-
|
|
69
|
-
//# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
|
|
67
|
+
}; //# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useVirtualizerScrollViewDynamicStyles.styles.js"],"sourcesContent":["import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles.styles';\nimport { __styles, mergeClasses } from '@griffel/react';\nconst virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic';\nexport const virtualizerScrollViewDynamicClassNames = {\n ...virtualizerClassNames,\n container: `${virtualizerScrollViewDynamicClassName}__container`\n};\nconst useStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n a9b677: \"fly5x3f\",\n Bqenvij: \"f1l02sjl\",\n Eiaeu8: \"f1115ve7\"\n },\n vertical: {\n Beiy3e4: \"f1vx9l62\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontal: {\n Beiy3e4: \"f1063pyq\",\n B68tc82: \"f1oy3dpc\"\n },\n verticalReversed: {\n Beiy3e4: \"f1gkdon0\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontalReversed: {\n Beiy3e4: \"f1oztnx0\",\n B68tc82: \"f1oy3dpc\"\n }\n}, {\n d: [\".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".fly5x3f{width:100%;}\", \".f1l02sjl{height:100%;}\", \".f1115ve7{overflow-anchor:none;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}\", \".f5zp4f{overflow-y:auto;}\", \".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}\", \".f1oy3dpc{overflow-x:auto;}\", \".f1gkdon0{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}\", \".f1oztnx0{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}\"]\n});\n/**\n * Apply styling to the Virtualizer states\n */\nexport const useVirtualizerScrollViewDynamicStyles_unstable = state => {\n const styles = useStyles();\n // Default virtualizer styles base\n useVirtualizerStyles_unstable(state);\n const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;\n // Add container styles\n state.container.className = mergeClasses(virtualizerScrollViewDynamicClassNames.container, styles.base, containerStyle, state.container.className);\n return state;\n};\n//# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.styles.js.map"],"names":["virtualizerScrollViewDynamicClassNames","useVirtualizerScrollViewDynamicStyles_unstable","virtualizerScrollViewDynamicClassName","virtualizerClassNames","container","useStyles","__styles","base","mc9l5x","a9b677","Bqenvij","Eiaeu8","vertical","Beiy3e4","Bmxbyg5","horizontal","B68tc82","verticalReversed","horizontalReversed","d","state","styles","useVirtualizerStyles_unstable","containerStyle","axis","reversed","className","mergeClasses"],"mappings":";;;;;;;;;;;IAGaA,sCAAsC,MAAtCA;IAiCAC,8CAA8C,MAA9CA;;4CApCwD;uBAC9B;AACvC,MAAMC,wCAAwC;AACvC,MAAMF,yCAAyC;IACpD,GAAGG,iDAAqB;IACxBC,WAAW,CAAC,EAAEF,sCAAsC,WAAW,CAAC;AAClE;AACA,MAAMG,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCC,MAAM;QACJC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QACTC,QAAQ;IACV;IACAC,UAAU;QACRC,SAAS;QACTC,SAAS;IACX;IACAC,YAAY;QACVF,SAAS;QACTG,SAAS;IACX;IACAC,kBAAkB;QAChBJ,SAAS;QACTC,SAAS;IACX;IACAI,oBAAoB;QAClBL,SAAS;QACTG,SAAS;IACX;AACF,GAAG;IACDG,GAAG;QAAC;QAAwF;QAAyB;QAA2B;QAAoC;QAA6F;QAA6B;QAAoF;QAA+B;QAAqH;KAA2G;AACnoB;AAIO,MAAMlB,iDAAiDmB,CAAAA,QAAS;IACrE,MAAMC,SAAShB;IACf,kCAAkC;IAClCiB,IAAAA,yDAA6B,EAACF;IAC9B,MAAMG,iBAAiBH,MAAMI,IAAI,KAAK,eAAeJ,MAAMK,QAAQ,GAAGJ,OAAOH,kBAAkB,GAAGG,OAAON,UAAU,GAAGK,MAAMK,QAAQ,GAAGJ,OAAOJ,gBAAgB,GAAGI,OAAOT,QAAQ;IAChL,uBAAuB;IACvBQ,MAAMhB,SAAS,CAACsB,SAAS,GAAGC,IAAAA,mBAAY,EAAC3B,uCAAuCI,SAAS,EAAEiB,OAAOd,IAAI,EAAEgB,gBAAgBH,MAAMhB,SAAS,CAACsB,SAAS;IACjJ,OAAON;AACT,GACA,wEAAwE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -8,6 +8,3 @@ _exportStar(require("./useVirtualizerMeasure"), exports);
|
|
|
8
8
|
_exportStar(require("./useDynamicVirtualizerMeasure"), exports);
|
|
9
9
|
_exportStar(require("./useResizeObserverRef"), exports);
|
|
10
10
|
_exportStar(require("./hooks.types"), exports);
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './useIntersectionObserver';\nexport * from './useVirtualizerMeasure';\nexport * from './useDynamicVirtualizerMeasure';\nexport * from './useResizeObserverRef';\nexport * from './hooks.types';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA"}
|
|
@@ -39,11 +39,11 @@ const useDynamicVirtualizerMeasure = (virtualizerProps)=>{
|
|
|
39
39
|
length++;
|
|
40
40
|
}
|
|
41
41
|
/*
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
* Number of items to append at each end, i.e. 'preload' each side before entering view.
|
|
43
|
+
*/ const bufferItems = Math.max(Math.floor(length / 4), 2);
|
|
44
44
|
/*
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
* This is how far we deviate into the bufferItems to detect a redraw.
|
|
46
|
+
*/ const bufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);
|
|
47
47
|
const totalLength = length + bufferItems * 2 + 3;
|
|
48
48
|
setState({
|
|
49
49
|
virtualizerLength: totalLength,
|
|
@@ -102,6 +102,4 @@ const useDynamicVirtualizerMeasure = (virtualizerProps)=>{
|
|
|
102
102
|
bufferSize: virtualizerBufferSize,
|
|
103
103
|
scrollRef
|
|
104
104
|
};
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
//# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
|
|
105
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useDynamicVirtualizerMeasure.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useResizeObserverRef_unstable } from './useResizeObserverRef';\nimport { useRef } from 'react';\n/**\n * React hook that measures virtualized space dynamically to ensure optimized virtualization length.\n */ export const useDynamicVirtualizerMeasure = (virtualizerProps)=>{\n const { defaultItemSize , direction ='vertical' , numItems , getItemSize , currentIndex } = virtualizerProps;\n const indexRef = useRef(currentIndex);\n indexRef.current = currentIndex;\n const [state, setState] = React.useState({\n virtualizerLength: 0,\n virtualizerBufferItems: 0,\n virtualizerBufferSize: 0\n });\n const { virtualizerLength , virtualizerBufferItems , virtualizerBufferSize } = state;\n const container = React.useRef(null);\n const handleScrollResize = React.useCallback((scrollRef)=>{\n if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {\n // Error? ignore?\n return;\n }\n if (scrollRef.current !== container.current) {\n container.current = scrollRef.current;\n }\n const containerSize = direction === 'vertical' ? scrollRef.current.getBoundingClientRect().height : scrollRef.current.getBoundingClientRect().width;\n let indexSizer = 0;\n let length = 0;\n while(indexSizer <= containerSize && length < numItems){\n const iItemSize = getItemSize(indexRef.current + length);\n // Increment\n indexSizer += iItemSize;\n length++;\n }\n /*\n * Number of items to append at each end, i.e. 'preload' each side before entering view.\n */ const bufferItems = Math.max(Math.floor(length / 4), 2);\n /*\n * This is how far we deviate into the bufferItems to detect a redraw.\n */ const bufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);\n const totalLength = length + bufferItems * 2 + 3;\n setState({\n virtualizerLength: totalLength,\n virtualizerBufferSize: bufferSize,\n virtualizerBufferItems: bufferItems\n });\n }, [\n defaultItemSize,\n direction,\n getItemSize,\n numItems\n ]);\n const resizeCallback = React.useCallback((_entries, _observer, scrollRef)=>{\n if (scrollRef) {\n handleScrollResize(scrollRef);\n }\n }, [\n handleScrollResize\n ]);\n const scrollRef = useResizeObserverRef_unstable(resizeCallback);\n useIsomorphicLayoutEffect(()=>{\n var _container_current, _container_current1;\n if (!container.current) {\n return;\n }\n const containerSize = direction === 'vertical' ? ((_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().height) * 1.5 : ((_container_current1 = container.current) === null || _container_current1 === void 0 ? void 0 : _container_current1.getBoundingClientRect().width) * 1.5;\n let couldBeSmaller = false;\n let recheckTotal = 0;\n for(let i = currentIndex; i < currentIndex + virtualizerLength; i++){\n const newItemSize = getItemSize(i);\n recheckTotal += newItemSize;\n const newLength = i - currentIndex;\n const bufferItems = Math.max(Math.floor(newLength / 4), 2);\n const totalNewLength = newLength + bufferItems * 2 + 4;\n const compareLengths = totalNewLength < virtualizerLength;\n if (recheckTotal > containerSize && compareLengths) {\n couldBeSmaller = true;\n break;\n }\n }\n // Check if the render has caused us to need a re-calc of virtualizer length\n if (recheckTotal < containerSize || couldBeSmaller) {\n handleScrollResize(container);\n }\n }, [\n getItemSize,\n currentIndex,\n direction,\n virtualizerLength,\n resizeCallback,\n handleScrollResize\n ]);\n return {\n virtualizerLength,\n bufferItems: virtualizerBufferItems,\n bufferSize: virtualizerBufferSize,\n scrollRef\n };\n};\n"],"names":["useDynamicVirtualizerMeasure","virtualizerProps","defaultItemSize","direction","numItems","getItemSize","currentIndex","indexRef","useRef","current","state","setState","React","useState","virtualizerLength","virtualizerBufferItems","virtualizerBufferSize","container","handleScrollResize","useCallback","scrollRef","containerSize","getBoundingClientRect","height","width","indexSizer","length","iItemSize","bufferItems","Math","max","floor","bufferSize","totalLength","resizeCallback","_entries","_observer","useResizeObserverRef_unstable","useIsomorphicLayoutEffect","_container_current","_container_current1","couldBeSmaller","recheckTotal","i","newItemSize","newLength","totalNewLength","compareLengths"],"mappings":";;;;+BAMiBA;;aAAAA;;;gCANyB;6DACnB;sCACuB;AAInC,MAAMA,+BAA+B,CAACC,mBAAmB;IAChE,MAAM,EAAEC,gBAAe,EAAGC,WAAW,WAAU,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAG,GAAGL;IAC7F,MAAMM,WAAWC,IAAAA,aAAM,EAACF;IACxBC,SAASE,OAAO,GAAGH;IACnB,MAAM,CAACI,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;QACrCC,mBAAmB;QACnBC,wBAAwB;QACxBC,uBAAuB;IAC3B;IACA,MAAM,EAAEF,kBAAiB,EAAGC,uBAAsB,EAAGC,sBAAqB,EAAG,GAAGN;IAChF,MAAMO,YAAYL,OAAMJ,MAAM,CAAC,IAAI;IACnC,MAAMU,qBAAqBN,OAAMO,WAAW,CAAC,CAACC,YAAY;QACtD,IAAI,CAAEA,CAAAA,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUX,OAAO,AAAD,GAAI;YAC5E,iBAAiB;YACjB;QACJ,CAAC;QACD,IAAIW,UAAUX,OAAO,KAAKQ,UAAUR,OAAO,EAAE;YACzCQ,UAAUR,OAAO,GAAGW,UAAUX,OAAO;QACzC,CAAC;QACD,MAAMY,gBAAgBlB,cAAc,aAAaiB,UAAUX,OAAO,CAACa,qBAAqB,GAAGC,MAAM,GAAGH,UAAUX,OAAO,CAACa,qBAAqB,GAAGE,KAAK;QACnJ,IAAIC,aAAa;QACjB,IAAIC,SAAS;QACb,MAAMD,cAAcJ,iBAAiBK,SAAStB,SAAS;YACnD,MAAMuB,YAAYtB,YAAYE,SAASE,OAAO,GAAGiB;YACjD,YAAY;YACZD,cAAcE;YACdD;QACJ;QACA;;OAED,GAAG,MAAME,cAAcC,KAAKC,GAAG,CAACD,KAAKE,KAAK,CAACL,SAAS,IAAI;QACvD;;OAED,GAAG,MAAMM,aAAaH,KAAKC,GAAG,CAACD,KAAKE,KAAK,CAACL,SAAS,IAAIxB,kBAAkB;QACxE,MAAM+B,cAAcP,SAASE,cAAc,IAAI;QAC/CjB,SAAS;YACLG,mBAAmBmB;YACnBjB,uBAAuBgB;YACvBjB,wBAAwBa;QAC5B;IACJ,GAAG;QACC1B;QACAC;QACAE;QACAD;KACH;IACD,MAAM8B,iBAAiBtB,OAAMO,WAAW,CAAC,CAACgB,UAAUC,WAAWhB,YAAY;QACvE,IAAIA,WAAW;YACXF,mBAAmBE;QACvB,CAAC;IACL,GAAG;QACCF;KACH;IACD,MAAME,YAAYiB,IAAAA,mDAA6B,EAACH;IAChDI,IAAAA,yCAAyB,EAAC,IAAI;QAC1B,IAAIC,oBAAoBC;QACxB,IAAI,CAACvB,UAAUR,OAAO,EAAE;YACpB;QACJ,CAAC;QACD,MAAMY,gBAAgBlB,cAAc,aAAa,AAAC,CAAA,AAACoC,CAAAA,qBAAqBtB,UAAUR,OAAO,AAAD,MAAO,IAAI,IAAI8B,uBAAuB,KAAK,IAAI,KAAK,IAAIA,mBAAmBjB,qBAAqB,GAAGC,MAAM,AAAD,IAAK,MAAM,AAAC,CAAA,AAACiB,CAAAA,sBAAsBvB,UAAUR,OAAO,AAAD,MAAO,IAAI,IAAI+B,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBlB,qBAAqB,GAAGE,KAAK,AAAD,IAAK,GAAG;QACpW,IAAIiB,iBAAiB,KAAK;QAC1B,IAAIC,eAAe;QACnB,IAAI,IAAIC,IAAIrC,cAAcqC,IAAIrC,eAAeQ,mBAAmB6B,IAAI;YAChE,MAAMC,cAAcvC,YAAYsC;YAChCD,gBAAgBE;YAChB,MAAMC,YAAYF,IAAIrC;YACtB,MAAMsB,cAAcC,KAAKC,GAAG,CAACD,KAAKE,KAAK,CAACc,YAAY,IAAI;YACxD,MAAMC,iBAAiBD,YAAYjB,cAAc,IAAI;YACrD,MAAMmB,iBAAiBD,iBAAiBhC;YACxC,IAAI4B,eAAerB,iBAAiB0B,gBAAgB;gBAChDN,iBAAiB,IAAI;gBACrB,KAAM;YACV,CAAC;QACL;QACA,4EAA4E;QAC5E,IAAIC,eAAerB,iBAAiBoB,gBAAgB;YAChDvB,mBAAmBD;QACvB,CAAC;IACL,GAAG;QACCZ;QACAC;QACAH;QACAW;QACAoB;QACAhB;KACH;IACD,OAAO;QACHJ;QACAc,aAAab;QACbiB,YAAYhB;QACZI;IACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useIntersectionObserver.js"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nconst { useState , useRef } = React;\n/**\n * React hook that allows easy usage of the browser API IntersectionObserver within React\n * @param callback - A function called when the percentage of the target element is visible crosses a threshold.\n * @param options - An optional object which customizes the observer. If options isn't specified, the observer uses the\n * document's viewport as the root, with no margin, and a 0% threshold (meaning that even a one-pixel change is\n * enough to trigger a callback).\n * @returns An array containing a callback to update the list of Elements the observer should listen to, a callback to\n * update the init options of the IntersectionObserver and a ref to the IntersectionObserver instance itself.\n */ export const useIntersectionObserver = (callback, options)=>{\n const observer = useRef();\n const [observerList, setObserverList] = useState();\n const [observerInit, setObserverInit] = useState(options);\n // Observer elements in passed in list and clean up previous list\n // This effect is only triggered when observerList is updated\n useIsomorphicLayoutEffect(()=>{\n observer.current = new IntersectionObserver(callback, observerInit);\n // If we have an instance of IO and a list with elements, observer the elements\n if (observer.current && observerList && observerList.length > 0) {\n observerList.forEach((element)=>{\n var _observer_current;\n (_observer_current = observer.current) === null || _observer_current === void 0 ? void 0 : _observer_current.observe(element);\n });\n }\n // clean up previous elements being listened to\n return ()=>{\n if (observer.current) {\n observer.current.disconnect();\n }\n };\n }, [\n observerList,\n observerInit,\n callback\n ]);\n return {\n setObserverList,\n setObserverInit,\n observer\n };\n};\n"],"names":["useIntersectionObserver","useState","useRef","React","callback","options","observer","observerList","setObserverList","observerInit","setObserverInit","useIsomorphicLayoutEffect","current","IntersectionObserver","length","forEach","element","_observer_current","observe","disconnect"],"mappings":";;;;+BAWiBA;;aAAAA;;;6DAXM;gCACmB;AAC1C,MAAM,EAAEC,SAAQ,EAAGC,OAAM,EAAG,GAAGC;AASpB,MAAMH,0BAA0B,CAACI,UAAUC,UAAU;IAC5D,MAAMC,WAAWJ;IACjB,MAAM,CAACK,cAAcC,gBAAgB,GAAGP;IACxC,MAAM,CAACQ,cAAcC,gBAAgB,GAAGT,SAASI;IACjD,iEAAiE;IACjE,6DAA6D;IAC7DM,IAAAA,yCAAyB,EAAC,IAAI;QAC1BL,SAASM,OAAO,GAAG,IAAIC,qBAAqBT,UAAUK;QACtD,+EAA+E;QAC/E,IAAIH,SAASM,OAAO,IAAIL,gBAAgBA,aAAaO,MAAM,GAAG,GAAG;YAC7DP,aAAaQ,OAAO,CAAC,CAACC,UAAU;gBAC5B,IAAIC;gBACHA,CAAAA,oBAAoBX,SAASM,OAAO,AAAD,MAAO,IAAI,IAAIK,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBC,OAAO,CAACF,QAAQ;YACjI;QACJ,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAI;YACP,IAAIV,SAASM,OAAO,EAAE;gBAClBN,SAASM,OAAO,CAACO,UAAU;YAC/B,CAAC;QACL;IACJ,GAAG;QACCZ;QACAE;QACAL;KACH;IACD,OAAO;QACHI;QACAE;QACAJ;IACJ;AACJ"}
|
|
@@ -20,6 +20,7 @@ const useResizeObserverRef_unstable = (resizeCallback)=>{
|
|
|
20
20
|
const [resizeObserver, setResizeObserver] = _react.useState(()=>(0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
|
|
21
21
|
_react.useEffect(()=>{
|
|
22
22
|
// Update our state when resizeCallback changes
|
|
23
|
+
container.current = null;
|
|
23
24
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
24
25
|
setResizeObserver((0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
|
|
25
26
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -28,6 +29,7 @@ const useResizeObserverRef_unstable = (resizeCallback)=>{
|
|
|
28
29
|
]);
|
|
29
30
|
_react.useEffect(()=>{
|
|
30
31
|
return ()=>{
|
|
32
|
+
container.current = null;
|
|
31
33
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
32
34
|
};
|
|
33
35
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -46,6 +48,4 @@ const useResizeObserverRef_unstable = (resizeCallback)=>{
|
|
|
46
48
|
resizeObserver
|
|
47
49
|
]);
|
|
48
50
|
return scrollRef;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
//# sourceMappingURL=useResizeObserverRef.js.map
|
|
51
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useResizeObserverRef.js"],"sourcesContent":["import * as React from 'react';\nimport { debounce } from '../utilities/debounce';\nimport { canUseDOM } from '@fluentui/react-utilities';\n/**\n * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup\n */ export const useResizeObserverRef_unstable = (resizeCallback)=>{\n const container = React.useRef(null);\n // the handler for resize observer\n const handleResize = debounce((entries, observer)=>{\n resizeCallback(entries, observer, container);\n });\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver, setResizeObserver] = React.useState(()=>canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n React.useEffect(()=>{\n // Update our state when resizeCallback changes\n container.current = null;\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n setResizeObserver(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n resizeCallback\n ]);\n React.useEffect(()=>{\n return ()=>{\n container.current = null;\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const scrollRef = React.useCallback((instance)=>{\n if (container.current !== instance) {\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);\n }\n container.current = instance;\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);\n }\n }\n }, [\n resizeObserver\n ]);\n return scrollRef;\n};\n"],"names":["useResizeObserverRef_unstable","resizeCallback","container","React","useRef","handleResize","debounce","entries","observer","resizeObserver","setResizeObserver","useState","canUseDOM","ResizeObserver","undefined","useEffect","current","disconnect","scrollRef","useCallback","instance","unobserve","observe"],"mappings":";;;;+BAKiBA;;aAAAA;;;6DALM;0BACE;gCACC;AAGf,MAAMA,gCAAgC,CAACC,iBAAiB;IAC/D,MAAMC,YAAYC,OAAMC,MAAM,CAAC,IAAI;IACnC,kCAAkC;IAClC,MAAMC,eAAeC,IAAAA,kBAAQ,EAAC,CAACC,SAASC,WAAW;QAC/CP,eAAeM,SAASC,UAAUN;IACtC;IACA,uFAAuF;IACvF,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGP,OAAMQ,QAAQ,CAAC,IAAIC,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IACzHX,OAAMY,SAAS,CAAC,IAAI;QAChB,+CAA+C;QAC/Cb,UAAUc,OAAO,GAAG,IAAI;QACxBP,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeQ,UAAU,EAAE;QAC3FP,kBAAkBE,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IAChF,uDAAuD;IACvD,GAAG;QACCb;KACH;IACDE,OAAMY,SAAS,CAAC,IAAI;QAChB,OAAO,IAAI;YACPb,UAAUc,OAAO,GAAG,IAAI;YACxBP,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeQ,UAAU,EAAE;QAC/F;IACJ,uDAAuD;IACvD,GAAG,EAAE;IACL,MAAMC,YAAYf,OAAMgB,WAAW,CAAC,CAACC,WAAW;QAC5C,IAAIlB,UAAUc,OAAO,KAAKI,UAAU;YAChC,IAAIlB,UAAUc,OAAO,EAAE;gBACnBP,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeY,SAAS,CAACnB,UAAUc,OAAO,CAAC;YAC/G,CAAC;YACDd,UAAUc,OAAO,GAAGI;YACpB,IAAIlB,UAAUc,OAAO,EAAE;gBACnBP,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAea,OAAO,CAACpB,UAAUc,OAAO,CAAC;YAC7G,CAAC;QACL,CAAC;IACL,GAAG;QACCP;KACH;IACD,OAAOS;AACX"}
|
|
@@ -23,14 +23,14 @@ const useStaticVirtualizerMeasure = (virtualizerProps)=>{
|
|
|
23
23
|
}
|
|
24
24
|
const containerSize = direction === 'vertical' ? scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current.getBoundingClientRect().height : scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current.getBoundingClientRect().width;
|
|
25
25
|
/*
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
* Number of items required to cover viewport.
|
|
27
|
+
*/ const length = Math.ceil(containerSize / defaultItemSize + 1);
|
|
28
28
|
/*
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
* Number of items to append at each end, i.e. 'preload' each side before entering view.
|
|
30
|
+
*/ const newBufferItems = Math.max(Math.floor(length / 4), 2);
|
|
31
31
|
/*
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
* This is how far we deviate into the bufferItems to detect a redraw.
|
|
33
|
+
*/ const newBufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);
|
|
34
34
|
const totalLength = length + newBufferItems * 2 + 1;
|
|
35
35
|
setState({
|
|
36
36
|
virtualizerLength: totalLength,
|
|
@@ -48,6 +48,4 @@ const useStaticVirtualizerMeasure = (virtualizerProps)=>{
|
|
|
48
48
|
bufferSize,
|
|
49
49
|
scrollRef
|
|
50
50
|
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//# sourceMappingURL=useVirtualizerMeasure.js.map
|
|
51
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useVirtualizerMeasure.js"],"sourcesContent":["import * as React from 'react';\nimport { useResizeObserverRef_unstable } from './useResizeObserverRef';\n/**\n * React hook that measures virtualized space based on a static size to ensure optimized virtualization length.\n */ export const useStaticVirtualizerMeasure = (virtualizerProps)=>{\n const { defaultItemSize , direction ='vertical' } = virtualizerProps;\n const [state, setState] = React.useState({\n virtualizerLength: 0,\n bufferSize: 0,\n bufferItems: 0\n });\n const { virtualizerLength , bufferItems , bufferSize } = state;\n const resizeCallback = React.useCallback((_entries, _observer, scrollRef)=>{\n if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {\n return;\n }\n const containerSize = direction === 'vertical' ? scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current.getBoundingClientRect().height : scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current.getBoundingClientRect().width;\n /*\n * Number of items required to cover viewport.\n */ const length = Math.ceil(containerSize / defaultItemSize + 1);\n /*\n * Number of items to append at each end, i.e. 'preload' each side before entering view.\n */ const newBufferItems = Math.max(Math.floor(length / 4), 2);\n /*\n * This is how far we deviate into the bufferItems to detect a redraw.\n */ const newBufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);\n const totalLength = length + newBufferItems * 2 + 1;\n setState({\n virtualizerLength: totalLength,\n bufferItems: newBufferItems,\n bufferSize: newBufferSize\n });\n }, [\n defaultItemSize,\n direction\n ]);\n const scrollRef = useResizeObserverRef_unstable(resizeCallback);\n return {\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollRef\n };\n};\n"],"names":["useStaticVirtualizerMeasure","virtualizerProps","defaultItemSize","direction","state","setState","React","useState","virtualizerLength","bufferSize","bufferItems","resizeCallback","useCallback","_entries","_observer","scrollRef","current","containerSize","getBoundingClientRect","height","width","length","Math","ceil","newBufferItems","max","floor","newBufferSize","totalLength","useResizeObserverRef_unstable"],"mappings":";;;;+BAIiBA;;aAAAA;;;6DAJM;sCACuB;AAGnC,MAAMA,8BAA8B,CAACC,mBAAmB;IAC/D,MAAM,EAAEC,gBAAe,EAAGC,WAAW,WAAU,EAAG,GAAGF;IACrD,MAAM,CAACG,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;QACrCC,mBAAmB;QACnBC,YAAY;QACZC,aAAa;IACjB;IACA,MAAM,EAAEF,kBAAiB,EAAGE,YAAW,EAAGD,WAAU,EAAG,GAAGL;IAC1D,MAAMO,iBAAiBL,OAAMM,WAAW,CAAC,CAACC,UAAUC,WAAWC,YAAY;QACvE,IAAI,CAAEA,CAAAA,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUC,OAAO,AAAD,GAAI;YAC5E;QACJ,CAAC;QACD,MAAMC,gBAAgBd,cAAc,aAAaY,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUC,OAAO,CAACE,qBAAqB,GAAGC,MAAM,GAAGJ,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUC,OAAO,CAACE,qBAAqB,GAAGE,KAAK;QAC/P;;OAED,GAAG,MAAMC,SAASC,KAAKC,IAAI,CAACN,gBAAgBf,kBAAkB;QAC7D;;OAED,GAAG,MAAMsB,iBAAiBF,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAI;QAC1D;;OAED,GAAG,MAAMM,gBAAgBL,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAInB,kBAAkB;QAC3E,MAAM0B,cAAcP,SAASG,iBAAiB,IAAI;QAClDnB,SAAS;YACLG,mBAAmBoB;YACnBlB,aAAac;YACbf,YAAYkB;QAChB;IACJ,GAAG;QACCzB;QACAC;KACH;IACD,MAAMY,YAAYc,IAAAA,mDAA6B,EAAClB;IAChD,OAAO;QACHH;QACAE;QACAD;QACAM;IACJ;AACJ"}
|
package/lib-commonjs/index.js
CHANGED
|
@@ -20,6 +20,8 @@ _export(exports, {
|
|
|
20
20
|
useResizeObserverRef_unstable: ()=>_hooks.useResizeObserverRef_unstable,
|
|
21
21
|
VirtualizerContextProvider: ()=>_utilities.VirtualizerContextProvider,
|
|
22
22
|
useVirtualizerContext_unstable: ()=>_utilities.useVirtualizerContext_unstable,
|
|
23
|
+
scrollToItemStatic: ()=>_utilities.scrollToItemStatic,
|
|
24
|
+
scrollToItemDynamic: ()=>_utilities.scrollToItemDynamic,
|
|
23
25
|
VirtualizerScrollView: ()=>_virtualizerScrollView.VirtualizerScrollView,
|
|
24
26
|
virtualizerScrollViewClassNames: ()=>_virtualizerScrollView.virtualizerScrollViewClassNames,
|
|
25
27
|
useVirtualizerScrollView_unstable: ()=>_virtualizerScrollView.useVirtualizerScrollView_unstable,
|
|
@@ -36,6 +38,3 @@ const _hooks = require("./Hooks");
|
|
|
36
38
|
const _utilities = require("./Utilities");
|
|
37
39
|
const _virtualizerScrollView = require("./VirtualizerScrollView");
|
|
38
40
|
const _virtualizerScrollViewDynamic = require("./VirtualizerScrollViewDynamic");
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export { Virtualizer, virtualizerClassNames, useVirtualizer_unstable, renderVirtualizer_unstable, useVirtualizerStyles_unstable } from './Virtualizer';\nexport { useIntersectionObserver, useStaticVirtualizerMeasure, useDynamicVirtualizerMeasure, useResizeObserverRef_unstable } from './Hooks';\nexport { VirtualizerContextProvider, useVirtualizerContext_unstable, scrollToItemStatic, scrollToItemDynamic } from './Utilities';\nexport { VirtualizerScrollView, virtualizerScrollViewClassNames, useVirtualizerScrollView_unstable, renderVirtualizerScrollView_unstable, useVirtualizerScrollViewStyles_unstable } from './VirtualizerScrollView';\nexport { VirtualizerScrollViewDynamic, virtualizerScrollViewDynamicClassNames, useVirtualizerScrollViewDynamic_unstable, renderVirtualizerScrollViewDynamic_unstable, useVirtualizerScrollViewDynamicStyles_unstable } from './VirtualizerScrollViewDynamic';\n"],"names":["Virtualizer","virtualizerClassNames","useVirtualizer_unstable","renderVirtualizer_unstable","useVirtualizerStyles_unstable","useIntersectionObserver","useStaticVirtualizerMeasure","useDynamicVirtualizerMeasure","useResizeObserverRef_unstable","VirtualizerContextProvider","useVirtualizerContext_unstable","scrollToItemStatic","scrollToItemDynamic","VirtualizerScrollView","virtualizerScrollViewClassNames","useVirtualizerScrollView_unstable","renderVirtualizerScrollView_unstable","useVirtualizerScrollViewStyles_unstable","VirtualizerScrollViewDynamic","virtualizerScrollViewDynamicClassNames","useVirtualizerScrollViewDynamic_unstable","renderVirtualizerScrollViewDynamic_unstable","useVirtualizerScrollViewDynamicStyles_unstable"],"mappings":";;;;;;;;;;;IAASA,WAAW,MAAXA,wBAAW;IAAEC,qBAAqB,MAArBA,kCAAqB;IAAEC,uBAAuB,MAAvBA,oCAAuB;IAAEC,0BAA0B,MAA1BA,uCAA0B;IAAEC,6BAA6B,MAA7BA,0CAA6B;IACtHC,uBAAuB,MAAvBA,8BAAuB;IAAEC,2BAA2B,MAA3BA,kCAA2B;IAAEC,4BAA4B,MAA5BA,mCAA4B;IAAEC,6BAA6B,MAA7BA,oCAA6B;IACjHC,0BAA0B,MAA1BA,qCAA0B;IAAEC,8BAA8B,MAA9BA,yCAA8B;IAAEC,kBAAkB,MAAlBA,6BAAkB;IAAEC,mBAAmB,MAAnBA,8BAAmB;IACnGC,qBAAqB,MAArBA,4CAAqB;IAAEC,+BAA+B,MAA/BA,sDAA+B;IAAEC,iCAAiC,MAAjCA,wDAAiC;IAAEC,oCAAoC,MAApCA,2DAAoC;IAAEC,uCAAuC,MAAvCA,8DAAuC;IACxKC,4BAA4B,MAA5BA,0DAA4B;IAAEC,sCAAsC,MAAtCA,oEAAsC;IAAEC,wCAAwC,MAAxCA,sEAAwC;IAAEC,2CAA2C,MAA3CA,yEAA2C;IAAEC,8CAA8C,MAA9CA,4EAA8C;;6BAJ7E;uBACL;2BACd;uCACqE;8CACmC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "scrollToItemStatic", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>scrollToItemStatic
|
|
8
|
+
});
|
|
9
|
+
const scrollToItemStatic = (params)=>{
|
|
10
|
+
const { index , itemSize , totalItems , scrollViewRef , axis ='vertical' , reversed =false , behavior ='auto' } = params;
|
|
11
|
+
if (axis === 'horizontal') {
|
|
12
|
+
if (reversed) {
|
|
13
|
+
var _scrollViewRef_current;
|
|
14
|
+
(_scrollViewRef_current = scrollViewRef.current) === null || _scrollViewRef_current === void 0 ? void 0 : _scrollViewRef_current.scrollTo({
|
|
15
|
+
left: totalItems * itemSize - itemSize * index,
|
|
16
|
+
behavior
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
var _scrollViewRef_current1;
|
|
20
|
+
(_scrollViewRef_current1 = scrollViewRef.current) === null || _scrollViewRef_current1 === void 0 ? void 0 : _scrollViewRef_current1.scrollTo({
|
|
21
|
+
left: itemSize * index,
|
|
22
|
+
behavior
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
if (reversed) {
|
|
27
|
+
var _scrollViewRef_current2;
|
|
28
|
+
(_scrollViewRef_current2 = scrollViewRef.current) === null || _scrollViewRef_current2 === void 0 ? void 0 : _scrollViewRef_current2.scrollTo({
|
|
29
|
+
top: totalItems * itemSize - itemSize * index,
|
|
30
|
+
behavior
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
var _scrollViewRef_current3;
|
|
34
|
+
(_scrollViewRef_current3 = scrollViewRef.current) === null || _scrollViewRef_current3 === void 0 ? void 0 : _scrollViewRef_current3.scrollTo({
|
|
35
|
+
top: itemSize * index,
|
|
36
|
+
behavior
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["imperativeScrolling.js"],"sourcesContent":["export const scrollToItemStatic = (params)=>{\n const { index , itemSize , totalItems , scrollViewRef , axis ='vertical' , reversed =false , behavior ='auto' } = params;\n if (axis === 'horizontal') {\n if (reversed) {\n var _scrollViewRef_current;\n (_scrollViewRef_current = scrollViewRef.current) === null || _scrollViewRef_current === void 0 ? void 0 : _scrollViewRef_current.scrollTo({\n left: totalItems * itemSize - itemSize * index,\n behavior\n });\n } else {\n var _scrollViewRef_current1;\n (_scrollViewRef_current1 = scrollViewRef.current) === null || _scrollViewRef_current1 === void 0 ? void 0 : _scrollViewRef_current1.scrollTo({\n left: itemSize * index,\n behavior\n });\n }\n } else {\n if (reversed) {\n var _scrollViewRef_current2;\n (_scrollViewRef_current2 = scrollViewRef.current) === null || _scrollViewRef_current2 === void 0 ? void 0 : _scrollViewRef_current2.scrollTo({\n top: totalItems * itemSize - itemSize * index,\n behavior\n });\n } else {\n var _scrollViewRef_current3;\n (_scrollViewRef_current3 = scrollViewRef.current) === null || _scrollViewRef_current3 === void 0 ? void 0 : _scrollViewRef_current3.scrollTo({\n top: itemSize * index,\n behavior\n });\n }\n }\n};\n"],"names":["scrollToItemStatic","params","index","itemSize","totalItems","scrollViewRef","axis","reversed","behavior","_scrollViewRef_current","current","scrollTo","left","_scrollViewRef_current1","_scrollViewRef_current2","top","_scrollViewRef_current3"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,qBAAqB,CAACC,SAAS;IACxC,MAAM,EAAEC,MAAK,EAAGC,SAAQ,EAAGC,WAAU,EAAGC,cAAa,EAAGC,MAAM,WAAU,EAAGC,UAAU,KAAK,CAAA,EAAGC,UAAU,OAAM,EAAG,GAAGP;IACnH,IAAIK,SAAS,cAAc;QACvB,IAAIC,UAAU;YACV,IAAIE;YACHA,CAAAA,yBAAyBJ,cAAcK,OAAO,AAAD,MAAO,IAAI,IAAID,2BAA2B,KAAK,IAAI,KAAK,IAAIA,uBAAuBE,QAAQ,CAAC;gBACtIC,MAAMR,aAAaD,WAAWA,WAAWD;gBACzCM;YACJ,EAAE;QACN,OAAO;YACH,IAAIK;YACHA,CAAAA,0BAA0BR,cAAcK,OAAO,AAAD,MAAO,IAAI,IAAIG,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBF,QAAQ,CAAC;gBACzIC,MAAMT,WAAWD;gBACjBM;YACJ,EAAE;QACN,CAAC;IACL,OAAO;QACH,IAAID,UAAU;YACV,IAAIO;YACHA,CAAAA,0BAA0BT,cAAcK,OAAO,AAAD,MAAO,IAAI,IAAII,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBH,QAAQ,CAAC;gBACzII,KAAKX,aAAaD,WAAWA,WAAWD;gBACxCM;YACJ,EAAE;QACN,OAAO;YACH,IAAIQ;YACHA,CAAAA,0BAA0BX,cAAcK,OAAO,AAAD,MAAO,IAAI,IAAIM,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBL,QAAQ,CAAC;gBACzII,KAAKZ,WAAWD;gBAChBM;YACJ,EAAE;QACN,CAAC;IACL,CAAC;AACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "scrollToItemDynamic", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>scrollToItemDynamic
|
|
8
|
+
});
|
|
9
|
+
const scrollToItemDynamic = (params)=>{
|
|
10
|
+
const { index , itemSizes , totalSize , scrollViewRef , axis ='vertical' , reversed =false , behavior ='auto' } = params;
|
|
11
|
+
if (!itemSizes.current) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (itemSizes.current === null || itemSizes.current.length < index) {
|
|
15
|
+
// null check - abort
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let itemDepth = 0;
|
|
19
|
+
for(let i = 0; i < index; i++){
|
|
20
|
+
if (i < index) {
|
|
21
|
+
itemDepth += itemSizes.current[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (axis === 'horizontal') {
|
|
25
|
+
if (reversed) {
|
|
26
|
+
var _scrollViewRef_current;
|
|
27
|
+
(_scrollViewRef_current = scrollViewRef.current) === null || _scrollViewRef_current === void 0 ? void 0 : _scrollViewRef_current.scrollTo({
|
|
28
|
+
left: totalSize - itemDepth,
|
|
29
|
+
behavior
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
var _scrollViewRef_current1;
|
|
33
|
+
(_scrollViewRef_current1 = scrollViewRef.current) === null || _scrollViewRef_current1 === void 0 ? void 0 : _scrollViewRef_current1.scrollTo({
|
|
34
|
+
left: itemDepth,
|
|
35
|
+
behavior
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
if (reversed) {
|
|
40
|
+
var _scrollViewRef_current2;
|
|
41
|
+
(_scrollViewRef_current2 = scrollViewRef.current) === null || _scrollViewRef_current2 === void 0 ? void 0 : _scrollViewRef_current2.scrollTo({
|
|
42
|
+
top: totalSize - itemDepth,
|
|
43
|
+
behavior
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
var _scrollViewRef_current3;
|
|
47
|
+
(_scrollViewRef_current3 = scrollViewRef.current) === null || _scrollViewRef_current3 === void 0 ? void 0 : _scrollViewRef_current3.scrollTo({
|
|
48
|
+
top: itemDepth,
|
|
49
|
+
behavior
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["imperativeScrollingDynamic.js"],"sourcesContent":["export const scrollToItemDynamic = (params)=>{\n const { index , itemSizes , totalSize , scrollViewRef , axis ='vertical' , reversed =false , behavior ='auto' } = params;\n if (!itemSizes.current) {\n return;\n }\n if (itemSizes.current === null || itemSizes.current.length < index) {\n // null check - abort\n return;\n }\n let itemDepth = 0;\n for(let i = 0; i < index; i++){\n if (i < index) {\n itemDepth += itemSizes.current[i];\n }\n }\n if (axis === 'horizontal') {\n if (reversed) {\n var _scrollViewRef_current;\n (_scrollViewRef_current = scrollViewRef.current) === null || _scrollViewRef_current === void 0 ? void 0 : _scrollViewRef_current.scrollTo({\n left: totalSize - itemDepth,\n behavior\n });\n } else {\n var _scrollViewRef_current1;\n (_scrollViewRef_current1 = scrollViewRef.current) === null || _scrollViewRef_current1 === void 0 ? void 0 : _scrollViewRef_current1.scrollTo({\n left: itemDepth,\n behavior\n });\n }\n } else {\n if (reversed) {\n var _scrollViewRef_current2;\n (_scrollViewRef_current2 = scrollViewRef.current) === null || _scrollViewRef_current2 === void 0 ? void 0 : _scrollViewRef_current2.scrollTo({\n top: totalSize - itemDepth,\n behavior\n });\n } else {\n var _scrollViewRef_current3;\n (_scrollViewRef_current3 = scrollViewRef.current) === null || _scrollViewRef_current3 === void 0 ? void 0 : _scrollViewRef_current3.scrollTo({\n top: itemDepth,\n behavior\n });\n }\n }\n};\n"],"names":["scrollToItemDynamic","params","index","itemSizes","totalSize","scrollViewRef","axis","reversed","behavior","current","length","itemDepth","i","_scrollViewRef_current","scrollTo","left","_scrollViewRef_current1","_scrollViewRef_current2","top","_scrollViewRef_current3"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,sBAAsB,CAACC,SAAS;IACzC,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAGC,UAAS,EAAGC,cAAa,EAAGC,MAAM,WAAU,EAAGC,UAAU,KAAK,CAAA,EAAGC,UAAU,OAAM,EAAG,GAAGP;IACnH,IAAI,CAACE,UAAUM,OAAO,EAAE;QACpB;IACJ,CAAC;IACD,IAAIN,UAAUM,OAAO,KAAK,IAAI,IAAIN,UAAUM,OAAO,CAACC,MAAM,GAAGR,OAAO;QAChE,qBAAqB;QACrB;IACJ,CAAC;IACD,IAAIS,YAAY;IAChB,IAAI,IAAIC,IAAI,GAAGA,IAAIV,OAAOU,IAAI;QAC1B,IAAIA,IAAIV,OAAO;YACXS,aAAaR,UAAUM,OAAO,CAACG,EAAE;QACrC,CAAC;IACL;IACA,IAAIN,SAAS,cAAc;QACvB,IAAIC,UAAU;YACV,IAAIM;YACHA,CAAAA,yBAAyBR,cAAcI,OAAO,AAAD,MAAO,IAAI,IAAII,2BAA2B,KAAK,IAAI,KAAK,IAAIA,uBAAuBC,QAAQ,CAAC;gBACtIC,MAAMX,YAAYO;gBAClBH;YACJ,EAAE;QACN,OAAO;YACH,IAAIQ;YACHA,CAAAA,0BAA0BX,cAAcI,OAAO,AAAD,MAAO,IAAI,IAAIO,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBF,QAAQ,CAAC;gBACzIC,MAAMJ;gBACNH;YACJ,EAAE;QACN,CAAC;IACL,OAAO;QACH,IAAID,UAAU;YACV,IAAIU;YACHA,CAAAA,0BAA0BZ,cAAcI,OAAO,AAAD,MAAO,IAAI,IAAIQ,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBH,QAAQ,CAAC;gBACzII,KAAKd,YAAYO;gBACjBH;YACJ,EAAE;QACN,OAAO;YACH,IAAIW;YACHA,CAAAA,0BAA0Bd,cAAcI,OAAO,AAAD,MAAO,IAAI,IAAIU,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBL,QAAQ,CAAC;gBACzII,KAAKP;gBACLH;YACJ,EAAE;QACN,CAAC;IACL,CAAC;AACL"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./imperativeScrolling"), exports);
|
|
7
|
+
_exportStar(require("./imperativeScrolling.types"), exports);
|
|
8
|
+
_exportStar(require("./imperativeScrollingDynamic"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './imperativeScrolling';\nexport * from './imperativeScrolling.types';\nexport * from './imperativeScrollingDynamic';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA"}
|
|
@@ -25,8 +25,8 @@ const useVirtualizerContextState_unstable = (passedContext)=>{
|
|
|
25
25
|
const [_contextIndex, _setContextIndex] = (0, _react.useState)(-1);
|
|
26
26
|
var _ref;
|
|
27
27
|
/* We respect any wrapped providers while also ensuring defaults or passed through
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
* Order of usage -> Passed Prop -> Provider Context -> Internal State default
|
|
29
|
+
*/ const _context = (0, _react.useMemo)(()=>(_ref = passedContext !== null && passedContext !== void 0 ? passedContext : virtualizerContext) !== null && _ref !== void 0 ? _ref : {
|
|
30
30
|
contextIndex: _contextIndex,
|
|
31
31
|
setContextIndex: _setContextIndex
|
|
32
32
|
}, [
|
|
@@ -43,6 +43,4 @@ const useVirtualizerContextState_unstable = (passedContext)=>{
|
|
|
43
43
|
_context
|
|
44
44
|
]);
|
|
45
45
|
return context;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=VirtualizerContext.js.map
|
|
46
|
+
};
|