@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.
Files changed (166) hide show
  1. package/CHANGELOG.json +79 -1
  2. package/CHANGELOG.md +28 -2
  3. package/dist/index.d.ts +59 -7
  4. package/lib/Hooks.js +0 -1
  5. package/lib/Hooks.js.map +1 -1
  6. package/lib/Utilities.js +0 -1
  7. package/lib/Utilities.js.map +1 -1
  8. package/lib/Virtualizer.js +0 -1
  9. package/lib/Virtualizer.js.map +1 -1
  10. package/lib/VirtualizerScrollView.js +0 -1
  11. package/lib/VirtualizerScrollView.js.map +1 -1
  12. package/lib/VirtualizerScrollViewDynamic.js +0 -1
  13. package/lib/VirtualizerScrollViewDynamic.js.map +1 -1
  14. package/lib/components/Virtualizer/Virtualizer.js +5 -7
  15. package/lib/components/Virtualizer/Virtualizer.js.map +1 -1
  16. package/lib/components/Virtualizer/Virtualizer.types.js +0 -1
  17. package/lib/components/Virtualizer/Virtualizer.types.js.map +1 -1
  18. package/lib/components/Virtualizer/index.js +1 -2
  19. package/lib/components/Virtualizer/index.js.map +1 -1
  20. package/lib/components/Virtualizer/renderVirtualizer.js +9 -13
  21. package/lib/components/Virtualizer/renderVirtualizer.js.map +1 -1
  22. package/lib/components/Virtualizer/useVirtualizer.js +419 -355
  23. package/lib/components/Virtualizer/useVirtualizer.js.map +1 -1
  24. package/lib/components/Virtualizer/{useVirtualizerStyles.js → useVirtualizerStyles.styles.js} +1 -1
  25. package/lib/components/Virtualizer/useVirtualizerStyles.styles.js.map +1 -0
  26. package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js +5 -7
  27. package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -1
  28. package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js +1 -2
  29. package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -1
  30. package/lib/components/VirtualizerScrollView/index.js +1 -2
  31. package/lib/components/VirtualizerScrollView/index.js.map +1 -1
  32. package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js +4 -8
  33. package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -1
  34. package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js +62 -32
  35. package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -1
  36. package/lib/components/VirtualizerScrollView/{useVirtualizerScrollViewStyles.js → useVirtualizerScrollViewStyles.styles.js} +2 -2
  37. package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.js.map +1 -0
  38. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +5 -7
  39. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -1
  40. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +1 -2
  41. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -1
  42. package/lib/components/VirtualizerScrollViewDynamic/index.js +1 -2
  43. package/lib/components/VirtualizerScrollViewDynamic/index.js.map +1 -1
  44. package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +4 -8
  45. package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -1
  46. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +70 -38
  47. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -1
  48. package/lib/components/VirtualizerScrollViewDynamic/{useVirtualizerScrollViewDynamicStyles.js → useVirtualizerScrollViewDynamicStyles.styles.js} +2 -2
  49. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.js.map +1 -0
  50. package/lib/hooks/hooks.types.js +1 -2
  51. package/lib/hooks/hooks.types.js.map +1 -1
  52. package/lib/hooks/index.js +0 -1
  53. package/lib/hooks/index.js.map +1 -1
  54. package/lib/hooks/useDynamicVirtualizerMeasure.js +91 -91
  55. package/lib/hooks/useDynamicVirtualizerMeasure.js.map +1 -1
  56. package/lib/hooks/useIntersectionObserver.js +31 -32
  57. package/lib/hooks/useIntersectionObserver.js.map +1 -1
  58. package/lib/hooks/useResizeObserverRef.js +36 -32
  59. package/lib/hooks/useResizeObserverRef.js.map +1 -1
  60. package/lib/hooks/useVirtualizerMeasure.js +38 -47
  61. package/lib/hooks/useVirtualizerMeasure.js.map +1 -1
  62. package/lib/index.js +1 -2
  63. package/lib/index.js.map +1 -1
  64. package/lib/utilities/ImperativeScrolling/imperativeScrolling.js +32 -0
  65. package/lib/utilities/ImperativeScrolling/imperativeScrolling.js.map +1 -0
  66. package/lib/utilities/ImperativeScrolling/imperativeScrolling.types.js +1 -0
  67. package/lib/utilities/ImperativeScrolling/imperativeScrolling.types.js.map +1 -0
  68. package/lib/utilities/ImperativeScrolling/imperativeScrollingDynamic.js +45 -0
  69. package/lib/utilities/ImperativeScrolling/imperativeScrollingDynamic.js.map +1 -0
  70. package/lib/utilities/ImperativeScrolling/index.js +3 -0
  71. package/lib/utilities/ImperativeScrolling/index.js.map +1 -0
  72. package/lib/utilities/VirtualizerContext/VirtualizerContext.js +26 -22
  73. package/lib/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -1
  74. package/lib/utilities/VirtualizerContext/index.js +0 -1
  75. package/lib/utilities/VirtualizerContext/index.js.map +1 -1
  76. package/lib/utilities/VirtualizerContext/types.js +1 -2
  77. package/lib/utilities/VirtualizerContext/types.js.map +1 -1
  78. package/lib/utilities/debounce.js +13 -14
  79. package/lib/utilities/debounce.js.map +1 -1
  80. package/lib/utilities/index.js +1 -1
  81. package/lib/utilities/index.js.map +1 -1
  82. package/lib-commonjs/Hooks.js +0 -3
  83. package/lib-commonjs/Hooks.js.map +1 -1
  84. package/lib-commonjs/Utilities.js +0 -3
  85. package/lib-commonjs/Utilities.js.map +1 -1
  86. package/lib-commonjs/Virtualizer.js +0 -3
  87. package/lib-commonjs/Virtualizer.js.map +1 -1
  88. package/lib-commonjs/VirtualizerScrollView.js +0 -3
  89. package/lib-commonjs/VirtualizerScrollView.js.map +1 -1
  90. package/lib-commonjs/VirtualizerScrollViewDynamic.js +0 -3
  91. package/lib-commonjs/VirtualizerScrollViewDynamic.js.map +1 -1
  92. package/lib-commonjs/components/Virtualizer/Virtualizer.js +3 -5
  93. package/lib-commonjs/components/Virtualizer/Virtualizer.js.map +1 -1
  94. package/lib-commonjs/components/Virtualizer/Virtualizer.types.js +0 -3
  95. package/lib-commonjs/components/Virtualizer/Virtualizer.types.js.map +1 -1
  96. package/lib-commonjs/components/Virtualizer/index.js +1 -4
  97. package/lib-commonjs/components/Virtualizer/index.js.map +1 -1
  98. package/lib-commonjs/components/Virtualizer/renderVirtualizer.js +1 -3
  99. package/lib-commonjs/components/Virtualizer/renderVirtualizer.js.map +1 -1
  100. package/lib-commonjs/components/Virtualizer/useVirtualizer.js +84 -16
  101. package/lib-commonjs/components/Virtualizer/useVirtualizer.js.map +1 -1
  102. package/lib-commonjs/components/Virtualizer/{useVirtualizerStyles.js → useVirtualizerStyles.styles.js} +1 -3
  103. package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.styles.js.map +1 -0
  104. package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js +3 -5
  105. package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -1
  106. package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js +0 -3
  107. package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -1
  108. package/lib-commonjs/components/VirtualizerScrollView/index.js +1 -4
  109. package/lib-commonjs/components/VirtualizerScrollView/index.js.map +1 -1
  110. package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js +1 -3
  111. package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -1
  112. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js +39 -6
  113. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -1
  114. package/lib-commonjs/components/VirtualizerScrollView/{useVirtualizerScrollViewStyles.js → useVirtualizerScrollViewStyles.styles.js} +4 -6
  115. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.js.map +1 -0
  116. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +3 -5
  117. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -1
  118. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +0 -3
  119. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -1
  120. package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js +1 -4
  121. package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js.map +1 -1
  122. package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +1 -3
  123. package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -1
  124. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +42 -7
  125. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -1
  126. package/lib-commonjs/components/VirtualizerScrollViewDynamic/{useVirtualizerScrollViewDynamicStyles.js → useVirtualizerScrollViewDynamicStyles.styles.js} +4 -6
  127. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.js.map +1 -0
  128. package/lib-commonjs/hooks/hooks.types.js +0 -3
  129. package/lib-commonjs/hooks/hooks.types.js.map +1 -1
  130. package/lib-commonjs/hooks/index.js +0 -3
  131. package/lib-commonjs/hooks/index.js.map +1 -1
  132. package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js +5 -7
  133. package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js.map +1 -1
  134. package/lib-commonjs/hooks/useIntersectionObserver.js +1 -3
  135. package/lib-commonjs/hooks/useIntersectionObserver.js.map +1 -1
  136. package/lib-commonjs/hooks/useResizeObserverRef.js +3 -3
  137. package/lib-commonjs/hooks/useResizeObserverRef.js.map +1 -1
  138. package/lib-commonjs/hooks/useVirtualizerMeasure.js +7 -9
  139. package/lib-commonjs/hooks/useVirtualizerMeasure.js.map +1 -1
  140. package/lib-commonjs/index.js +2 -3
  141. package/lib-commonjs/index.js.map +1 -1
  142. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.js +40 -0
  143. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.js.map +1 -0
  144. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.types.js +4 -0
  145. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrolling.types.js.map +1 -0
  146. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrollingDynamic.js +53 -0
  147. package/lib-commonjs/utilities/ImperativeScrolling/imperativeScrollingDynamic.js.map +1 -0
  148. package/lib-commonjs/utilities/ImperativeScrolling/index.js +8 -0
  149. package/lib-commonjs/utilities/ImperativeScrolling/index.js.map +1 -0
  150. package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js +3 -5
  151. package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -1
  152. package/lib-commonjs/utilities/VirtualizerContext/index.js +0 -3
  153. package/lib-commonjs/utilities/VirtualizerContext/index.js.map +1 -1
  154. package/lib-commonjs/utilities/VirtualizerContext/types.js +0 -3
  155. package/lib-commonjs/utilities/VirtualizerContext/types.js.map +1 -1
  156. package/lib-commonjs/utilities/debounce.js +1 -3
  157. package/lib-commonjs/utilities/debounce.js.map +1 -1
  158. package/lib-commonjs/utilities/index.js +1 -3
  159. package/lib-commonjs/utilities/index.js.map +1 -1
  160. package/package.json +5 -5
  161. package/lib/components/Virtualizer/useVirtualizerStyles.js.map +0 -1
  162. package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +0 -1
  163. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +0 -1
  164. package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.js.map +0 -1
  165. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +0 -1
  166. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/index.js"],"sourcesContent":["export * from './VirtualizerScrollViewDynamic';\nexport * from './VirtualizerScrollViewDynamic.types';\nexport * from './useVirtualizerScrollViewDynamic';\nexport * from './renderVirtualizerScrollViewDynamic';\nexport * from './useVirtualizerScrollViewDynamicStyles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
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"}
@@ -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
- }; //# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map
16
-
17
- //# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map
15
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/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 {\n slots,\n slotProps\n } = getSlotsNext(state);\n return /*#__PURE__*/createElement(slots.container, slotProps.container, renderVirtualizer_unstable(state));\n};\n//# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map"],"names":["renderVirtualizerScrollViewDynamic_unstable","state","slots","slotProps","getSlotsNext","createElement","container","renderVirtualizer_unstable"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAGrCA;;aAAAA;;iCAHqE;gCACrD;mCACc;AACpC,MAAMA,8CAA8CC,CAAAA,QAAS;IAClE,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,4BAAY,EAACH;IACjB,OAAO,WAAW,GAAEI,IAAAA,8BAAa,EAACH,MAAMI,SAAS,EAAEH,UAAUG,SAAS,EAAEC,IAAAA,6CAA0B,EAACN;AACrG,GACA,8DAA8D"}
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"}
@@ -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 iScrollRef = (0, _reactUtilities.useMergedRefs)(_react.useRef(null), scrollRef);
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: iScrollRef,
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: iScrollRef
80
+ ref: scrollViewRef
44
81
  }
45
82
  })
46
83
  };
47
- } //# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
48
-
49
- //# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
84
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/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 } from '../../Utilities';\nexport function useVirtualizerScrollViewDynamic_unstable(props) {\n const contextState = useVirtualizerContextState_unstable(props.virtualizerContext);\n var _props_axis, _contextState_contextIndex;\n const {\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollRef\n } = 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 iScrollRef = useMergedRefs(React.useRef(null), scrollRef);\n const virtualizerState = useVirtualizer_unstable({\n ...props,\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollViewRef: iScrollRef,\n virtualizerContext: contextState\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: iScrollRef\n }\n })\n };\n}\n//# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map"],"names":["useVirtualizerScrollViewDynamic_unstable","props","contextState","useVirtualizerContextState_unstable","virtualizerContext","_props_axis","_contextState_contextIndex","virtualizerLength","bufferItems","bufferSize","scrollRef","useDynamicVirtualizerMeasure","defaultItemSize","itemSize","direction","axis","getItemSize","currentIndex","contextIndex","numItems","iScrollRef","useMergedRefs","React","useRef","virtualizerState","useVirtualizer_unstable","scrollViewRef","components","container","resolveShorthand","required","defaultProps","ref"],"mappings":";;;;+BAKgBA;;aAAAA;;;6DALO;gCACyB;gCACR;uBACK;2BACO;AAC7C,SAASA,yCAAyCC,KAAK,EAAE;IAC9D,MAAMC,eAAeC,IAAAA,8CAAmC,EAACF,MAAMG,kBAAkB;IACjF,IAAIC,aAAaC;IACjB,MAAM,EACJC,kBAAiB,EACjBC,YAAW,EACXC,WAAU,EACVC,UAAS,EACV,GAAGC,IAAAA,mCAA4B,EAAC;QAC/BC,iBAAiBX,MAAMY,QAAQ;QAC/BC,WAAW,AAACT,CAAAA,cAAcJ,MAAMc,IAAI,AAAD,MAAO,IAAI,IAAIV,gBAAgB,KAAK,IAAIA,cAAc,UAAU;QACnGW,aAAaf,MAAMe,WAAW;QAC9BC,cAAc,AAACX,CAAAA,6BAA6BJ,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAagB,YAAY,AAAD,MAAO,IAAI,IAAIZ,+BAA+B,KAAK,IAAIA,6BAA6B,CAAC;QACrNa,UAAUlB,MAAMkB,QAAQ;IAC1B;IACA,MAAMC,aAAaC,IAAAA,6BAAa,EAACC,OAAMC,MAAM,CAAC,IAAI,GAAGb;IACrD,MAAMc,mBAAmBC,IAAAA,uCAAuB,EAAC;QAC/C,GAAGxB,KAAK;QACRM;QACAC;QACAC;QACAiB,eAAeN;QACfhB,oBAAoBF;IACtB;IACA,OAAO;QACL,GAAGsB,gBAAgB;QACnBG,YAAY;YACV,GAAGH,iBAAiBG,UAAU;YAC9BC,WAAW;QACb;QACAA,WAAWC,IAAAA,gCAAgB,EAAC5B,MAAM2B,SAAS,EAAE;YAC3CE,UAAU,IAAI;YACdC,cAAc;gBACZC,KAAKZ;YACP;QACF;IACF;AACF,EACA,2DAA2D"}
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 _useVirtualizerStyles = require("../Virtualizer/useVirtualizerStyles");
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
- ..._useVirtualizerStyles.virtualizerClassNames,
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, _useVirtualizerStyles.useVirtualizerStyles_unstable)(state);
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"}
@@ -2,6 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- //# sourceMappingURL=hooks.types.js.map
6
-
7
- //# sourceMappingURL=hooks.types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/hooks.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=hooks.types.js.map"],"names":[],"mappings":";;;;CACA,uCAAuC"}
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":["../../lib/hooks/index.js"],"sourcesContent":["export * from './useIntersectionObserver';\nexport * from './useVirtualizerMeasure';\nexport * from './useDynamicVirtualizerMeasure';\nexport * from './useResizeObserverRef';\nexport * from './hooks.types';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
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
- * 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);
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
- * This is how far we deviate into the bufferItems to detect a redraw.
46
- */ const bufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);
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
- }; //# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
106
-
107
- //# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
105
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/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 */\nexport const useDynamicVirtualizerMeasure = virtualizerProps => {\n const {\n defaultItemSize,\n direction = 'vertical',\n numItems,\n getItemSize,\n currentIndex\n } = 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 {\n virtualizerLength,\n virtualizerBufferItems,\n virtualizerBufferSize\n } = 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 */\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 */\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 }, [defaultItemSize, direction, getItemSize, numItems]);\n const resizeCallback = React.useCallback((_entries, _observer, scrollRef) => {\n if (scrollRef) {\n handleScrollResize(scrollRef);\n }\n }, [handleScrollResize]);\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 }, [getItemSize, currentIndex, direction, virtualizerLength, resizeCallback, handleScrollResize]);\n return {\n virtualizerLength,\n bufferItems: virtualizerBufferItems,\n bufferSize: virtualizerBufferSize,\n scrollRef\n };\n};\n//# sourceMappingURL=useDynamicVirtualizerMeasure.js.map"],"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":"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"}
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":"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"}
@@ -41,6 +41,4 @@ const useIntersectionObserver = (callback, options)=>{
41
41
  setObserverInit,
42
42
  observer
43
43
  };
44
- }; //# sourceMappingURL=useIntersectionObserver.js.map
45
-
46
- //# sourceMappingURL=useIntersectionObserver.js.map
44
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useIntersectionObserver.js"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nconst {\n useState,\n useRef\n} = 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 */\nexport 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 }, [observerList, observerInit, callback]);\n return {\n setObserverList,\n setObserverInit,\n observer\n };\n};\n//# sourceMappingURL=useIntersectionObserver.js.map"],"names":["useIntersectionObserver","useState","useRef","React","callback","options","observer","observerList","setObserverList","observerInit","setObserverInit","useIsomorphicLayoutEffect","current","IntersectionObserver","length","forEach","element","_observer_current","observe","disconnect"],"mappings":";;;;+BAeaA;;aAAAA;;;6DAfU;gCACmB;AAC1C,MAAM,EACJC,SAAQ,EACRC,OAAM,EACP,GAAGC;AAUG,MAAMH,0BAA0B,CAACI,UAAUC,UAAY;IAC5D,MAAMC,WAAWJ;IACjB,MAAM,CAACK,cAAcC,gBAAgB,GAAGP;IACxC,MAAM,CAACQ,cAAcC,gBAAgB,GAAGT,SAASI;IACjD,iEAAiE;IACjE,6DAA6D;IAC7DM,IAAAA,yCAAyB,EAAC,IAAM;QAC9BL,SAASM,OAAO,GAAG,IAAIC,qBAAqBT,UAAUK;QACtD,+EAA+E;QAC/E,IAAIH,SAASM,OAAO,IAAIL,gBAAgBA,aAAaO,MAAM,GAAG,GAAG;YAC/DP,aAAaQ,OAAO,CAACC,CAAAA,UAAW;gBAC9B,IAAIC;gBACHA,CAAAA,oBAAoBX,SAASM,OAAO,AAAD,MAAO,IAAI,IAAIK,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBC,OAAO,CAACF,QAAQ;YAC/H;QACF,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAM;YACX,IAAIV,SAASM,OAAO,EAAE;gBACpBN,SAASM,OAAO,CAACO,UAAU;YAC7B,CAAC;QACH;IACF,GAAG;QAACZ;QAAcE;QAAcL;KAAS;IACzC,OAAO;QACLI;QACAE;QACAJ;IACF;AACF,GACA,mDAAmD"}
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
- }; //# sourceMappingURL=useResizeObserverRef.js.map
50
-
51
- //# sourceMappingURL=useResizeObserverRef.js.map
51
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/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 */\nexport 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 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 }, [resizeCallback]);\n React.useEffect(() => {\n return () => {\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 }, [resizeObserver]);\n return scrollRef;\n};\n//# sourceMappingURL=useResizeObserverRef.js.map"],"names":["useResizeObserverRef_unstable","resizeCallback","container","React","useRef","handleResize","debounce","entries","observer","resizeObserver","setResizeObserver","useState","canUseDOM","ResizeObserver","undefined","useEffect","disconnect","scrollRef","useCallback","instance","current","unobserve","observe"],"mappings":";;;;+BAMaA;;aAAAA;;;6DANU;0BACE;gCACC;AAInB,MAAMA,gCAAgCC,CAAAA,iBAAkB;IAC7D,MAAMC,YAAYC,OAAMC,MAAM,CAAC,IAAI;IACnC,kCAAkC;IAClC,MAAMC,eAAeC,IAAAA,kBAAQ,EAAC,CAACC,SAASC,WAAa;QACnDP,eAAeM,SAASC,UAAUN;IACpC;IACA,uFAAuF;IACvF,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGP,OAAMQ,QAAQ,CAAC,IAAMC,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IAC3HX,OAAMY,SAAS,CAAC,IAAM;QACpB,+CAA+C;QAC/CN,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeO,UAAU,EAAE;QAC3FN,kBAAkBE,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IAC5E,uDAAuD;IACzD,GAAG;QAACb;KAAe;IACnBE,OAAMY,SAAS,CAAC,IAAM;QACpB,OAAO,IAAM;YACXN,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeO,UAAU,EAAE;QAC7F;IACA,uDAAuD;IACzD,GAAG,EAAE;IACL,MAAMC,YAAYd,OAAMe,WAAW,CAACC,CAAAA,WAAY;QAC9C,IAAIjB,UAAUkB,OAAO,KAAKD,UAAU;YAClC,IAAIjB,UAAUkB,OAAO,EAAE;gBACrBX,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeY,SAAS,CAACnB,UAAUkB,OAAO,CAAC;YAC7G,CAAC;YACDlB,UAAUkB,OAAO,GAAGD;YACpB,IAAIjB,UAAUkB,OAAO,EAAE;gBACrBX,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAea,OAAO,CAACpB,UAAUkB,OAAO,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,GAAG;QAACX;KAAe;IACnB,OAAOQ;AACT,GACA,gDAAgD"}
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
- * Number of items required to cover viewport.
27
- */ const length = Math.ceil(containerSize / defaultItemSize + 1);
26
+ * Number of items required to cover viewport.
27
+ */ const length = Math.ceil(containerSize / defaultItemSize + 1);
28
28
  /*
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);
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
- * This is how far we deviate into the bufferItems to detect a redraw.
33
- */ const newBufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);
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
- }; //# sourceMappingURL=useVirtualizerMeasure.js.map
52
-
53
- //# sourceMappingURL=useVirtualizerMeasure.js.map
51
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/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 */\nexport const useStaticVirtualizerMeasure = virtualizerProps => {\n const {\n defaultItemSize,\n direction = 'vertical'\n } = virtualizerProps;\n const [state, setState] = React.useState({\n virtualizerLength: 0,\n bufferSize: 0,\n bufferItems: 0\n });\n const {\n virtualizerLength,\n bufferItems,\n bufferSize\n } = 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 */\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 */\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 */\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 }, [defaultItemSize, direction]);\n const scrollRef = useResizeObserverRef_unstable(resizeCallback);\n return {\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollRef\n };\n};\n//# sourceMappingURL=useVirtualizerMeasure.js.map"],"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":";;;;+BAKaA;;aAAAA;;;6DALU;sCACuB;AAIvC,MAAMA,8BAA8BC,CAAAA,mBAAoB;IAC7D,MAAM,EACJC,gBAAe,EACfC,WAAY,WAAU,EACvB,GAAGF;IACJ,MAAM,CAACG,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;QACvCC,mBAAmB;QACnBC,YAAY;QACZC,aAAa;IACf;IACA,MAAM,EACJF,kBAAiB,EACjBE,YAAW,EACXD,WAAU,EACX,GAAGL;IACJ,MAAMO,iBAAiBL,OAAMM,WAAW,CAAC,CAACC,UAAUC,WAAWC,YAAc;QAC3E,IAAI,CAAEA,CAAAA,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUC,OAAO,AAAD,GAAI;YAC9E;QACF,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;;IAEA,GACA,MAAMC,SAASC,KAAKC,IAAI,CAACN,gBAAgBf,kBAAkB;QAC3D;;IAEA,GACA,MAAMsB,iBAAiBF,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAI;QACxD;;IAEA,GACA,MAAMM,gBAAgBL,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAInB,kBAAkB;QACzE,MAAM0B,cAAcP,SAASG,iBAAiB,IAAI;QAClDnB,SAAS;YACPG,mBAAmBoB;YACnBlB,aAAac;YACbf,YAAYkB;QACd;IACF,GAAG;QAACzB;QAAiBC;KAAU;IAC/B,MAAMY,YAAYc,IAAAA,mDAA6B,EAAClB;IAChD,OAAO;QACLH;QACAE;QACAD;QACAM;IACF;AACF,GACA,iDAAiD"}
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"}
@@ -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":["../lib/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 } 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//# sourceMappingURL=index.js.map"],"names":["Virtualizer","virtualizerClassNames","useVirtualizer_unstable","renderVirtualizer_unstable","useVirtualizerStyles_unstable","useIntersectionObserver","useStaticVirtualizerMeasure","useDynamicVirtualizerMeasure","useResizeObserverRef_unstable","VirtualizerContextProvider","useVirtualizerContext_unstable","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;IAC1DC,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;2BACvD;uCAC8G;8CACmC;CAC5N,iCAAiC"}
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,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -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
- * 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 : {
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
- }; //# sourceMappingURL=VirtualizerContext.js.map
47
-
48
- //# sourceMappingURL=VirtualizerContext.js.map
46
+ };