@fluentui/react-virtualizer 9.0.0-alpha.52 → 9.0.0-alpha.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "@fluentui/react-virtualizer",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 18 Oct 2023 17:47:37 GMT",
5
+ "date": "Mon, 23 Oct 2023 09:48:56 GMT",
6
+ "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.53",
7
+ "version": "9.0.0-alpha.53",
8
+ "comments": {
9
+ "prerelease": [
10
+ {
11
+ "author": "lingfangao@hotmail.com",
12
+ "package": "@fluentui/react-virtualizer",
13
+ "commit": "17dbeb93ab542e982942aef91ce3747acc8053c4",
14
+ "comment": "fix: use targetDocument resize observer"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Wed, 18 Oct 2023 17:54:08 GMT",
6
21
  "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.52",
7
22
  "version": "9.0.0-alpha.52",
8
23
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,21 @@
1
1
  # Change Log - @fluentui/react-virtualizer
2
2
 
3
- This log was last generated on Wed, 18 Oct 2023 17:47:37 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 23 Oct 2023 09:48:56 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.0.0-alpha.53](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.53)
8
+
9
+ Mon, 23 Oct 2023 09:48:56 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.52..@fluentui/react-virtualizer_v9.0.0-alpha.53)
11
+
12
+ ### Changes
13
+
14
+ - fix: use targetDocument resize observer ([PR #29551](https://github.com/microsoft/fluentui/pull/29551) by lingfangao@hotmail.com)
15
+
7
16
  ## [9.0.0-alpha.52](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.52)
8
17
 
9
- Wed, 18 Oct 2023 17:47:37 GMT
18
+ Wed, 18 Oct 2023 17:54:08 GMT
10
19
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.51..@fluentui/react-virtualizer_v9.0.0-alpha.52)
11
20
 
12
21
  ### Changes
@@ -1,24 +1,27 @@
1
1
  import * as React from 'react';
2
+ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
2
3
  import { debounce } from '../utilities/debounce';
3
- import { canUseDOM } from '@fluentui/react-utilities';
4
+ import { createResizeObserverFromDocument } from '../utilities/createResizeObserverFromDocument';
4
5
  /**
5
6
  * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup
6
7
  */ export const useResizeObserverRef_unstable = (resizeCallback)=>{
8
+ const { targetDocument } = useFluent();
7
9
  const container = React.useRef(null);
8
10
  // the handler for resize observer
9
11
  const handleResize = debounce((entries, observer)=>{
10
12
  resizeCallback(entries, observer, container);
11
13
  });
12
14
  // Keep the reference of ResizeObserver in the state, as it should live through renders
13
- const [resizeObserver, setResizeObserver] = React.useState(()=>canUseDOM() ? new ResizeObserver(handleResize) : undefined);
15
+ const [resizeObserver, setResizeObserver] = React.useState(()=>createResizeObserverFromDocument(targetDocument, handleResize));
14
16
  React.useEffect(()=>{
15
17
  // Update our state when resizeCallback changes
16
18
  container.current = null;
17
19
  resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
18
- setResizeObserver(canUseDOM() ? new ResizeObserver(handleResize) : undefined);
20
+ setResizeObserver(()=>createResizeObserverFromDocument(targetDocument, handleResize));
19
21
  // eslint-disable-next-line react-hooks/exhaustive-deps
20
22
  }, [
21
- resizeCallback
23
+ resizeCallback,
24
+ targetDocument
22
25
  ]);
23
26
  React.useEffect(()=>{
24
27
  return ()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["useResizeObserverRef.ts"],"sourcesContent":["import * as React from 'react';\nimport { debounce } from '../utilities/debounce';\nimport { canUseDOM } from '@fluentui/react-utilities';\nimport { ResizeCallbackWithRef } from './hooks.types';\n\n/**\n * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup\n */\nexport const useResizeObserverRef_unstable = (resizeCallback: ResizeCallbackWithRef) => {\n const container = React.useRef<HTMLElement | null>(null);\n // the handler for resize observer\n const handleResize = debounce((entries: ResizeObserverEntry[], observer: ResizeObserver) => {\n resizeCallback(entries, observer, container);\n });\n\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver, setResizeObserver] = React.useState(() =>\n canUseDOM() ? new ResizeObserver(handleResize) : undefined,\n );\n\n React.useEffect(() => {\n // Update our state when resizeCallback changes\n container.current = null;\n resizeObserver?.disconnect();\n setResizeObserver(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resizeCallback]);\n\n React.useEffect(() => {\n return () => {\n container.current = null;\n resizeObserver?.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const scrollRef = React.useCallback(\n (instance: HTMLElement | HTMLDivElement | null) => {\n if (container.current !== instance) {\n if (container.current) {\n resizeObserver?.unobserve(container.current);\n }\n\n container.current = instance;\n if (container.current) {\n resizeObserver?.observe(container.current);\n }\n }\n },\n [resizeObserver],\n );\n\n return scrollRef;\n};\n"],"names":["React","debounce","canUseDOM","useResizeObserverRef_unstable","resizeCallback","container","useRef","handleResize","entries","observer","resizeObserver","setResizeObserver","useState","ResizeObserver","undefined","useEffect","current","disconnect","scrollRef","useCallback","instance","unobserve","observe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,QAAQ,QAAQ,wBAAwB;AACjD,SAASC,SAAS,QAAQ,4BAA4B;AAGtD;;CAEC,GACD,OAAO,MAAMC,gCAAgC,CAACC;IAC5C,MAAMC,YAAYL,MAAMM,MAAM,CAAqB;IACnD,kCAAkC;IAClC,MAAMC,eAAeN,SAAS,CAACO,SAAgCC;QAC7DL,eAAeI,SAASC,UAAUJ;IACpC;IAEA,uFAAuF;IACvF,MAAM,CAACK,gBAAgBC,kBAAkB,GAAGX,MAAMY,QAAQ,CAAC,IACzDV,cAAc,IAAIW,eAAeN,gBAAgBO;IAGnDd,MAAMe,SAAS,CAAC;QACd,+CAA+C;QAC/CV,UAAUW,OAAO,GAAG;QACpBN,2BAAAA,qCAAAA,eAAgBO,UAAU;QAC1BN,kBAAkBT,cAAc,IAAIW,eAAeN,gBAAgBO;IACnE,uDAAuD;IACzD,GAAG;QAACV;KAAe;IAEnBJ,MAAMe,SAAS,CAAC;QACd,OAAO;YACLV,UAAUW,OAAO,GAAG;YACpBN,2BAAAA,qCAAAA,eAAgBO,UAAU;QAC5B;IACA,uDAAuD;IACzD,GAAG,EAAE;IAEL,MAAMC,YAAYlB,MAAMmB,WAAW,CACjC,CAACC;QACC,IAAIf,UAAUW,OAAO,KAAKI,UAAU;YAClC,IAAIf,UAAUW,OAAO,EAAE;gBACrBN,2BAAAA,qCAAAA,eAAgBW,SAAS,CAAChB,UAAUW,OAAO;YAC7C;YAEAX,UAAUW,OAAO,GAAGI;YACpB,IAAIf,UAAUW,OAAO,EAAE;gBACrBN,2BAAAA,qCAAAA,eAAgBY,OAAO,CAACjB,UAAUW,OAAO;YAC3C;QACF;IACF,GACA;QAACN;KAAe;IAGlB,OAAOQ;AACT,EAAE"}
1
+ {"version":3,"sources":["useResizeObserverRef.ts"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { debounce } from '../utilities/debounce';\nimport { createResizeObserverFromDocument } from '../utilities/createResizeObserverFromDocument';\nimport { ResizeCallbackWithRef } from './hooks.types';\n\n/**\n * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup\n */\nexport const useResizeObserverRef_unstable = (resizeCallback: ResizeCallbackWithRef) => {\n const { targetDocument } = useFluent();\n const container = React.useRef<HTMLElement | null>(null);\n // the handler for resize observer\n const handleResize = debounce((entries: ResizeObserverEntry[], observer: ResizeObserver) => {\n resizeCallback(entries, observer, container);\n });\n\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver, setResizeObserver] = React.useState(() =>\n createResizeObserverFromDocument(targetDocument, handleResize),\n );\n\n React.useEffect(() => {\n // Update our state when resizeCallback changes\n container.current = null;\n resizeObserver?.disconnect();\n setResizeObserver(() => createResizeObserverFromDocument(targetDocument, handleResize));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resizeCallback, targetDocument]);\n\n React.useEffect(() => {\n return () => {\n container.current = null;\n resizeObserver?.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const scrollRef = React.useCallback(\n (instance: HTMLElement | HTMLDivElement | null) => {\n if (container.current !== instance) {\n if (container.current) {\n resizeObserver?.unobserve(container.current);\n }\n\n container.current = instance;\n if (container.current) {\n resizeObserver?.observe(container.current);\n }\n }\n },\n [resizeObserver],\n );\n\n return scrollRef;\n};\n"],"names":["React","useFluent_unstable","useFluent","debounce","createResizeObserverFromDocument","useResizeObserverRef_unstable","resizeCallback","targetDocument","container","useRef","handleResize","entries","observer","resizeObserver","setResizeObserver","useState","useEffect","current","disconnect","scrollRef","useCallback","instance","unobserve","observe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsBC,SAAS,QAAQ,kCAAkC;AAClF,SAASC,QAAQ,QAAQ,wBAAwB;AACjD,SAASC,gCAAgC,QAAQ,gDAAgD;AAGjG;;CAEC,GACD,OAAO,MAAMC,gCAAgC,CAACC;IAC5C,MAAM,EAAEC,cAAc,EAAE,GAAGL;IAC3B,MAAMM,YAAYR,MAAMS,MAAM,CAAqB;IACnD,kCAAkC;IAClC,MAAMC,eAAeP,SAAS,CAACQ,SAAgCC;QAC7DN,eAAeK,SAASC,UAAUJ;IACpC;IAEA,uFAAuF;IACvF,MAAM,CAACK,gBAAgBC,kBAAkB,GAAGd,MAAMe,QAAQ,CAAC,IACzDX,iCAAiCG,gBAAgBG;IAGnDV,MAAMgB,SAAS,CAAC;QACd,+CAA+C;QAC/CR,UAAUS,OAAO,GAAG;QACpBJ,2BAAAA,qCAAAA,eAAgBK,UAAU;QAC1BJ,kBAAkB,IAAMV,iCAAiCG,gBAAgBG;IACzE,uDAAuD;IACzD,GAAG;QAACJ;QAAgBC;KAAe;IAEnCP,MAAMgB,SAAS,CAAC;QACd,OAAO;YACLR,UAAUS,OAAO,GAAG;YACpBJ,2BAAAA,qCAAAA,eAAgBK,UAAU;QAC5B;IACA,uDAAuD;IACzD,GAAG,EAAE;IAEL,MAAMC,YAAYnB,MAAMoB,WAAW,CACjC,CAACC;QACC,IAAIb,UAAUS,OAAO,KAAKI,UAAU;YAClC,IAAIb,UAAUS,OAAO,EAAE;gBACrBJ,2BAAAA,qCAAAA,eAAgBS,SAAS,CAACd,UAAUS,OAAO;YAC7C;YAEAT,UAAUS,OAAO,GAAGI;YACpB,IAAIb,UAAUS,OAAO,EAAE;gBACrBJ,2BAAAA,qCAAAA,eAAgBU,OAAO,CAACf,UAAUS,OAAO;YAC3C;QACF;IACF,GACA;QAACJ;KAAe;IAGlB,OAAOM;AACT,EAAE"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar
3
+ * A utility method that creates a ResizeObserver from a target document
4
+ * @param targetDocument - document to use to create the ResizeObserver
5
+ * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback
6
+ * @returns a ResizeObserver instance or null if the global does not exist on the document
7
+ */ export function createResizeObserverFromDocument(targetDocument, callback) {
8
+ var _targetDocument_defaultView;
9
+ if (!(targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver)) {
10
+ return null;
11
+ }
12
+ return new targetDocument.defaultView.ResizeObserver(callback);
13
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createResizeObserverFromDocument.ts"],"sourcesContent":["/**\n * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar\n * A utility method that creates a ResizeObserver from a target document\n * @param targetDocument - document to use to create the ResizeObserver\n * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback\n * @returns a ResizeObserver instance or null if the global does not exist on the document\n */\nexport function createResizeObserverFromDocument(\n targetDocument: Document | null | undefined,\n callback: ResizeObserverCallback,\n) {\n if (!targetDocument?.defaultView?.ResizeObserver) {\n return null;\n }\n\n return new targetDocument.defaultView.ResizeObserver(callback);\n}\n"],"names":["createResizeObserverFromDocument","targetDocument","callback","defaultView","ResizeObserver"],"mappings":"AAAA;;;;;;CAMC,GACD,OAAO,SAASA,iCACdC,cAA2C,EAC3CC,QAAgC;QAE3BD;IAAL,IAAI,EAACA,2BAAAA,sCAAAA,8BAAAA,eAAgBE,WAAW,cAA3BF,kDAAAA,4BAA6BG,cAAc,GAAE;QAChD,OAAO;IACT;IAEA,OAAO,IAAIH,eAAeE,WAAW,CAACC,cAAc,CAACF;AACvD"}
@@ -10,24 +10,27 @@ Object.defineProperty(exports, "useResizeObserverRef_unstable", {
10
10
  });
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
13
14
  const _debounce = require("../utilities/debounce");
14
- const _reactutilities = require("@fluentui/react-utilities");
15
+ const _createResizeObserverFromDocument = require("../utilities/createResizeObserverFromDocument");
15
16
  const useResizeObserverRef_unstable = (resizeCallback)=>{
17
+ const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
16
18
  const container = _react.useRef(null);
17
19
  // the handler for resize observer
18
20
  const handleResize = (0, _debounce.debounce)((entries, observer)=>{
19
21
  resizeCallback(entries, observer, container);
20
22
  });
21
23
  // Keep the reference of ResizeObserver in the state, as it should live through renders
22
- const [resizeObserver, setResizeObserver] = _react.useState(()=>(0, _reactutilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
24
+ const [resizeObserver, setResizeObserver] = _react.useState(()=>(0, _createResizeObserverFromDocument.createResizeObserverFromDocument)(targetDocument, handleResize));
23
25
  _react.useEffect(()=>{
24
26
  // Update our state when resizeCallback changes
25
27
  container.current = null;
26
28
  resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
27
- setResizeObserver((0, _reactutilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
29
+ setResizeObserver(()=>(0, _createResizeObserverFromDocument.createResizeObserverFromDocument)(targetDocument, handleResize));
28
30
  // eslint-disable-next-line react-hooks/exhaustive-deps
29
31
  }, [
30
- resizeCallback
32
+ resizeCallback,
33
+ targetDocument
31
34
  ]);
32
35
  _react.useEffect(()=>{
33
36
  return ()=>{
@@ -1 +1 @@
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;;;eAAAA;;;;iEALM;0BACE;gCACC;AAGf,MAAMA,gCAAgC,CAACC;IAC9C,MAAMC,YAAYC,OAAMC,MAAM,CAAC;IAC/B,kCAAkC;IAClC,MAAMC,eAAeC,IAAAA,kBAAQ,EAAC,CAACC,SAASC;QACpCP,eAAeM,SAASC,UAAUN;IACtC;IACA,uFAAuF;IACvF,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGP,OAAMQ,QAAQ,CAAC,IAAIC,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS;IAChHX,OAAMY,SAAS,CAAC;QACZ,+CAA+C;QAC/Cb,UAAUc,OAAO,GAAG;QACpBP,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeQ,UAAU;QACzFP,kBAAkBE,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS;IACvE,uDAAuD;IACvD,GAAG;QACCb;KACH;IACDE,OAAMY,SAAS,CAAC;QACZ,OAAO;YACHb,UAAUc,OAAO,GAAG;YACpBP,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeQ,UAAU;QAC7F;IACJ,uDAAuD;IACvD,GAAG,EAAE;IACL,MAAMC,YAAYf,OAAMgB,WAAW,CAAC,CAACC;QACjC,IAAIlB,UAAUc,OAAO,KAAKI,UAAU;YAChC,IAAIlB,UAAUc,OAAO,EAAE;gBACnBP,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeY,SAAS,CAACnB,UAAUc,OAAO;YAC9G;YACAd,UAAUc,OAAO,GAAGI;YACpB,IAAIlB,UAAUc,OAAO,EAAE;gBACnBP,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAea,OAAO,CAACpB,UAAUc,OAAO;YAC5G;QACJ;IACJ,GAAG;QACCP;KACH;IACD,OAAOS;AACX"}
1
+ {"version":3,"sources":["useResizeObserverRef.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { debounce } from '../utilities/debounce';\nimport { createResizeObserverFromDocument } from '../utilities/createResizeObserverFromDocument';\n/**\n * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup\n */ export const useResizeObserverRef_unstable = (resizeCallback)=>{\n const { targetDocument } = useFluent();\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(()=>createResizeObserverFromDocument(targetDocument, handleResize));\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(()=>createResizeObserverFromDocument(targetDocument, handleResize));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n resizeCallback,\n targetDocument\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","targetDocument","useFluent","container","React","useRef","handleResize","debounce","entries","observer","resizeObserver","setResizeObserver","useState","createResizeObserverFromDocument","useEffect","current","disconnect","scrollRef","useCallback","instance","unobserve","observe"],"mappings":";;;;+BAMiBA;;;eAAAA;;;;iEANM;qCACyB;0BACvB;kDACwB;AAGtC,MAAMA,gCAAgC,CAACC;IAC9C,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,MAAMC,YAAYC,OAAMC,MAAM,CAAC;IAC/B,kCAAkC;IAClC,MAAMC,eAAeC,IAAAA,kBAAQ,EAAC,CAACC,SAASC;QACpCT,eAAeQ,SAASC,UAAUN;IACtC;IACA,uFAAuF;IACvF,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGP,OAAMQ,QAAQ,CAAC,IAAIC,IAAAA,kEAAgC,EAACZ,gBAAgBK;IAChHF,OAAMU,SAAS,CAAC;QACZ,+CAA+C;QAC/CX,UAAUY,OAAO,GAAG;QACpBL,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeM,UAAU;QACzFL,kBAAkB,IAAIE,IAAAA,kEAAgC,EAACZ,gBAAgBK;IAC3E,uDAAuD;IACvD,GAAG;QACCN;QACAC;KACH;IACDG,OAAMU,SAAS,CAAC;QACZ,OAAO;YACHX,UAAUY,OAAO,GAAG;YACpBL,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeM,UAAU;QAC7F;IACJ,uDAAuD;IACvD,GAAG,EAAE;IACL,MAAMC,YAAYb,OAAMc,WAAW,CAAC,CAACC;QACjC,IAAIhB,UAAUY,OAAO,KAAKI,UAAU;YAChC,IAAIhB,UAAUY,OAAO,EAAE;gBACnBL,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeU,SAAS,CAACjB,UAAUY,OAAO;YAC9G;YACAZ,UAAUY,OAAO,GAAGI;YACpB,IAAIhB,UAAUY,OAAO,EAAE;gBACnBL,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeW,OAAO,CAAClB,UAAUY,OAAO;YAC5G;QACJ;IACJ,GAAG;QACCL;KACH;IACD,OAAOO;AACX"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar
3
+ * A utility method that creates a ResizeObserver from a target document
4
+ * @param targetDocument - document to use to create the ResizeObserver
5
+ * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback
6
+ * @returns a ResizeObserver instance or null if the global does not exist on the document
7
+ */ "use strict";
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ Object.defineProperty(exports, "createResizeObserverFromDocument", {
12
+ enumerable: true,
13
+ get: function() {
14
+ return createResizeObserverFromDocument;
15
+ }
16
+ });
17
+ function createResizeObserverFromDocument(targetDocument, callback) {
18
+ var _targetDocument_defaultView;
19
+ if (!(targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver)) {
20
+ return null;
21
+ }
22
+ return new targetDocument.defaultView.ResizeObserver(callback);
23
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createResizeObserverFromDocument.js"],"sourcesContent":["/**\n * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar\n * A utility method that creates a ResizeObserver from a target document\n * @param targetDocument - document to use to create the ResizeObserver\n * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback\n * @returns a ResizeObserver instance or null if the global does not exist on the document\n */ export function createResizeObserverFromDocument(targetDocument, callback) {\n var _targetDocument_defaultView;\n if (!(targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver)) {\n return null;\n }\n return new targetDocument.defaultView.ResizeObserver(callback);\n}\n"],"names":["createResizeObserverFromDocument","targetDocument","callback","_targetDocument_defaultView","defaultView","ResizeObserver"],"mappings":"AAAA;;;;;;CAMC;;;;+BAAmBA;;;eAAAA;;;AAAT,SAASA,iCAAiCC,cAAc,EAAEC,QAAQ;IACzE,IAAIC;IACJ,IAAI,CAAEF,CAAAA,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAI,AAACE,CAAAA,8BAA8BF,eAAeG,WAAW,AAAD,MAAO,QAAQD,gCAAgC,KAAK,IAAI,KAAK,IAAIA,4BAA4BE,cAAc,AAAD,GAAI;QACxO,OAAO;IACX;IACA,OAAO,IAAIJ,eAAeG,WAAW,CAACC,cAAc,CAACH;AACzD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-virtualizer",
3
- "version": "9.0.0-alpha.52",
3
+ "version": "9.0.0-alpha.53",
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",
@@ -34,6 +34,7 @@
34
34
  "dependencies": {
35
35
  "@fluentui/react-jsx-runtime": "^9.0.18",
36
36
  "@fluentui/react-utilities": "^9.15.1",
37
+ "@fluentui/react-shared-contexts": "^9.10.0",
37
38
  "@griffel/react": "^1.5.14",
38
39
  "@swc/helpers": "^0.5.1"
39
40
  },