@fluentui/react-virtualizer 9.0.0-alpha.18 → 9.0.0-alpha.19

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 (94) hide show
  1. package/CHANGELOG.json +49 -2
  2. package/CHANGELOG.md +16 -3
  3. package/dist/index.d.ts +93 -10
  4. package/lib/Utilities.js +2 -0
  5. package/lib/Utilities.js.map +1 -0
  6. package/lib/VirtualizerScrollViewDynamic.js +2 -0
  7. package/lib/VirtualizerScrollViewDynamic.js.map +1 -0
  8. package/lib/components/Virtualizer/Virtualizer.types.js.map +1 -1
  9. package/lib/components/Virtualizer/renderVirtualizer.js +6 -0
  10. package/lib/components/Virtualizer/renderVirtualizer.js.map +1 -1
  11. package/lib/components/Virtualizer/useVirtualizer.js +35 -32
  12. package/lib/components/Virtualizer/useVirtualizer.js.map +1 -1
  13. package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js +2 -1
  14. package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +1 -1
  15. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +14 -0
  16. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -0
  17. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +2 -0
  18. package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -0
  19. package/lib/components/VirtualizerScrollViewDynamic/index.js +6 -0
  20. package/lib/components/VirtualizerScrollViewDynamic/index.js.map +1 -0
  21. package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +11 -0
  22. package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -0
  23. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +44 -0
  24. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -0
  25. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js +46 -0
  26. package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +1 -0
  27. package/lib/hooks/hooks.types.js +2 -0
  28. package/lib/hooks/hooks.types.js.map +1 -0
  29. package/lib/hooks/index.js +3 -0
  30. package/lib/hooks/index.js.map +1 -1
  31. package/lib/hooks/useDynamicVirtualizerMeasure.js +99 -0
  32. package/lib/hooks/useDynamicVirtualizerMeasure.js.map +1 -0
  33. package/lib/hooks/useResizeObserverRef.js +40 -0
  34. package/lib/hooks/useResizeObserverRef.js.map +1 -0
  35. package/lib/hooks/useVirtualizerMeasure.js +6 -29
  36. package/lib/hooks/useVirtualizerMeasure.js.map +1 -1
  37. package/lib/index.js +3 -1
  38. package/lib/index.js.map +1 -1
  39. package/lib/utilities/VirtualizerContext/VirtualizerContext.js +27 -0
  40. package/lib/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -0
  41. package/lib/utilities/VirtualizerContext/index.js +3 -0
  42. package/lib/utilities/VirtualizerContext/index.js.map +1 -0
  43. package/lib/utilities/VirtualizerContext/types.js +4 -0
  44. package/lib/utilities/VirtualizerContext/types.js.map +1 -0
  45. package/lib/utilities/index.js +2 -0
  46. package/lib/utilities/index.js.map +1 -0
  47. package/lib-commonjs/Utilities.js +9 -0
  48. package/lib-commonjs/Utilities.js.map +1 -0
  49. package/lib-commonjs/VirtualizerScrollViewDynamic.js +9 -0
  50. package/lib-commonjs/VirtualizerScrollViewDynamic.js.map +1 -0
  51. package/lib-commonjs/components/Virtualizer/renderVirtualizer.js +15 -3
  52. package/lib-commonjs/components/Virtualizer/renderVirtualizer.js.map +1 -1
  53. package/lib-commonjs/components/Virtualizer/useVirtualizer.js +35 -30
  54. package/lib-commonjs/components/Virtualizer/useVirtualizer.js.map +1 -1
  55. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js +2 -1
  56. package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +1 -1
  57. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +21 -0
  58. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -0
  59. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +7 -0
  60. package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -0
  61. package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js +13 -0
  62. package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js.map +1 -0
  63. package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +17 -0
  64. package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -0
  65. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +49 -0
  66. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -0
  67. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js +69 -0
  68. package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +1 -0
  69. package/lib-commonjs/hooks/hooks.types.js +7 -0
  70. package/lib-commonjs/hooks/hooks.types.js.map +1 -0
  71. package/lib-commonjs/hooks/index.js +3 -0
  72. package/lib-commonjs/hooks/index.js.map +1 -1
  73. package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js +107 -0
  74. package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js.map +1 -0
  75. package/lib-commonjs/hooks/useResizeObserverRef.js +51 -0
  76. package/lib-commonjs/hooks/useResizeObserverRef.js.map +1 -0
  77. package/lib-commonjs/hooks/useVirtualizerMeasure.js +7 -29
  78. package/lib-commonjs/hooks/useVirtualizerMeasure.js.map +1 -1
  79. package/lib-commonjs/index.js +12 -1
  80. package/lib-commonjs/index.js.map +1 -1
  81. package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js +48 -0
  82. package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -0
  83. package/lib-commonjs/utilities/VirtualizerContext/index.js +10 -0
  84. package/lib-commonjs/utilities/VirtualizerContext/index.js.map +1 -0
  85. package/lib-commonjs/utilities/VirtualizerContext/types.js +9 -0
  86. package/lib-commonjs/utilities/VirtualizerContext/types.js.map +1 -0
  87. package/lib-commonjs/utilities/index.js +9 -0
  88. package/lib-commonjs/utilities/index.js.map +1 -0
  89. package/package.json +4 -4
  90. package/.swcrc +0 -30
  91. package/lib/hooks/useVirtualizerMeasure.types.js +0 -2
  92. package/lib/hooks/useVirtualizerMeasure.types.js.map +0 -1
  93. package/lib-commonjs/hooks/useVirtualizerMeasure.types.js +0 -7
  94. package/lib-commonjs/hooks/useVirtualizerMeasure.types.js.map +0 -1
@@ -0,0 +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"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useVirtualizerScrollViewDynamic_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useVirtualizerScrollViewDynamic_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _reactUtilities = require("@fluentui/react-utilities");
12
+ const _useVirtualizer = require("../Virtualizer/useVirtualizer");
13
+ const _hooks = require("../../Hooks");
14
+ const _utilities = require("../../Utilities");
15
+ function useVirtualizerScrollViewDynamic_unstable(props) {
16
+ const contextState = (0, _utilities.useVirtualizerContextState_unstable)(props.virtualizerContext);
17
+ var _props_axis, _contextState_contextIndex;
18
+ const { virtualizerLength , bufferItems , bufferSize , scrollRef } = (0, _hooks.useDynamicVirtualizerMeasure)({
19
+ defaultItemSize: props.itemSize,
20
+ direction: (_props_axis = props.axis) !== null && _props_axis !== void 0 ? _props_axis : 'vertical',
21
+ getItemSize: props.getItemSize,
22
+ currentIndex: (_contextState_contextIndex = contextState === null || contextState === void 0 ? void 0 : contextState.contextIndex) !== null && _contextState_contextIndex !== void 0 ? _contextState_contextIndex : 0,
23
+ numItems: props.numItems
24
+ });
25
+ const iScrollRef = (0, _reactUtilities.useMergedRefs)(_react.useRef(null), scrollRef);
26
+ const virtualizerState = (0, _useVirtualizer.useVirtualizer_unstable)({
27
+ ...props,
28
+ virtualizerLength,
29
+ bufferItems,
30
+ bufferSize,
31
+ scrollViewRef: iScrollRef,
32
+ virtualizerContext: contextState
33
+ });
34
+ return {
35
+ ...virtualizerState,
36
+ components: {
37
+ ...virtualizerState.components,
38
+ container: 'div'
39
+ },
40
+ container: (0, _reactUtilities.resolveShorthand)(props.container, {
41
+ required: true,
42
+ defaultProps: {
43
+ ref: iScrollRef
44
+ }
45
+ })
46
+ };
47
+ } //# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
48
+
49
+ //# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
@@ -0,0 +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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ virtualizerScrollViewDynamicClassNames: ()=>virtualizerScrollViewDynamicClassNames,
13
+ useVirtualizerScrollViewDynamicStyles_unstable: ()=>useVirtualizerScrollViewDynamicStyles_unstable
14
+ });
15
+ const _useVirtualizerStyles = require("../Virtualizer/useVirtualizerStyles");
16
+ const _react = require("@griffel/react");
17
+ const virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic';
18
+ const virtualizerScrollViewDynamicClassNames = {
19
+ ..._useVirtualizerStyles.virtualizerClassNames,
20
+ container: `${virtualizerScrollViewDynamicClassName}__container`
21
+ };
22
+ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
23
+ base: {
24
+ mc9l5x: "f22iagw",
25
+ a9b677: "fly5x3f",
26
+ Bqenvij: "f1l02sjl",
27
+ Eiaeu8: "f1115ve7"
28
+ },
29
+ vertical: {
30
+ Beiy3e4: "f1vx9l62",
31
+ Bmxbyg5: "f5zp4f"
32
+ },
33
+ horizontal: {
34
+ Beiy3e4: "f1063pyq",
35
+ B68tc82: "f1oy3dpc"
36
+ },
37
+ verticalReversed: {
38
+ Beiy3e4: "f1gkdon0",
39
+ Bmxbyg5: "f5zp4f"
40
+ },
41
+ horizontalReversed: {
42
+ Beiy3e4: "f1oztnx0",
43
+ B68tc82: "f1oy3dpc"
44
+ }
45
+ }, {
46
+ d: [
47
+ ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}",
48
+ ".fly5x3f{width:100%;}",
49
+ ".f1l02sjl{height:100%;}",
50
+ ".f1115ve7{overflow-anchor:none;}",
51
+ ".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}",
52
+ ".f5zp4f{overflow-y:auto;}",
53
+ ".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}",
54
+ ".f1oy3dpc{overflow-x:auto;}",
55
+ ".f1gkdon0{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}",
56
+ ".f1oztnx0{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}"
57
+ ]
58
+ });
59
+ const useVirtualizerScrollViewDynamicStyles_unstable = (state)=>{
60
+ const styles = useStyles();
61
+ // Default virtualizer styles base
62
+ (0, _useVirtualizerStyles.useVirtualizerStyles_unstable)(state);
63
+ const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;
64
+ // Add container styles
65
+ state.container.className = (0, _react.mergeClasses)(virtualizerScrollViewDynamicClassNames.container, styles.base, containerStyle, state.container.className);
66
+ return state;
67
+ }; //# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
68
+
69
+ //# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js"],"sourcesContent":["import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles';\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.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;;sCApCwD;uBAC9B;AACvC,MAAMC,wCAAwC;AACvC,MAAMF,yCAAyC;IACpD,GAAGG,2CAAqB;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,mDAA6B,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,iEAAiE"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ //# sourceMappingURL=hooks.types.js.map
6
+
7
+ //# sourceMappingURL=hooks.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../lib/hooks/hooks.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=hooks.types.js.map"],"names":[],"mappings":";;;;CACA,uCAAuC"}
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./useIntersectionObserver"), exports);
7
7
  _exportStar(require("./useVirtualizerMeasure"), exports);
8
+ _exportStar(require("./useDynamicVirtualizerMeasure"), exports);
9
+ _exportStar(require("./useResizeObserverRef"), exports);
10
+ _exportStar(require("./hooks.types"), exports);
8
11
  //# sourceMappingURL=index.js.map
9
12
 
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/index.js"],"sourcesContent":["export * from './useIntersectionObserver';\nexport * from './useVirtualizerMeasure';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;CACd,iCAAiC"}
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"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useDynamicVirtualizerMeasure", {
6
+ enumerable: true,
7
+ get: ()=>useDynamicVirtualizerMeasure
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _reactUtilities = require("@fluentui/react-utilities");
11
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
12
+ const _useResizeObserverRef = require("./useResizeObserverRef");
13
+ const useDynamicVirtualizerMeasure = (virtualizerProps)=>{
14
+ const { defaultItemSize , direction ='vertical' , numItems , getItemSize , currentIndex } = virtualizerProps;
15
+ const indexRef = (0, _react.useRef)(currentIndex);
16
+ indexRef.current = currentIndex;
17
+ const [state, setState] = _react.useState({
18
+ virtualizerLength: 0,
19
+ virtualizerBufferItems: 0,
20
+ virtualizerBufferSize: 0
21
+ });
22
+ const { virtualizerLength , virtualizerBufferItems , virtualizerBufferSize } = state;
23
+ const container = _react.useRef(null);
24
+ const handleScrollResize = _react.useCallback((scrollRef)=>{
25
+ if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {
26
+ // Error? ignore?
27
+ return;
28
+ }
29
+ if (scrollRef.current !== container.current) {
30
+ container.current = scrollRef.current;
31
+ }
32
+ const containerSize = direction === 'vertical' ? scrollRef.current.getBoundingClientRect().height : scrollRef.current.getBoundingClientRect().width;
33
+ let indexSizer = 0;
34
+ let length = 0;
35
+ while(indexSizer <= containerSize && length < numItems){
36
+ const iItemSize = getItemSize(indexRef.current + length);
37
+ // Increment
38
+ indexSizer += iItemSize;
39
+ length++;
40
+ }
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);
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);
47
+ const totalLength = length + bufferItems * 2 + 3;
48
+ setState({
49
+ virtualizerLength: totalLength,
50
+ virtualizerBufferSize: bufferSize,
51
+ virtualizerBufferItems: bufferItems
52
+ });
53
+ }, [
54
+ defaultItemSize,
55
+ direction,
56
+ getItemSize,
57
+ numItems
58
+ ]);
59
+ const resizeCallback = _react.useCallback((_entries, _observer, scrollRef)=>{
60
+ if (scrollRef) {
61
+ handleScrollResize(scrollRef);
62
+ }
63
+ }, [
64
+ handleScrollResize
65
+ ]);
66
+ const scrollRef = (0, _useResizeObserverRef.useResizeObserverRef_unstable)(resizeCallback);
67
+ (0, _reactUtilities.useIsomorphicLayoutEffect)(()=>{
68
+ var _container_current, _container_current1;
69
+ if (!container.current) {
70
+ return;
71
+ }
72
+ 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;
73
+ let couldBeSmaller = false;
74
+ let recheckTotal = 0;
75
+ for(let i = currentIndex; i < currentIndex + virtualizerLength; i++){
76
+ const newItemSize = getItemSize(i);
77
+ recheckTotal += newItemSize;
78
+ const newLength = i - currentIndex;
79
+ const bufferItems = Math.max(Math.floor(newLength / 4), 2);
80
+ const totalNewLength = newLength + bufferItems * 2 + 4;
81
+ const compareLengths = totalNewLength < virtualizerLength;
82
+ if (recheckTotal > containerSize && compareLengths) {
83
+ couldBeSmaller = true;
84
+ break;
85
+ }
86
+ }
87
+ // Check if the render has caused us to need a re-calc of virtualizer length
88
+ if (recheckTotal < containerSize || couldBeSmaller) {
89
+ handleScrollResize(container);
90
+ }
91
+ }, [
92
+ getItemSize,
93
+ currentIndex,
94
+ direction,
95
+ virtualizerLength,
96
+ resizeCallback,
97
+ handleScrollResize
98
+ ]);
99
+ return {
100
+ virtualizerLength,
101
+ bufferItems: virtualizerBufferItems,
102
+ bufferSize: virtualizerBufferSize,
103
+ scrollRef
104
+ };
105
+ }; //# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
106
+
107
+ //# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
@@ -0,0 +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":";;;;+BAOaA;;aAAAA;;;gCAP6B;6DACnB;sCACuB;AAKvC,MAAMA,+BAA+BC,CAAAA,mBAAoB;IAC9D,MAAM,EACJC,gBAAe,EACfC,WAAY,WAAU,EACtBC,SAAQ,EACRC,YAAW,EACXC,aAAY,EACb,GAAGL;IACJ,MAAMM,WAAWC,IAAAA,aAAM,EAACF;IACxBC,SAASE,OAAO,GAAGH;IACnB,MAAM,CAACI,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;QACvCC,mBAAmB;QACnBC,wBAAwB;QACxBC,uBAAuB;IACzB;IACA,MAAM,EACJF,kBAAiB,EACjBC,uBAAsB,EACtBC,sBAAqB,EACtB,GAAGN;IACJ,MAAMO,YAAYL,OAAMJ,MAAM,CAAC,IAAI;IACnC,MAAMU,qBAAqBN,OAAMO,WAAW,CAACC,CAAAA,YAAa;QACxD,IAAI,CAAEA,CAAAA,cAAc,IAAI,IAAIA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUX,OAAO,AAAD,GAAI;YAC9E,iBAAiB;YACjB;QACF,CAAC;QACD,IAAIW,UAAUX,OAAO,KAAKQ,UAAUR,OAAO,EAAE;YAC3CQ,UAAUR,OAAO,GAAGW,UAAUX,OAAO;QACvC,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,MAAOD,cAAcJ,iBAAiBK,SAAStB,SAAU;YACvD,MAAMuB,YAAYtB,YAAYE,SAASE,OAAO,GAAGiB;YACjD,YAAY;YACZD,cAAcE;YACdD;QACF;QACA;;IAEA,GACA,MAAME,cAAcC,KAAKC,GAAG,CAACD,KAAKE,KAAK,CAACL,SAAS,IAAI;QACrD;;IAEA,GACA,MAAMM,aAAaH,KAAKC,GAAG,CAACD,KAAKE,KAAK,CAACL,SAAS,IAAIxB,kBAAkB;QACtE,MAAM+B,cAAcP,SAASE,cAAc,IAAI;QAC/CjB,SAAS;YACPG,mBAAmBmB;YACnBjB,uBAAuBgB;YACvBjB,wBAAwBa;QAC1B;IACF,GAAG;QAAC1B;QAAiBC;QAAWE;QAAaD;KAAS;IACtD,MAAM8B,iBAAiBtB,OAAMO,WAAW,CAAC,CAACgB,UAAUC,WAAWhB,YAAc;QAC3E,IAAIA,WAAW;YACbF,mBAAmBE;QACrB,CAAC;IACH,GAAG;QAACF;KAAmB;IACvB,MAAME,YAAYiB,IAAAA,mDAA6B,EAACH;IAChDI,IAAAA,yCAAyB,EAAC,IAAM;QAC9B,IAAIC,oBAAoBC;QACxB,IAAI,CAACvB,UAAUR,OAAO,EAAE;YACtB;QACF,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,IAAK,IAAIC,IAAIrC,cAAcqC,IAAIrC,eAAeQ,mBAAmB6B,IAAK;YACpE,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;gBAClDN,iBAAiB,IAAI;gBACrB,KAAM;YACR,CAAC;QACH;QACA,4EAA4E;QAC5E,IAAIC,eAAerB,iBAAiBoB,gBAAgB;YAClDvB,mBAAmBD;QACrB,CAAC;IACH,GAAG;QAACZ;QAAaC;QAAcH;QAAWW;QAAmBoB;QAAgBhB;KAAmB;IAChG,OAAO;QACLJ;QACAc,aAAab;QACbiB,YAAYhB;QACZI;IACF;AACF,GACA,wDAAwD"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useResizeObserverRef_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useResizeObserverRef_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _debounce = require("../utilities/debounce");
12
+ const _reactUtilities = require("@fluentui/react-utilities");
13
+ const useResizeObserverRef_unstable = (resizeCallback)=>{
14
+ const container = _react.useRef(null);
15
+ // the handler for resize observer
16
+ const handleResize = (0, _debounce.debounce)((entries, observer)=>{
17
+ resizeCallback(entries, observer, container);
18
+ });
19
+ // Keep the reference of ResizeObserver in the state, as it should live through renders
20
+ const [resizeObserver, setResizeObserver] = _react.useState(()=>(0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
21
+ _react.useEffect(()=>{
22
+ // Update our state when resizeCallback changes
23
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
24
+ setResizeObserver((0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ }, [
27
+ resizeCallback
28
+ ]);
29
+ _react.useEffect(()=>{
30
+ return ()=>{
31
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
32
+ };
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ }, []);
35
+ const scrollRef = _react.useCallback((instance)=>{
36
+ if (container.current !== instance) {
37
+ if (container.current) {
38
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);
39
+ }
40
+ container.current = instance;
41
+ if (container.current) {
42
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);
43
+ }
44
+ }
45
+ }, [
46
+ resizeObserver
47
+ ]);
48
+ return scrollRef;
49
+ }; //# sourceMappingURL=useResizeObserverRef.js.map
50
+
51
+ //# sourceMappingURL=useResizeObserverRef.js.map
@@ -0,0 +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"}
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "useStaticVirtualizerMeasure", {
8
8
  });
9
9
  const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
10
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
- const _reactUtilities = require("@fluentui/react-utilities");
12
- const _debounce = require("../utilities/debounce");
11
+ const _useResizeObserverRef = require("./useResizeObserverRef");
13
12
  const useStaticVirtualizerMeasure = (virtualizerProps)=>{
14
13
  const { defaultItemSize , direction ='vertical' } = virtualizerProps;
15
14
  const [state, setState] = _react.useState({
@@ -18,13 +17,11 @@ const useStaticVirtualizerMeasure = (virtualizerProps)=>{
18
17
  bufferItems: 0
19
18
  });
20
19
  const { virtualizerLength , bufferItems , bufferSize } = state;
21
- // The ref the user sets on their scrollView - Defaults to document.body to ensure no null on init
22
- const container = _react.useRef(null);
23
- const resizeCallback = ()=>{
24
- if (!container.current) {
20
+ const resizeCallback = _react.useCallback((_entries, _observer, scrollRef)=>{
21
+ if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {
25
22
  return;
26
23
  }
27
- const containerSize = direction === 'vertical' ? container.current.getBoundingClientRect().height : container.current.getBoundingClientRect().width;
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;
28
25
  /*
29
26
  * Number of items required to cover viewport.
30
27
  */ const length = Math.ceil(containerSize / defaultItemSize + 1);
@@ -40,30 +37,11 @@ const useStaticVirtualizerMeasure = (virtualizerProps)=>{
40
37
  bufferItems: newBufferItems,
41
38
  bufferSize: newBufferSize
42
39
  });
43
- };
44
- // the handler for resize observer
45
- const handleResize = (0, _debounce.debounce)(resizeCallback);
46
- // Keep the reference of ResizeObserver in the state, as it should live through renders
47
- const [resizeObserver] = _react.useState((0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
48
- _react.useEffect(()=>{
49
- return ()=>{
50
- resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
51
- };
52
- // eslint-disable-next-line react-hooks/exhaustive-deps
53
- }, []);
54
- const scrollRef = _react.useCallback((el)=>{
55
- if (container.current !== el) {
56
- if (container.current) {
57
- resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);
58
- }
59
- container.current = el;
60
- if (container.current) {
61
- resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);
62
- }
63
- }
64
40
  }, [
65
- resizeObserver
41
+ defaultItemSize,
42
+ direction
66
43
  ]);
44
+ const scrollRef = (0, _useResizeObserverRef.useResizeObserverRef_unstable)(resizeCallback);
67
45
  return {
68
46
  virtualizerLength,
69
47
  bufferItems,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useVirtualizerMeasure.js"],"sourcesContent":["import * as React from 'react';\nimport { canUseDOM } from '@fluentui/react-utilities';\nimport { debounce } from '../utilities/debounce';\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 // The ref the user sets on their scrollView - Defaults to document.body to ensure no null on init\n const container = React.useRef(null);\n const resizeCallback = () => {\n if (!container.current) {\n return;\n }\n const containerSize = direction === 'vertical' ? container.current.getBoundingClientRect().height : container.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 };\n // the handler for resize observer\n const handleResize = debounce(resizeCallback);\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\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(el => {\n if (container.current !== el) {\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);\n }\n container.current = el;\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);\n }\n }\n }, [resizeObserver]);\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","container","useRef","resizeCallback","current","containerSize","getBoundingClientRect","height","width","length","Math","ceil","newBufferItems","max","floor","newBufferSize","totalLength","handleResize","debounce","resizeObserver","canUseDOM","ResizeObserver","undefined","useEffect","disconnect","scrollRef","useCallback","el","unobserve","observe"],"mappings":";;;;+BAMaA;;aAAAA;;;6DANU;gCACG;0BACD;AAIlB,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,kGAAkG;IAClG,MAAMO,YAAYL,OAAMM,MAAM,CAAC,IAAI;IACnC,MAAMC,iBAAiB,IAAM;QAC3B,IAAI,CAACF,UAAUG,OAAO,EAAE;YACtB;QACF,CAAC;QACD,MAAMC,gBAAgBZ,cAAc,aAAaQ,UAAUG,OAAO,CAACE,qBAAqB,GAAGC,MAAM,GAAGN,UAAUG,OAAO,CAACE,qBAAqB,GAAGE,KAAK;QACnJ;;IAEA,GACA,MAAMC,SAASC,KAAKC,IAAI,CAACN,gBAAgBb,kBAAkB;QAC3D;;IAEA,GACA,MAAMoB,iBAAiBF,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAI;QACxD;;IAEA,GACA,MAAMM,gBAAgBL,KAAKG,GAAG,CAACH,KAAKI,KAAK,CAACL,SAAS,IAAIjB,kBAAkB;QACzE,MAAMwB,cAAcP,SAASG,iBAAiB,IAAI;QAClDjB,SAAS;YACPG,mBAAmBkB;YACnBhB,aAAaY;YACbb,YAAYgB;QACd;IACF;IACA,kCAAkC;IAClC,MAAME,eAAeC,IAAAA,kBAAQ,EAACf;IAC9B,uFAAuF;IACvF,MAAM,CAACgB,eAAe,GAAGvB,OAAMC,QAAQ,CAACuB,IAAAA,yBAAS,MAAK,IAAIC,eAAeJ,gBAAgBK,SAAS;IAClG1B,OAAM2B,SAAS,CAAC,IAAM;QACpB,OAAO,IAAM;YACXJ,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeK,UAAU,EAAE;QAC7F;IACA,uDAAuD;IACzD,GAAG,EAAE;IACL,MAAMC,YAAY7B,OAAM8B,WAAW,CAACC,CAAAA,KAAM;QACxC,IAAI1B,UAAUG,OAAO,KAAKuB,IAAI;YAC5B,IAAI1B,UAAUG,OAAO,EAAE;gBACrBe,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeS,SAAS,CAAC3B,UAAUG,OAAO,CAAC;YAC7G,CAAC;YACDH,UAAUG,OAAO,GAAGuB;YACpB,IAAI1B,UAAUG,OAAO,EAAE;gBACrBe,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeU,OAAO,CAAC5B,UAAUG,OAAO,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,GAAG;QAACe;KAAe;IACnB,OAAO;QACLrB;QACAE;QACAD;QACA0B;IACF;AACF,GACA,iDAAiD"}
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"}
@@ -16,15 +16,26 @@ _export(exports, {
16
16
  useVirtualizerStyles_unstable: ()=>_virtualizer.useVirtualizerStyles_unstable,
17
17
  useIntersectionObserver: ()=>_hooks.useIntersectionObserver,
18
18
  useStaticVirtualizerMeasure: ()=>_hooks.useStaticVirtualizerMeasure,
19
+ useDynamicVirtualizerMeasure: ()=>_hooks.useDynamicVirtualizerMeasure,
20
+ useResizeObserverRef_unstable: ()=>_hooks.useResizeObserverRef_unstable,
21
+ VirtualizerContextProvider: ()=>_utilities.VirtualizerContextProvider,
22
+ useVirtualizerContext_unstable: ()=>_utilities.useVirtualizerContext_unstable,
19
23
  VirtualizerScrollView: ()=>_virtualizerScrollView.VirtualizerScrollView,
20
24
  virtualizerScrollViewClassNames: ()=>_virtualizerScrollView.virtualizerScrollViewClassNames,
21
25
  useVirtualizerScrollView_unstable: ()=>_virtualizerScrollView.useVirtualizerScrollView_unstable,
22
26
  renderVirtualizerScrollView_unstable: ()=>_virtualizerScrollView.renderVirtualizerScrollView_unstable,
23
- useVirtualizerScrollViewStyles_unstable: ()=>_virtualizerScrollView.useVirtualizerScrollViewStyles_unstable
27
+ useVirtualizerScrollViewStyles_unstable: ()=>_virtualizerScrollView.useVirtualizerScrollViewStyles_unstable,
28
+ VirtualizerScrollViewDynamic: ()=>_virtualizerScrollViewDynamic.VirtualizerScrollViewDynamic,
29
+ virtualizerScrollViewDynamicClassNames: ()=>_virtualizerScrollViewDynamic.virtualizerScrollViewDynamicClassNames,
30
+ useVirtualizerScrollViewDynamic_unstable: ()=>_virtualizerScrollViewDynamic.useVirtualizerScrollViewDynamic_unstable,
31
+ renderVirtualizerScrollViewDynamic_unstable: ()=>_virtualizerScrollViewDynamic.renderVirtualizerScrollViewDynamic_unstable,
32
+ useVirtualizerScrollViewDynamicStyles_unstable: ()=>_virtualizerScrollViewDynamic.useVirtualizerScrollViewDynamicStyles_unstable
24
33
  });
25
34
  const _virtualizer = require("./Virtualizer");
26
35
  const _hooks = require("./Hooks");
36
+ const _utilities = require("./Utilities");
27
37
  const _virtualizerScrollView = require("./VirtualizerScrollView");
38
+ const _virtualizerScrollViewDynamic = require("./VirtualizerScrollViewDynamic");
28
39
  //# sourceMappingURL=index.js.map
29
40
 
30
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 } from './Hooks';\nexport { VirtualizerScrollView, virtualizerScrollViewClassNames, useVirtualizerScrollView_unstable, renderVirtualizerScrollView_unstable, useVirtualizerScrollViewStyles_unstable } from './VirtualizerScrollView';\n//# sourceMappingURL=index.js.map"],"names":["Virtualizer","virtualizerClassNames","useVirtualizer_unstable","renderVirtualizer_unstable","useVirtualizerStyles_unstable","useIntersectionObserver","useStaticVirtualizerMeasure","VirtualizerScrollView","virtualizerScrollViewClassNames","useVirtualizerScrollView_unstable","renderVirtualizerScrollView_unstable","useVirtualizerScrollViewStyles_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;IACpDC,qBAAqB,MAArBA,4CAAqB;IAAEC,+BAA+B,MAA/BA,sDAA+B;IAAEC,iCAAiC,MAAjCA,wDAAiC;IAAEC,oCAAoC,MAApCA,2DAAoC;IAAEC,uCAAuC,MAAvCA,8DAAuC;;6BAF1C;uBAClE;uCACoH;CACzL,iCAAiC"}
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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ VirtualizerContextProvider: ()=>VirtualizerContextProvider,
13
+ useVirtualizerContext_unstable: ()=>useVirtualizerContext_unstable,
14
+ useVirtualizerContextState_unstable: ()=>useVirtualizerContextState_unstable
15
+ });
16
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
17
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
18
+ const VirtualizerContext = /*#__PURE__*/ _react.createContext(undefined);
19
+ const VirtualizerContextProvider = VirtualizerContext.Provider;
20
+ const useVirtualizerContext_unstable = ()=>{
21
+ return _react.useContext(VirtualizerContext);
22
+ };
23
+ const useVirtualizerContextState_unstable = (passedContext)=>{
24
+ const virtualizerContext = useVirtualizerContext_unstable();
25
+ const [_contextIndex, _setContextIndex] = (0, _react.useState)(-1);
26
+ var _ref;
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 : {
30
+ contextIndex: _contextIndex,
31
+ setContextIndex: _setContextIndex
32
+ }, [
33
+ _contextIndex,
34
+ passedContext,
35
+ virtualizerContext
36
+ ]);
37
+ const context = (0, _react.useMemo)(()=>{
38
+ return {
39
+ contextIndex: _context.contextIndex,
40
+ setContextIndex: _context.setContextIndex
41
+ };
42
+ }, [
43
+ _context
44
+ ]);
45
+ return context;
46
+ }; //# sourceMappingURL=VirtualizerContext.js.map
47
+
48
+ //# sourceMappingURL=VirtualizerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/utilities/VirtualizerContext/VirtualizerContext.js"],"sourcesContent":["import * as React from 'react';\nimport { useMemo, useState } from 'react';\nconst VirtualizerContext = /*#__PURE__*/React.createContext(undefined);\nexport const VirtualizerContextProvider = VirtualizerContext.Provider;\nexport const useVirtualizerContext_unstable = () => {\n return React.useContext(VirtualizerContext);\n};\nexport const useVirtualizerContextState_unstable = passedContext => {\n const virtualizerContext = useVirtualizerContext_unstable();\n const [_contextIndex, _setContextIndex] = useState(-1);\n var _ref;\n /* We respect any wrapped providers while also ensuring defaults or passed through\n * Order of usage -> Passed Prop -> Provider Context -> Internal State default\n */\n const _context = useMemo(() => (_ref = passedContext !== null && passedContext !== void 0 ? passedContext : virtualizerContext) !== null && _ref !== void 0 ? _ref : {\n contextIndex: _contextIndex,\n setContextIndex: _setContextIndex\n }, [_contextIndex, passedContext, virtualizerContext]);\n const context = useMemo(() => {\n return {\n contextIndex: _context.contextIndex,\n setContextIndex: _context.setContextIndex\n };\n }, [_context]);\n return context;\n};\n//# sourceMappingURL=VirtualizerContext.js.map"],"names":["VirtualizerContextProvider","useVirtualizerContext_unstable","useVirtualizerContextState_unstable","VirtualizerContext","React","createContext","undefined","Provider","useContext","passedContext","virtualizerContext","_contextIndex","_setContextIndex","useState","_ref","_context","useMemo","contextIndex","setContextIndex","context"],"mappings":";;;;;;;;;;;IAGaA,0BAA0B,MAA1BA;IACAC,8BAA8B,MAA9BA;IAGAC,mCAAmC,MAAnCA;;;6DAPU;AAEvB,MAAMC,qBAAqB,WAAW,GAAEC,OAAMC,aAAa,CAACC;AACrD,MAAMN,6BAA6BG,mBAAmBI,QAAQ;AAC9D,MAAMN,iCAAiC,IAAM;IAClD,OAAOG,OAAMI,UAAU,CAACL;AAC1B;AACO,MAAMD,sCAAsCO,CAAAA,gBAAiB;IAClE,MAAMC,qBAAqBT;IAC3B,MAAM,CAACU,eAAeC,iBAAiB,GAAGC,IAAAA,eAAQ,EAAC,CAAC;IACpD,IAAIC;IACJ;;EAEA,GACA,MAAMC,WAAWC,IAAAA,cAAO,EAAC,IAAM,AAACF,CAAAA,OAAOL,kBAAkB,IAAI,IAAIA,kBAAkB,KAAK,IAAIA,gBAAgBC,kBAAkB,AAAD,MAAO,IAAI,IAAII,SAAS,KAAK,IAAIA,OAAO;YACnKG,cAAcN;YACdO,iBAAiBN;QACnB,CAAC,EAAE;QAACD;QAAeF;QAAeC;KAAmB;IACrD,MAAMS,UAAUH,IAAAA,cAAO,EAAC,IAAM;QAC5B,OAAO;YACLC,cAAcF,SAASE,YAAY;YACnCC,iBAAiBH,SAASG,eAAe;QAC3C;IACF,GAAG;QAACH;KAAS;IACb,OAAOI;AACT,GACA,8CAA8C"}
@@ -0,0 +1,10 @@
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("./VirtualizerContext"), exports);
7
+ _exportStar(require("./types"), exports);
8
+ //# sourceMappingURL=index.js.map
9
+
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/utilities/VirtualizerContext/index.js"],"sourcesContent":["export * from './VirtualizerContext';\nexport * from './types';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;CACd,iCAAiC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * {@docCategory Virtualizer}
3
+ */ "use strict";
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ //# sourceMappingURL=types.js.map
8
+
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/utilities/VirtualizerContext/types.js"],"sourcesContent":["/**\n * {@docCategory Virtualizer}\n */export {};\n//# sourceMappingURL=types.js.map"],"names":[],"mappings":"AAAA;;CAEC;;;;CACD,iCAAiC"}
@@ -0,0 +1,9 @@
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("./VirtualizerContext"), exports);
7
+ //# sourceMappingURL=index.js.map
8
+
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../lib/utilities/index.js"],"sourcesContent":["export * from './VirtualizerContext';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,iCAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-virtualizer",
3
- "version": "9.0.0-alpha.18",
3
+ "version": "9.0.0-alpha.19",
4
4
  "description": "Generic and composable virtualizer framework built on browser intersection observer",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -26,13 +26,13 @@
26
26
  "devDependencies": {
27
27
  "@fluentui/eslint-plugin": "*",
28
28
  "@fluentui/react-conformance": "*",
29
- "@fluentui/react-conformance-griffel": "9.0.0-beta.20",
29
+ "@fluentui/react-conformance-griffel": "9.0.0-beta.21",
30
30
  "@fluentui/scripts-api-extractor": "*",
31
31
  "@fluentui/scripts-tasks": "*"
32
32
  },
33
33
  "dependencies": {
34
- "@fluentui/react-jsx-runtime": "9.0.0-alpha.2",
35
- "@fluentui/react-utilities": "^9.8.0",
34
+ "@fluentui/react-jsx-runtime": "9.0.0-alpha.3",
35
+ "@fluentui/react-utilities": "^9.8.1",
36
36
  "@griffel/react": "^1.5.2",
37
37
  "@swc/helpers": "^0.4.14"
38
38
  },