@react-stately/virtualizer 3.7.2-nightly.4649 → 3.7.2-nightly.4656

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 (55) hide show
  1. package/dist/Layout.main.js +2 -41
  2. package/dist/Layout.main.js.map +1 -1
  3. package/dist/Layout.mjs +2 -41
  4. package/dist/Layout.module.js +2 -41
  5. package/dist/Layout.module.js.map +1 -1
  6. package/dist/LayoutInfo.main.js.map +1 -1
  7. package/dist/LayoutInfo.module.js.map +1 -1
  8. package/dist/OverscanManager.main.js +8 -43
  9. package/dist/OverscanManager.main.js.map +1 -1
  10. package/dist/OverscanManager.mjs +8 -43
  11. package/dist/OverscanManager.module.js +8 -43
  12. package/dist/OverscanManager.module.js.map +1 -1
  13. package/dist/ReusableView.main.js +23 -0
  14. package/dist/ReusableView.main.js.map +1 -1
  15. package/dist/ReusableView.mjs +23 -0
  16. package/dist/ReusableView.module.js +23 -0
  17. package/dist/ReusableView.module.js.map +1 -1
  18. package/dist/Virtualizer.main.js +123 -710
  19. package/dist/Virtualizer.main.js.map +1 -1
  20. package/dist/Virtualizer.mjs +124 -711
  21. package/dist/Virtualizer.module.js +124 -711
  22. package/dist/Virtualizer.module.js.map +1 -1
  23. package/dist/types.d.ts +64 -225
  24. package/dist/types.d.ts.map +1 -1
  25. package/dist/useVirtualizerState.main.js +39 -40
  26. package/dist/useVirtualizerState.main.js.map +1 -1
  27. package/dist/useVirtualizerState.mjs +40 -41
  28. package/dist/useVirtualizerState.module.js +40 -41
  29. package/dist/useVirtualizerState.module.js.map +1 -1
  30. package/dist/utils.main.js +1 -27
  31. package/dist/utils.main.js.map +1 -1
  32. package/dist/utils.mjs +2 -26
  33. package/dist/utils.module.js +2 -26
  34. package/dist/utils.module.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/Layout.ts +10 -55
  37. package/src/LayoutInfo.ts +2 -2
  38. package/src/OverscanManager.ts +10 -47
  39. package/src/ReusableView.ts +36 -7
  40. package/src/Virtualizer.ts +163 -1058
  41. package/src/types.ts +16 -38
  42. package/src/useVirtualizerState.ts +40 -39
  43. package/src/utils.ts +0 -52
  44. package/dist/Transaction.main.js +0 -32
  45. package/dist/Transaction.main.js.map +0 -1
  46. package/dist/Transaction.mjs +0 -27
  47. package/dist/Transaction.module.js +0 -27
  48. package/dist/Transaction.module.js.map +0 -1
  49. package/dist/tween.main.js +0 -67
  50. package/dist/tween.main.js.map +0 -1
  51. package/dist/tween.mjs +0 -61
  52. package/dist/tween.module.js +0 -61
  53. package/dist/tween.module.js.map +0 -1
  54. package/src/Transaction.ts +0 -28
  55. package/src/tween.ts +0 -83
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Point.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Size.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Rect.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/LayoutInfo.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/tween.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/utils.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/OverscanManager.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/ReusableView.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Transaction.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Virtualizer.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Layout.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/types.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/useVirtualizerState.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/index.ts","packages/@react-stately/virtualizer/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport type {InvalidationContext} from './types';\nexport type {VirtualizerState} from './useVirtualizerState';\nexport type {RectCorner} from './Rect';\n\nexport {Layout} from './Layout';\nexport {LayoutInfo} from './LayoutInfo';\nexport {Point} from './Point';\nexport {Rect} from './Rect';\nexport {Size} from './Size';\nexport {ReusableView} from './ReusableView';\nexport {useVirtualizerState} from './useVirtualizerState';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Point.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Size.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Rect.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/LayoutInfo.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/utils.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/OverscanManager.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/ReusableView.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Virtualizer.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/Layout.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/types.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/useVirtualizerState.ts","packages/@react-stately/virtualizer/src/packages/@react-stately/virtualizer/src/index.ts","packages/@react-stately/virtualizer/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport type {InvalidationContext} from './types';\nexport type {VirtualizerState} from './useVirtualizerState';\nexport type {RectCorner} from './Rect';\n\nexport {Layout} from './Layout';\nexport {LayoutInfo} from './LayoutInfo';\nexport {Point} from './Point';\nexport {Rect} from './Rect';\nexport {Size} from './Size';\nexport {ReusableView} from './ReusableView';\nexport {useVirtualizerState} from './useVirtualizerState';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
@@ -1,4 +1,4 @@
1
- var $064492b79924894c$exports = require("./Size.main.js");
1
+ var $41b7691783731623$exports = require("./Rect.main.js");
2
2
  var $e1bc15d49d21df0e$exports = require("./Virtualizer.main.js");
3
3
  var $amfZP$react = require("react");
4
4
  var $amfZP$reactariautils = require("@react-aria/utils");
@@ -24,58 +24,58 @@ $parcel$export(module.exports, "useVirtualizerState", () => $f02ef43b5e8eee9b$ex
24
24
 
25
25
 
26
26
  function $f02ef43b5e8eee9b$export$1505db82fe357e65(opts) {
27
- let [visibleViews, setVisibleViews] = (0, $amfZP$react.useState)([]);
28
- let [contentSize, setContentSize] = (0, $amfZP$react.useState)(new (0, $064492b79924894c$exports.Size)());
29
- let [isAnimating, setAnimating] = (0, $amfZP$react.useState)(false);
27
+ let [visibleRect, setVisibleRect] = (0, $amfZP$react.useState)(new (0, $41b7691783731623$exports.Rect)(0, 0, 0, 0));
30
28
  let [isScrolling, setScrolling] = (0, $amfZP$react.useState)(false);
31
- let virtualizer = (0, $amfZP$react.useMemo)(()=>new (0, $e1bc15d49d21df0e$exports.Virtualizer)(), []);
32
- virtualizer.delegate = {
33
- setVisibleViews: setVisibleViews,
34
- setVisibleRect (rect) {
35
- virtualizer.visibleRect = rect;
36
- opts.onVisibleRectChange(rect);
37
- },
38
- setContentSize: setContentSize,
39
- renderView: opts.renderView,
40
- renderWrapper: opts.renderWrapper,
41
- beginAnimations: ()=>setAnimating(true),
42
- endAnimations: ()=>setAnimating(false),
43
- getScrollAnchor: opts.getScrollAnchor
44
- };
45
- virtualizer.layout = opts.layout;
46
- virtualizer.collection = opts.collection;
47
- virtualizer.transitionDuration = opts.transitionDuration;
29
+ let [invalidationContext, setInvalidationContext] = (0, $amfZP$react.useState)({});
30
+ let visibleRectChanged = (0, $amfZP$react.useRef)(false);
31
+ let [virtualizer] = (0, $amfZP$react.useState)(()=>new (0, $e1bc15d49d21df0e$exports.Virtualizer)({
32
+ setVisibleRect (rect) {
33
+ setVisibleRect(rect);
34
+ visibleRectChanged.current = true;
35
+ },
36
+ // TODO: should changing these invalidate the entire cache?
37
+ renderView: opts.renderView,
38
+ renderWrapper: opts.renderWrapper,
39
+ invalidate: setInvalidationContext
40
+ }));
41
+ // onVisibleRectChange must be called from an effect, not during render.
48
42
  (0, $amfZP$reactariautils.useLayoutEffect)(()=>{
49
- virtualizer.afterRender();
43
+ if (visibleRectChanged.current) {
44
+ visibleRectChanged.current = false;
45
+ opts.onVisibleRectChange(visibleRect);
46
+ }
50
47
  });
51
- // eslint-disable-next-line arrow-body-style
52
- (0, $amfZP$react.useEffect)(()=>{
53
- return ()=>virtualizer.willUnmount();
54
- // eslint-disable-next-line react-hooks/exhaustive-deps
55
- }, []);
56
- let setVisibleRect = (0, $amfZP$react.useCallback)((rect)=>{
57
- virtualizer.visibleRect = rect;
48
+ let mergedInvalidationContext = (0, $amfZP$react.useMemo)(()=>{
49
+ if (opts.layoutOptions != null) return {
50
+ ...invalidationContext,
51
+ layoutOptions: opts.layoutOptions
52
+ };
53
+ return invalidationContext;
58
54
  }, [
59
- virtualizer
55
+ invalidationContext,
56
+ opts.layoutOptions
60
57
  ]);
58
+ let visibleViews = virtualizer.render({
59
+ layout: opts.layout,
60
+ collection: opts.collection,
61
+ persistedKeys: opts.persistedKeys,
62
+ layoutOptions: opts.layoutOptions,
63
+ visibleRect: visibleRect,
64
+ invalidationContext: mergedInvalidationContext,
65
+ isScrolling: isScrolling
66
+ });
67
+ let contentSize = virtualizer.contentSize;
61
68
  let startScrolling = (0, $amfZP$react.useCallback)(()=>{
62
- virtualizer.startScrolling();
63
69
  setScrolling(true);
64
- }, [
65
- virtualizer
66
- ]);
70
+ }, []);
67
71
  let endScrolling = (0, $amfZP$react.useCallback)(()=>{
68
- virtualizer.endScrolling();
69
72
  setScrolling(false);
70
- }, [
71
- virtualizer
72
- ]);
73
+ }, []);
73
74
  let state = (0, $amfZP$react.useMemo)(()=>({
74
75
  virtualizer: virtualizer,
75
76
  visibleViews: visibleViews,
76
77
  setVisibleRect: setVisibleRect,
77
78
  contentSize: contentSize,
78
- isAnimating: isAnimating,
79
79
  isScrolling: isScrolling,
80
80
  startScrolling: startScrolling,
81
81
  endScrolling: endScrolling
@@ -84,7 +84,6 @@ function $f02ef43b5e8eee9b$export$1505db82fe357e65(opts) {
84
84
  visibleViews,
85
85
  setVisibleRect,
86
86
  contentSize,
87
- isAnimating,
88
87
  isScrolling,
89
88
  startScrolling,
90
89
  endScrolling
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAqCM,SAAS,0CAA4C,IAA+B;IACzF,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAA,GAAA,qBAAO,EAAO,EAAE;IACtD,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,qBAAO,EAAE,IAAI,CAAA,GAAA,8BAAG;IACpD,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,qBAAO,EAAE;IAC3C,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,qBAAO,EAAE;IAC3C,IAAI,cAAc,CAAA,GAAA,oBAAM,EAAE,IAAM,IAAI,CAAA,GAAA,qCAAU,KAAc,EAAE;IAE9D,YAAY,QAAQ,GAAG;yBACrB;QACA,gBAAe,IAAI;YACjB,YAAY,WAAW,GAAG;YAC1B,KAAK,mBAAmB,CAAC;QAC3B;wBACA;QACA,YAAY,KAAK,UAAU;QAC3B,eAAe,KAAK,aAAa;QACjC,iBAAiB,IAAM,aAAa;QACpC,eAAe,IAAM,aAAa;QAClC,iBAAiB,KAAK,eAAe;IACvC;IAEA,YAAY,MAAM,GAAG,KAAK,MAAM;IAChC,YAAY,UAAU,GAAG,KAAK,UAAU;IACxC,YAAY,kBAAkB,GAAG,KAAK,kBAAkB;IAExD,CAAA,GAAA,qCAAc,EAAE;QACd,YAAY,WAAW;IACzB;IAEA,4CAA4C;IAC5C,CAAA,GAAA,sBAAQ,EAAE;QACR,OAAO,IAAM,YAAY,WAAW;IACtC,uDAAuD;IACvD,GAAG,EAAE;IAEL,IAAI,iBAAiB,CAAA,GAAA,wBAAU,EAAE,CAAC;QAChC,YAAY,WAAW,GAAG;IAC5B,GAAG;QAAC;KAAY;IAChB,IAAI,iBAAiB,CAAA,GAAA,wBAAU,EAAE;QAC/B,YAAY,cAAc;QAC1B,aAAa;IACf,GAAG;QAAC;KAAY;IAChB,IAAI,eAAe,CAAA,GAAA,wBAAU,EAAE;QAC7B,YAAY,YAAY;QACxB,aAAa;IACf,GAAG;QAAC;KAAY;IAEhB,IAAI,QAAQ,CAAA,GAAA,oBAAM,EAAE,IAAO,CAAA;yBACzB;0BACA;4BACA;yBACA;yBACA;yBACA;4BACA;0BACA;QACF,CAAA,GAAI;QACF;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/useVirtualizerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Collection, Key} from '@react-types/shared';\nimport {Layout} from './Layout';\nimport {Rect} from './Rect';\nimport {ReusableView} from './ReusableView';\nimport {Size} from './Size';\nimport {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {Virtualizer} from './Virtualizer';\n\ninterface VirtualizerProps<T extends object, V, W> {\n renderView(type: string, content: T): V,\n renderWrapper(\n parent: ReusableView<T, V> | null,\n reusableView: ReusableView<T, V>,\n children: ReusableView<T, V>[],\n renderChildren: (views: ReusableView<T, V>[]) => W[]\n ): W,\n layout: Layout<T>,\n collection: Collection<T>,\n onVisibleRectChange(rect: Rect): void,\n getScrollAnchor?(rect: Rect): Key,\n transitionDuration?: number\n}\n\nexport interface VirtualizerState<T extends object, V, W> {\n visibleViews: W[],\n setVisibleRect: (rect: Rect) => void,\n contentSize: Size,\n isAnimating: boolean,\n virtualizer: Virtualizer<T, V, W>,\n isScrolling: boolean,\n startScrolling: () => void,\n endScrolling: () => void\n}\n\nexport function useVirtualizerState<T extends object, V, W>(opts: VirtualizerProps<T, V, W>): VirtualizerState<T, V, W> {\n let [visibleViews, setVisibleViews] = useState<W[]>([]);\n let [contentSize, setContentSize] = useState(new Size());\n let [isAnimating, setAnimating] = useState(false);\n let [isScrolling, setScrolling] = useState(false);\n let virtualizer = useMemo(() => new Virtualizer<T, V, W>(), []);\n\n virtualizer.delegate = {\n setVisibleViews,\n setVisibleRect(rect) {\n virtualizer.visibleRect = rect;\n opts.onVisibleRectChange(rect);\n },\n setContentSize,\n renderView: opts.renderView,\n renderWrapper: opts.renderWrapper,\n beginAnimations: () => setAnimating(true),\n endAnimations: () => setAnimating(false),\n getScrollAnchor: opts.getScrollAnchor\n };\n\n virtualizer.layout = opts.layout;\n virtualizer.collection = opts.collection;\n virtualizer.transitionDuration = opts.transitionDuration;\n\n useLayoutEffect(() => {\n virtualizer.afterRender();\n });\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => virtualizer.willUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let setVisibleRect = useCallback((rect) => {\n virtualizer.visibleRect = rect;\n }, [virtualizer]);\n let startScrolling = useCallback(() => {\n virtualizer.startScrolling();\n setScrolling(true);\n }, [virtualizer]);\n let endScrolling = useCallback(() => {\n virtualizer.endScrolling();\n setScrolling(false);\n }, [virtualizer]);\n\n let state = useMemo(() => ({\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isAnimating,\n isScrolling,\n startScrolling,\n endScrolling\n }), [\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isAnimating,\n isScrolling,\n startScrolling,\n endScrolling\n ]);\n\n return state;\n}\n"],"names":[],"version":3,"file":"useVirtualizerState.main.js.map"}
1
+ {"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAqCM,SAAS,0CAAqD,IAAkC;IACrG,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,qBAAO,EAAE,IAAI,CAAA,GAAA,8BAAG,EAAE,GAAG,GAAG,GAAG;IAC/D,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,qBAAO,EAAE;IAC3C,IAAI,CAAC,qBAAqB,uBAAuB,GAAG,CAAA,GAAA,qBAAO,EAAuB,CAAC;IACnF,IAAI,qBAAqB,CAAA,GAAA,mBAAK,EAAE;IAChC,IAAI,CAAC,YAAY,GAAG,CAAA,GAAA,qBAAO,EAAE,IAAM,IAAI,CAAA,GAAA,qCAAU,EAAW;YAC1D,gBAAe,IAAI;gBACjB,eAAe;gBACf,mBAAmB,OAAO,GAAG;YAC/B;YACA,2DAA2D;YAC3D,YAAY,KAAK,UAAU;YAC3B,eAAe,KAAK,aAAa;YACjC,YAAY;QACd;IAEA,wEAAwE;IACxE,CAAA,GAAA,qCAAc,EAAE;QACd,IAAI,mBAAmB,OAAO,EAAE;YAC9B,mBAAmB,OAAO,GAAG;YAC7B,KAAK,mBAAmB,CAAC;QAC3B;IACF;IAEA,IAAI,4BAA4B,CAAA,GAAA,oBAAM,EAAE;QACtC,IAAI,KAAK,aAAa,IAAI,MACxB,OAAO;YAAC,GAAG,mBAAmB;YAAE,eAAe,KAAK,aAAa;QAAA;QAEnE,OAAO;IACT,GAAG;QAAC;QAAqB,KAAK,aAAa;KAAC;IAE5C,IAAI,eAAe,YAAY,MAAM,CAAC;QACpC,QAAQ,KAAK,MAAM;QACnB,YAAY,KAAK,UAAU;QAC3B,eAAe,KAAK,aAAa;QACjC,eAAe,KAAK,aAAa;qBACjC;QACA,qBAAqB;qBACrB;IACF;IAEA,IAAI,cAAc,YAAY,WAAW;IAEzC,IAAI,iBAAiB,CAAA,GAAA,wBAAU,EAAE;QAC/B,aAAa;IACf,GAAG,EAAE;IACL,IAAI,eAAe,CAAA,GAAA,wBAAU,EAAE;QAC7B,aAAa;IACf,GAAG,EAAE;IAEL,IAAI,QAAQ,CAAA,GAAA,oBAAM,EAAE,IAAO,CAAA;yBACzB;0BACA;4BACA;yBACA;yBACA;4BACA;0BACA;QACF,CAAA,GAAI;QACF;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/useVirtualizerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Collection, Key} from '@react-types/shared';\nimport {InvalidationContext} from './types';\nimport {Layout} from './Layout';\nimport {Rect} from './Rect';\nimport {ReusableView} from './ReusableView';\nimport {Size} from './Size';\nimport {useCallback, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {Virtualizer} from './Virtualizer';\n\ninterface VirtualizerProps<T extends object, V, W, O> {\n renderView(type: string, content: T): V,\n renderWrapper(\n parent: ReusableView<T, V> | null,\n reusableView: ReusableView<T, V>,\n children: ReusableView<T, V>[],\n renderChildren: (views: ReusableView<T, V>[]) => W[]\n ): W,\n layout: Layout<T>,\n collection: Collection<T>,\n onVisibleRectChange(rect: Rect): void,\n persistedKeys?: Set<Key>,\n layoutOptions?: O\n}\n\nexport interface VirtualizerState<T extends object, V, W> {\n visibleViews: W[],\n setVisibleRect: (rect: Rect) => void,\n contentSize: Size,\n virtualizer: Virtualizer<T, V, W>,\n isScrolling: boolean,\n startScrolling: () => void,\n endScrolling: () => void\n}\n\nexport function useVirtualizerState<T extends object, V, W, O = any>(opts: VirtualizerProps<T, V, W, O>): VirtualizerState<T, V, W> {\n let [visibleRect, setVisibleRect] = useState(new Rect(0, 0, 0, 0));\n let [isScrolling, setScrolling] = useState(false);\n let [invalidationContext, setInvalidationContext] = useState<InvalidationContext>({});\n let visibleRectChanged = useRef(false);\n let [virtualizer] = useState(() => new Virtualizer<T, V, W>({\n setVisibleRect(rect) {\n setVisibleRect(rect);\n visibleRectChanged.current = true;\n },\n // TODO: should changing these invalidate the entire cache?\n renderView: opts.renderView,\n renderWrapper: opts.renderWrapper,\n invalidate: setInvalidationContext\n }));\n\n // onVisibleRectChange must be called from an effect, not during render.\n useLayoutEffect(() => {\n if (visibleRectChanged.current) {\n visibleRectChanged.current = false;\n opts.onVisibleRectChange(visibleRect);\n }\n });\n\n let mergedInvalidationContext = useMemo(() => {\n if (opts.layoutOptions != null) {\n return {...invalidationContext, layoutOptions: opts.layoutOptions};\n }\n return invalidationContext;\n }, [invalidationContext, opts.layoutOptions]);\n\n let visibleViews = virtualizer.render({\n layout: opts.layout,\n collection: opts.collection,\n persistedKeys: opts.persistedKeys,\n layoutOptions: opts.layoutOptions,\n visibleRect,\n invalidationContext: mergedInvalidationContext,\n isScrolling\n });\n\n let contentSize = virtualizer.contentSize;\n\n let startScrolling = useCallback(() => {\n setScrolling(true);\n }, []);\n let endScrolling = useCallback(() => {\n setScrolling(false);\n }, []);\n\n let state = useMemo(() => ({\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isScrolling,\n startScrolling,\n endScrolling\n }), [\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isScrolling,\n startScrolling,\n endScrolling\n ]);\n\n return state;\n}\n"],"names":[],"version":3,"file":"useVirtualizerState.main.js.map"}
@@ -1,6 +1,6 @@
1
- import {Size as $ee1bfa90a957fb8a$export$cb6da89c6af1a8ec} from "./Size.mjs";
1
+ import {Rect as $60423f92c7f9ad87$export$c79fc6492f3af13d} from "./Rect.mjs";
2
2
  import {Virtualizer as $38b9490c1cca8fc4$export$89be5a243e59c4b2} from "./Virtualizer.mjs";
3
- import {useState as $3Fik3$useState, useMemo as $3Fik3$useMemo, useEffect as $3Fik3$useEffect, useCallback as $3Fik3$useCallback} from "react";
3
+ import {useState as $3Fik3$useState, useRef as $3Fik3$useRef, useMemo as $3Fik3$useMemo, useCallback as $3Fik3$useCallback} from "react";
4
4
  import {useLayoutEffect as $3Fik3$useLayoutEffect} from "@react-aria/utils";
5
5
 
6
6
  /*
@@ -18,58 +18,58 @@ import {useLayoutEffect as $3Fik3$useLayoutEffect} from "@react-aria/utils";
18
18
 
19
19
 
20
20
  function $fc0b13b484ac1194$export$1505db82fe357e65(opts) {
21
- let [visibleViews, setVisibleViews] = (0, $3Fik3$useState)([]);
22
- let [contentSize, setContentSize] = (0, $3Fik3$useState)(new (0, $ee1bfa90a957fb8a$export$cb6da89c6af1a8ec)());
23
- let [isAnimating, setAnimating] = (0, $3Fik3$useState)(false);
21
+ let [visibleRect, setVisibleRect] = (0, $3Fik3$useState)(new (0, $60423f92c7f9ad87$export$c79fc6492f3af13d)(0, 0, 0, 0));
24
22
  let [isScrolling, setScrolling] = (0, $3Fik3$useState)(false);
25
- let virtualizer = (0, $3Fik3$useMemo)(()=>new (0, $38b9490c1cca8fc4$export$89be5a243e59c4b2)(), []);
26
- virtualizer.delegate = {
27
- setVisibleViews: setVisibleViews,
28
- setVisibleRect (rect) {
29
- virtualizer.visibleRect = rect;
30
- opts.onVisibleRectChange(rect);
31
- },
32
- setContentSize: setContentSize,
33
- renderView: opts.renderView,
34
- renderWrapper: opts.renderWrapper,
35
- beginAnimations: ()=>setAnimating(true),
36
- endAnimations: ()=>setAnimating(false),
37
- getScrollAnchor: opts.getScrollAnchor
38
- };
39
- virtualizer.layout = opts.layout;
40
- virtualizer.collection = opts.collection;
41
- virtualizer.transitionDuration = opts.transitionDuration;
23
+ let [invalidationContext, setInvalidationContext] = (0, $3Fik3$useState)({});
24
+ let visibleRectChanged = (0, $3Fik3$useRef)(false);
25
+ let [virtualizer] = (0, $3Fik3$useState)(()=>new (0, $38b9490c1cca8fc4$export$89be5a243e59c4b2)({
26
+ setVisibleRect (rect) {
27
+ setVisibleRect(rect);
28
+ visibleRectChanged.current = true;
29
+ },
30
+ // TODO: should changing these invalidate the entire cache?
31
+ renderView: opts.renderView,
32
+ renderWrapper: opts.renderWrapper,
33
+ invalidate: setInvalidationContext
34
+ }));
35
+ // onVisibleRectChange must be called from an effect, not during render.
42
36
  (0, $3Fik3$useLayoutEffect)(()=>{
43
- virtualizer.afterRender();
37
+ if (visibleRectChanged.current) {
38
+ visibleRectChanged.current = false;
39
+ opts.onVisibleRectChange(visibleRect);
40
+ }
44
41
  });
45
- // eslint-disable-next-line arrow-body-style
46
- (0, $3Fik3$useEffect)(()=>{
47
- return ()=>virtualizer.willUnmount();
48
- // eslint-disable-next-line react-hooks/exhaustive-deps
49
- }, []);
50
- let setVisibleRect = (0, $3Fik3$useCallback)((rect)=>{
51
- virtualizer.visibleRect = rect;
42
+ let mergedInvalidationContext = (0, $3Fik3$useMemo)(()=>{
43
+ if (opts.layoutOptions != null) return {
44
+ ...invalidationContext,
45
+ layoutOptions: opts.layoutOptions
46
+ };
47
+ return invalidationContext;
52
48
  }, [
53
- virtualizer
49
+ invalidationContext,
50
+ opts.layoutOptions
54
51
  ]);
52
+ let visibleViews = virtualizer.render({
53
+ layout: opts.layout,
54
+ collection: opts.collection,
55
+ persistedKeys: opts.persistedKeys,
56
+ layoutOptions: opts.layoutOptions,
57
+ visibleRect: visibleRect,
58
+ invalidationContext: mergedInvalidationContext,
59
+ isScrolling: isScrolling
60
+ });
61
+ let contentSize = virtualizer.contentSize;
55
62
  let startScrolling = (0, $3Fik3$useCallback)(()=>{
56
- virtualizer.startScrolling();
57
63
  setScrolling(true);
58
- }, [
59
- virtualizer
60
- ]);
64
+ }, []);
61
65
  let endScrolling = (0, $3Fik3$useCallback)(()=>{
62
- virtualizer.endScrolling();
63
66
  setScrolling(false);
64
- }, [
65
- virtualizer
66
- ]);
67
+ }, []);
67
68
  let state = (0, $3Fik3$useMemo)(()=>({
68
69
  virtualizer: virtualizer,
69
70
  visibleViews: visibleViews,
70
71
  setVisibleRect: setVisibleRect,
71
72
  contentSize: contentSize,
72
- isAnimating: isAnimating,
73
73
  isScrolling: isScrolling,
74
74
  startScrolling: startScrolling,
75
75
  endScrolling: endScrolling
@@ -78,7 +78,6 @@ function $fc0b13b484ac1194$export$1505db82fe357e65(opts) {
78
78
  visibleViews,
79
79
  setVisibleRect,
80
80
  contentSize,
81
- isAnimating,
82
81
  isScrolling,
83
82
  startScrolling,
84
83
  endScrolling
@@ -1,6 +1,6 @@
1
- import {Size as $ee1bfa90a957fb8a$export$cb6da89c6af1a8ec} from "./Size.module.js";
1
+ import {Rect as $60423f92c7f9ad87$export$c79fc6492f3af13d} from "./Rect.module.js";
2
2
  import {Virtualizer as $38b9490c1cca8fc4$export$89be5a243e59c4b2} from "./Virtualizer.module.js";
3
- import {useState as $3Fik3$useState, useMemo as $3Fik3$useMemo, useEffect as $3Fik3$useEffect, useCallback as $3Fik3$useCallback} from "react";
3
+ import {useState as $3Fik3$useState, useRef as $3Fik3$useRef, useMemo as $3Fik3$useMemo, useCallback as $3Fik3$useCallback} from "react";
4
4
  import {useLayoutEffect as $3Fik3$useLayoutEffect} from "@react-aria/utils";
5
5
 
6
6
  /*
@@ -18,58 +18,58 @@ import {useLayoutEffect as $3Fik3$useLayoutEffect} from "@react-aria/utils";
18
18
 
19
19
 
20
20
  function $fc0b13b484ac1194$export$1505db82fe357e65(opts) {
21
- let [visibleViews, setVisibleViews] = (0, $3Fik3$useState)([]);
22
- let [contentSize, setContentSize] = (0, $3Fik3$useState)(new (0, $ee1bfa90a957fb8a$export$cb6da89c6af1a8ec)());
23
- let [isAnimating, setAnimating] = (0, $3Fik3$useState)(false);
21
+ let [visibleRect, setVisibleRect] = (0, $3Fik3$useState)(new (0, $60423f92c7f9ad87$export$c79fc6492f3af13d)(0, 0, 0, 0));
24
22
  let [isScrolling, setScrolling] = (0, $3Fik3$useState)(false);
25
- let virtualizer = (0, $3Fik3$useMemo)(()=>new (0, $38b9490c1cca8fc4$export$89be5a243e59c4b2)(), []);
26
- virtualizer.delegate = {
27
- setVisibleViews: setVisibleViews,
28
- setVisibleRect (rect) {
29
- virtualizer.visibleRect = rect;
30
- opts.onVisibleRectChange(rect);
31
- },
32
- setContentSize: setContentSize,
33
- renderView: opts.renderView,
34
- renderWrapper: opts.renderWrapper,
35
- beginAnimations: ()=>setAnimating(true),
36
- endAnimations: ()=>setAnimating(false),
37
- getScrollAnchor: opts.getScrollAnchor
38
- };
39
- virtualizer.layout = opts.layout;
40
- virtualizer.collection = opts.collection;
41
- virtualizer.transitionDuration = opts.transitionDuration;
23
+ let [invalidationContext, setInvalidationContext] = (0, $3Fik3$useState)({});
24
+ let visibleRectChanged = (0, $3Fik3$useRef)(false);
25
+ let [virtualizer] = (0, $3Fik3$useState)(()=>new (0, $38b9490c1cca8fc4$export$89be5a243e59c4b2)({
26
+ setVisibleRect (rect) {
27
+ setVisibleRect(rect);
28
+ visibleRectChanged.current = true;
29
+ },
30
+ // TODO: should changing these invalidate the entire cache?
31
+ renderView: opts.renderView,
32
+ renderWrapper: opts.renderWrapper,
33
+ invalidate: setInvalidationContext
34
+ }));
35
+ // onVisibleRectChange must be called from an effect, not during render.
42
36
  (0, $3Fik3$useLayoutEffect)(()=>{
43
- virtualizer.afterRender();
37
+ if (visibleRectChanged.current) {
38
+ visibleRectChanged.current = false;
39
+ opts.onVisibleRectChange(visibleRect);
40
+ }
44
41
  });
45
- // eslint-disable-next-line arrow-body-style
46
- (0, $3Fik3$useEffect)(()=>{
47
- return ()=>virtualizer.willUnmount();
48
- // eslint-disable-next-line react-hooks/exhaustive-deps
49
- }, []);
50
- let setVisibleRect = (0, $3Fik3$useCallback)((rect)=>{
51
- virtualizer.visibleRect = rect;
42
+ let mergedInvalidationContext = (0, $3Fik3$useMemo)(()=>{
43
+ if (opts.layoutOptions != null) return {
44
+ ...invalidationContext,
45
+ layoutOptions: opts.layoutOptions
46
+ };
47
+ return invalidationContext;
52
48
  }, [
53
- virtualizer
49
+ invalidationContext,
50
+ opts.layoutOptions
54
51
  ]);
52
+ let visibleViews = virtualizer.render({
53
+ layout: opts.layout,
54
+ collection: opts.collection,
55
+ persistedKeys: opts.persistedKeys,
56
+ layoutOptions: opts.layoutOptions,
57
+ visibleRect: visibleRect,
58
+ invalidationContext: mergedInvalidationContext,
59
+ isScrolling: isScrolling
60
+ });
61
+ let contentSize = virtualizer.contentSize;
55
62
  let startScrolling = (0, $3Fik3$useCallback)(()=>{
56
- virtualizer.startScrolling();
57
63
  setScrolling(true);
58
- }, [
59
- virtualizer
60
- ]);
64
+ }, []);
61
65
  let endScrolling = (0, $3Fik3$useCallback)(()=>{
62
- virtualizer.endScrolling();
63
66
  setScrolling(false);
64
- }, [
65
- virtualizer
66
- ]);
67
+ }, []);
67
68
  let state = (0, $3Fik3$useMemo)(()=>({
68
69
  virtualizer: virtualizer,
69
70
  visibleViews: visibleViews,
70
71
  setVisibleRect: setVisibleRect,
71
72
  contentSize: contentSize,
72
- isAnimating: isAnimating,
73
73
  isScrolling: isScrolling,
74
74
  startScrolling: startScrolling,
75
75
  endScrolling: endScrolling
@@ -78,7 +78,6 @@ function $fc0b13b484ac1194$export$1505db82fe357e65(opts) {
78
78
  visibleViews,
79
79
  setVisibleRect,
80
80
  contentSize,
81
- isAnimating,
82
81
  isScrolling,
83
82
  startScrolling,
84
83
  endScrolling
@@ -1 +1 @@
1
- {"mappings":";;;;;AAAA;;;;;;;;;;CAUC;;;;AAqCM,SAAS,0CAA4C,IAA+B;IACzF,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAA,GAAA,eAAO,EAAO,EAAE;IACtD,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,eAAO,EAAE,IAAI,CAAA,GAAA,yCAAG;IACpD,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,eAAO,EAAE;IAC3C,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,eAAO,EAAE;IAC3C,IAAI,cAAc,CAAA,GAAA,cAAM,EAAE,IAAM,IAAI,CAAA,GAAA,yCAAU,KAAc,EAAE;IAE9D,YAAY,QAAQ,GAAG;yBACrB;QACA,gBAAe,IAAI;YACjB,YAAY,WAAW,GAAG;YAC1B,KAAK,mBAAmB,CAAC;QAC3B;wBACA;QACA,YAAY,KAAK,UAAU;QAC3B,eAAe,KAAK,aAAa;QACjC,iBAAiB,IAAM,aAAa;QACpC,eAAe,IAAM,aAAa;QAClC,iBAAiB,KAAK,eAAe;IACvC;IAEA,YAAY,MAAM,GAAG,KAAK,MAAM;IAChC,YAAY,UAAU,GAAG,KAAK,UAAU;IACxC,YAAY,kBAAkB,GAAG,KAAK,kBAAkB;IAExD,CAAA,GAAA,sBAAc,EAAE;QACd,YAAY,WAAW;IACzB;IAEA,4CAA4C;IAC5C,CAAA,GAAA,gBAAQ,EAAE;QACR,OAAO,IAAM,YAAY,WAAW;IACtC,uDAAuD;IACvD,GAAG,EAAE;IAEL,IAAI,iBAAiB,CAAA,GAAA,kBAAU,EAAE,CAAC;QAChC,YAAY,WAAW,GAAG;IAC5B,GAAG;QAAC;KAAY;IAChB,IAAI,iBAAiB,CAAA,GAAA,kBAAU,EAAE;QAC/B,YAAY,cAAc;QAC1B,aAAa;IACf,GAAG;QAAC;KAAY;IAChB,IAAI,eAAe,CAAA,GAAA,kBAAU,EAAE;QAC7B,YAAY,YAAY;QACxB,aAAa;IACf,GAAG;QAAC;KAAY;IAEhB,IAAI,QAAQ,CAAA,GAAA,cAAM,EAAE,IAAO,CAAA;yBACzB;0BACA;4BACA;yBACA;yBACA;yBACA;4BACA;0BACA;QACF,CAAA,GAAI;QACF;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/useVirtualizerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Collection, Key} from '@react-types/shared';\nimport {Layout} from './Layout';\nimport {Rect} from './Rect';\nimport {ReusableView} from './ReusableView';\nimport {Size} from './Size';\nimport {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {Virtualizer} from './Virtualizer';\n\ninterface VirtualizerProps<T extends object, V, W> {\n renderView(type: string, content: T): V,\n renderWrapper(\n parent: ReusableView<T, V> | null,\n reusableView: ReusableView<T, V>,\n children: ReusableView<T, V>[],\n renderChildren: (views: ReusableView<T, V>[]) => W[]\n ): W,\n layout: Layout<T>,\n collection: Collection<T>,\n onVisibleRectChange(rect: Rect): void,\n getScrollAnchor?(rect: Rect): Key,\n transitionDuration?: number\n}\n\nexport interface VirtualizerState<T extends object, V, W> {\n visibleViews: W[],\n setVisibleRect: (rect: Rect) => void,\n contentSize: Size,\n isAnimating: boolean,\n virtualizer: Virtualizer<T, V, W>,\n isScrolling: boolean,\n startScrolling: () => void,\n endScrolling: () => void\n}\n\nexport function useVirtualizerState<T extends object, V, W>(opts: VirtualizerProps<T, V, W>): VirtualizerState<T, V, W> {\n let [visibleViews, setVisibleViews] = useState<W[]>([]);\n let [contentSize, setContentSize] = useState(new Size());\n let [isAnimating, setAnimating] = useState(false);\n let [isScrolling, setScrolling] = useState(false);\n let virtualizer = useMemo(() => new Virtualizer<T, V, W>(), []);\n\n virtualizer.delegate = {\n setVisibleViews,\n setVisibleRect(rect) {\n virtualizer.visibleRect = rect;\n opts.onVisibleRectChange(rect);\n },\n setContentSize,\n renderView: opts.renderView,\n renderWrapper: opts.renderWrapper,\n beginAnimations: () => setAnimating(true),\n endAnimations: () => setAnimating(false),\n getScrollAnchor: opts.getScrollAnchor\n };\n\n virtualizer.layout = opts.layout;\n virtualizer.collection = opts.collection;\n virtualizer.transitionDuration = opts.transitionDuration;\n\n useLayoutEffect(() => {\n virtualizer.afterRender();\n });\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => virtualizer.willUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let setVisibleRect = useCallback((rect) => {\n virtualizer.visibleRect = rect;\n }, [virtualizer]);\n let startScrolling = useCallback(() => {\n virtualizer.startScrolling();\n setScrolling(true);\n }, [virtualizer]);\n let endScrolling = useCallback(() => {\n virtualizer.endScrolling();\n setScrolling(false);\n }, [virtualizer]);\n\n let state = useMemo(() => ({\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isAnimating,\n isScrolling,\n startScrolling,\n endScrolling\n }), [\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isAnimating,\n isScrolling,\n startScrolling,\n endScrolling\n ]);\n\n return state;\n}\n"],"names":[],"version":3,"file":"useVirtualizerState.module.js.map"}
1
+ {"mappings":";;;;;AAAA;;;;;;;;;;CAUC;;;;AAqCM,SAAS,0CAAqD,IAAkC;IACrG,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,eAAO,EAAE,IAAI,CAAA,GAAA,yCAAG,EAAE,GAAG,GAAG,GAAG;IAC/D,IAAI,CAAC,aAAa,aAAa,GAAG,CAAA,GAAA,eAAO,EAAE;IAC3C,IAAI,CAAC,qBAAqB,uBAAuB,GAAG,CAAA,GAAA,eAAO,EAAuB,CAAC;IACnF,IAAI,qBAAqB,CAAA,GAAA,aAAK,EAAE;IAChC,IAAI,CAAC,YAAY,GAAG,CAAA,GAAA,eAAO,EAAE,IAAM,IAAI,CAAA,GAAA,yCAAU,EAAW;YAC1D,gBAAe,IAAI;gBACjB,eAAe;gBACf,mBAAmB,OAAO,GAAG;YAC/B;YACA,2DAA2D;YAC3D,YAAY,KAAK,UAAU;YAC3B,eAAe,KAAK,aAAa;YACjC,YAAY;QACd;IAEA,wEAAwE;IACxE,CAAA,GAAA,sBAAc,EAAE;QACd,IAAI,mBAAmB,OAAO,EAAE;YAC9B,mBAAmB,OAAO,GAAG;YAC7B,KAAK,mBAAmB,CAAC;QAC3B;IACF;IAEA,IAAI,4BAA4B,CAAA,GAAA,cAAM,EAAE;QACtC,IAAI,KAAK,aAAa,IAAI,MACxB,OAAO;YAAC,GAAG,mBAAmB;YAAE,eAAe,KAAK,aAAa;QAAA;QAEnE,OAAO;IACT,GAAG;QAAC;QAAqB,KAAK,aAAa;KAAC;IAE5C,IAAI,eAAe,YAAY,MAAM,CAAC;QACpC,QAAQ,KAAK,MAAM;QACnB,YAAY,KAAK,UAAU;QAC3B,eAAe,KAAK,aAAa;QACjC,eAAe,KAAK,aAAa;qBACjC;QACA,qBAAqB;qBACrB;IACF;IAEA,IAAI,cAAc,YAAY,WAAW;IAEzC,IAAI,iBAAiB,CAAA,GAAA,kBAAU,EAAE;QAC/B,aAAa;IACf,GAAG,EAAE;IACL,IAAI,eAAe,CAAA,GAAA,kBAAU,EAAE;QAC7B,aAAa;IACf,GAAG,EAAE;IAEL,IAAI,QAAQ,CAAA,GAAA,cAAM,EAAE,IAAO,CAAA;yBACzB;0BACA;4BACA;yBACA;yBACA;4BACA;0BACA;QACF,CAAA,GAAI;QACF;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/useVirtualizerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Collection, Key} from '@react-types/shared';\nimport {InvalidationContext} from './types';\nimport {Layout} from './Layout';\nimport {Rect} from './Rect';\nimport {ReusableView} from './ReusableView';\nimport {Size} from './Size';\nimport {useCallback, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {Virtualizer} from './Virtualizer';\n\ninterface VirtualizerProps<T extends object, V, W, O> {\n renderView(type: string, content: T): V,\n renderWrapper(\n parent: ReusableView<T, V> | null,\n reusableView: ReusableView<T, V>,\n children: ReusableView<T, V>[],\n renderChildren: (views: ReusableView<T, V>[]) => W[]\n ): W,\n layout: Layout<T>,\n collection: Collection<T>,\n onVisibleRectChange(rect: Rect): void,\n persistedKeys?: Set<Key>,\n layoutOptions?: O\n}\n\nexport interface VirtualizerState<T extends object, V, W> {\n visibleViews: W[],\n setVisibleRect: (rect: Rect) => void,\n contentSize: Size,\n virtualizer: Virtualizer<T, V, W>,\n isScrolling: boolean,\n startScrolling: () => void,\n endScrolling: () => void\n}\n\nexport function useVirtualizerState<T extends object, V, W, O = any>(opts: VirtualizerProps<T, V, W, O>): VirtualizerState<T, V, W> {\n let [visibleRect, setVisibleRect] = useState(new Rect(0, 0, 0, 0));\n let [isScrolling, setScrolling] = useState(false);\n let [invalidationContext, setInvalidationContext] = useState<InvalidationContext>({});\n let visibleRectChanged = useRef(false);\n let [virtualizer] = useState(() => new Virtualizer<T, V, W>({\n setVisibleRect(rect) {\n setVisibleRect(rect);\n visibleRectChanged.current = true;\n },\n // TODO: should changing these invalidate the entire cache?\n renderView: opts.renderView,\n renderWrapper: opts.renderWrapper,\n invalidate: setInvalidationContext\n }));\n\n // onVisibleRectChange must be called from an effect, not during render.\n useLayoutEffect(() => {\n if (visibleRectChanged.current) {\n visibleRectChanged.current = false;\n opts.onVisibleRectChange(visibleRect);\n }\n });\n\n let mergedInvalidationContext = useMemo(() => {\n if (opts.layoutOptions != null) {\n return {...invalidationContext, layoutOptions: opts.layoutOptions};\n }\n return invalidationContext;\n }, [invalidationContext, opts.layoutOptions]);\n\n let visibleViews = virtualizer.render({\n layout: opts.layout,\n collection: opts.collection,\n persistedKeys: opts.persistedKeys,\n layoutOptions: opts.layoutOptions,\n visibleRect,\n invalidationContext: mergedInvalidationContext,\n isScrolling\n });\n\n let contentSize = virtualizer.contentSize;\n\n let startScrolling = useCallback(() => {\n setScrolling(true);\n }, []);\n let endScrolling = useCallback(() => {\n setScrolling(false);\n }, []);\n\n let state = useMemo(() => ({\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isScrolling,\n startScrolling,\n endScrolling\n }), [\n virtualizer,\n visibleViews,\n setVisibleRect,\n contentSize,\n isScrolling,\n startScrolling,\n endScrolling\n ]);\n\n return state;\n}\n"],"names":[],"version":3,"file":"useVirtualizerState.module.js.map"}
@@ -3,8 +3,6 @@ function $parcel$export(e, n, v, s) {
3
3
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
4
4
  }
5
5
 
6
- $parcel$export(module.exports, "difference", () => $abed55ea619a7a17$export$acaf96a27438246b);
7
- $parcel$export(module.exports, "concatIterators", () => $abed55ea619a7a17$export$cfc14088dfefce5f);
8
6
  $parcel$export(module.exports, "isSetEqual", () => $abed55ea619a7a17$export$a8d0d0c8d1c5df64);
9
7
  /*
10
8
  * Copyright 2020 Adobe. All rights reserved.
@@ -16,31 +14,7 @@ $parcel$export(module.exports, "isSetEqual", () => $abed55ea619a7a17$export$a8d0
16
14
  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
17
15
  * OF ANY KIND, either express or implied. See the License for the specific language
18
16
  * governing permissions and limitations under the License.
19
- */ function $abed55ea619a7a17$export$37a26b283fd7740e(a, b) {
20
- let res = new Set();
21
- for (let key of a.keys())if (!b.has(key)) res.add(key);
22
- return res;
23
- }
24
- function $abed55ea619a7a17$export$acaf96a27438246b(a, b) {
25
- let toRemove = $abed55ea619a7a17$export$37a26b283fd7740e(a, b);
26
- let toAdd = $abed55ea619a7a17$export$37a26b283fd7740e(b, a);
27
- let toUpdate = new Set;
28
- for (let key of a.keys())if (b.has(key)) toUpdate.add(key);
29
- return {
30
- toRemove: toRemove,
31
- toAdd: toAdd,
32
- toUpdate: toUpdate
33
- };
34
- }
35
- function* $abed55ea619a7a17$export$cfc14088dfefce5f(...iterators) {
36
- for (let iterator of iterators)yield* iterator;
37
- }
38
- function $abed55ea619a7a17$export$6897c284b6f9f4dc(object) {
39
- let res = {};
40
- for(let key in object)res[object[key]] = key;
41
- return res;
42
- }
43
- function $abed55ea619a7a17$export$a8d0d0c8d1c5df64(a, b) {
17
+ */ /** Returns whether two sets are equal. */ function $abed55ea619a7a17$export$a8d0d0c8d1c5df64(a, b) {
44
18
  if (a === b) return true;
45
19
  if (a.size !== b.size) return false;
46
20
  for (let key of a){
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC,GAEM,SAAS,0CAAW,CAAc,EAAE,CAAc;IACvD,IAAI,MAAM,IAAI;IAEd,KAAK,IAAI,OAAO,EAAE,IAAI,GACpB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,IAAI,GAAG,CAAC;IAIZ,OAAO;AACT;AAOO,SAAS,0CAAc,CAAc,EAAE,CAAc;IAC1D,IAAI,WAAW,0CAAQ,GAAG;IAC1B,IAAI,QAAQ,0CAAQ,GAAG;IACvB,IAAI,WAAW,IAAI;IACnB,KAAK,IAAI,OAAO,EAAE,IAAI,GACpB,IAAI,EAAE,GAAG,CAAC,MACR,SAAS,GAAG,CAAC;IAGjB,OAAO;kBAAC;eAAU;kBAAO;IAAQ;AACnC;AAMO,UAAU,0CAAmB,GAAG,SAAwB;IAC7D,KAAK,IAAI,YAAY,UACnB,OAAO;AAEX;AAMO,SAAS,0CAAO,MAAM;IAC3B,IAAI,MAAM,CAAC;IACX,IAAK,IAAI,OAAO,OACd,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;IAGrB,OAAO;AACT;AAGO,SAAS,0CAAc,CAAS,EAAE,CAAS;IAChD,IAAI,MAAM,GACR,OAAO;IAGT,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,EACnB,OAAO;IAGT,KAAK,IAAI,OAAO,EAAG;QACjB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,OAAO;IAEX;IAEA,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport function keyDiff<T>(a: Map<T, any>, b: Map<T, any>): Set<T> {\n let res = new Set<T>();\n\n for (let key of a.keys()) {\n if (!b.has(key)) {\n res.add(key);\n }\n }\n\n return res;\n}\n\n/**\n * Returns the key difference between two maps. Returns a set of\n * keys to add to and remove from a to make it equal to b.\n * @private\n */\nexport function difference<T>(a: Map<T, any>, b: Map<T, any>) {\n let toRemove = keyDiff(a, b);\n let toAdd = keyDiff(b, a);\n let toUpdate = new Set;\n for (let key of a.keys()) {\n if (b.has(key)) {\n toUpdate.add(key);\n }\n }\n return {toRemove, toAdd, toUpdate};\n}\n\n/**\n * Returns an iterator that yields the items in all of the given iterators.\n * @private\n */\nexport function* concatIterators<T>(...iterators: Iterable<T>[]) {\n for (let iterator of iterators) {\n yield* iterator;\n }\n}\n\n/**\n * Inverts the keys and values of an object.\n * @private\n */\nexport function invert(object) {\n let res = {};\n for (let key in object) {\n res[object[key]] = key;\n }\n\n return res;\n}\n\n/** Returns whether two sets are equal. */\nexport function isSetEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.size !== b.size) {\n return false;\n }\n\n for (let key of a) {\n if (!b.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"version":3,"file":"utils.main.js.map"}
1
+ {"mappings":";;;;;;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC,GACjC,SAAS,0CAAc,CAAS,EAAE,CAAS;IAChD,IAAI,MAAM,GACR,OAAO;IAGT,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,EACnB,OAAO;IAGT,KAAK,IAAI,OAAO,EAAG;QACjB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,OAAO;IAEX;IAEA,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/** Returns whether two sets are equal. */\nexport function isSetEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.size !== b.size) {\n return false;\n }\n\n for (let key of a) {\n if (!b.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"version":3,"file":"utils.main.js.map"}
package/dist/utils.mjs CHANGED
@@ -8,31 +8,7 @@
8
8
  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
9
  * OF ANY KIND, either express or implied. See the License for the specific language
10
10
  * governing permissions and limitations under the License.
11
- */ function $fc36f9a046a9ce79$export$37a26b283fd7740e(a, b) {
12
- let res = new Set();
13
- for (let key of a.keys())if (!b.has(key)) res.add(key);
14
- return res;
15
- }
16
- function $fc36f9a046a9ce79$export$acaf96a27438246b(a, b) {
17
- let toRemove = $fc36f9a046a9ce79$export$37a26b283fd7740e(a, b);
18
- let toAdd = $fc36f9a046a9ce79$export$37a26b283fd7740e(b, a);
19
- let toUpdate = new Set;
20
- for (let key of a.keys())if (b.has(key)) toUpdate.add(key);
21
- return {
22
- toRemove: toRemove,
23
- toAdd: toAdd,
24
- toUpdate: toUpdate
25
- };
26
- }
27
- function* $fc36f9a046a9ce79$export$cfc14088dfefce5f(...iterators) {
28
- for (let iterator of iterators)yield* iterator;
29
- }
30
- function $fc36f9a046a9ce79$export$6897c284b6f9f4dc(object) {
31
- let res = {};
32
- for(let key in object)res[object[key]] = key;
33
- return res;
34
- }
35
- function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
11
+ */ /** Returns whether two sets are equal. */ function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
36
12
  if (a === b) return true;
37
13
  if (a.size !== b.size) return false;
38
14
  for (let key of a){
@@ -42,5 +18,5 @@ function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
42
18
  }
43
19
 
44
20
 
45
- export {$fc36f9a046a9ce79$export$37a26b283fd7740e as keyDiff, $fc36f9a046a9ce79$export$acaf96a27438246b as difference, $fc36f9a046a9ce79$export$cfc14088dfefce5f as concatIterators, $fc36f9a046a9ce79$export$6897c284b6f9f4dc as invert, $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64 as isSetEqual};
21
+ export {$fc36f9a046a9ce79$export$a8d0d0c8d1c5df64 as isSetEqual};
46
22
  //# sourceMappingURL=utils.module.js.map
@@ -8,31 +8,7 @@
8
8
  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
9
  * OF ANY KIND, either express or implied. See the License for the specific language
10
10
  * governing permissions and limitations under the License.
11
- */ function $fc36f9a046a9ce79$export$37a26b283fd7740e(a, b) {
12
- let res = new Set();
13
- for (let key of a.keys())if (!b.has(key)) res.add(key);
14
- return res;
15
- }
16
- function $fc36f9a046a9ce79$export$acaf96a27438246b(a, b) {
17
- let toRemove = $fc36f9a046a9ce79$export$37a26b283fd7740e(a, b);
18
- let toAdd = $fc36f9a046a9ce79$export$37a26b283fd7740e(b, a);
19
- let toUpdate = new Set;
20
- for (let key of a.keys())if (b.has(key)) toUpdate.add(key);
21
- return {
22
- toRemove: toRemove,
23
- toAdd: toAdd,
24
- toUpdate: toUpdate
25
- };
26
- }
27
- function* $fc36f9a046a9ce79$export$cfc14088dfefce5f(...iterators) {
28
- for (let iterator of iterators)yield* iterator;
29
- }
30
- function $fc36f9a046a9ce79$export$6897c284b6f9f4dc(object) {
31
- let res = {};
32
- for(let key in object)res[object[key]] = key;
33
- return res;
34
- }
35
- function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
11
+ */ /** Returns whether two sets are equal. */ function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
36
12
  if (a === b) return true;
37
13
  if (a.size !== b.size) return false;
38
14
  for (let key of a){
@@ -42,5 +18,5 @@ function $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64(a, b) {
42
18
  }
43
19
 
44
20
 
45
- export {$fc36f9a046a9ce79$export$37a26b283fd7740e as keyDiff, $fc36f9a046a9ce79$export$acaf96a27438246b as difference, $fc36f9a046a9ce79$export$cfc14088dfefce5f as concatIterators, $fc36f9a046a9ce79$export$6897c284b6f9f4dc as invert, $fc36f9a046a9ce79$export$a8d0d0c8d1c5df64 as isSetEqual};
21
+ export {$fc36f9a046a9ce79$export$a8d0d0c8d1c5df64 as isSetEqual};
46
22
  //# sourceMappingURL=utils.module.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA;;;;;;;;;;CAUC,GAEM,SAAS,0CAAW,CAAc,EAAE,CAAc;IACvD,IAAI,MAAM,IAAI;IAEd,KAAK,IAAI,OAAO,EAAE,IAAI,GACpB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,IAAI,GAAG,CAAC;IAIZ,OAAO;AACT;AAOO,SAAS,0CAAc,CAAc,EAAE,CAAc;IAC1D,IAAI,WAAW,0CAAQ,GAAG;IAC1B,IAAI,QAAQ,0CAAQ,GAAG;IACvB,IAAI,WAAW,IAAI;IACnB,KAAK,IAAI,OAAO,EAAE,IAAI,GACpB,IAAI,EAAE,GAAG,CAAC,MACR,SAAS,GAAG,CAAC;IAGjB,OAAO;kBAAC;eAAU;kBAAO;IAAQ;AACnC;AAMO,UAAU,0CAAmB,GAAG,SAAwB;IAC7D,KAAK,IAAI,YAAY,UACnB,OAAO;AAEX;AAMO,SAAS,0CAAO,MAAM;IAC3B,IAAI,MAAM,CAAC;IACX,IAAK,IAAI,OAAO,OACd,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;IAGrB,OAAO;AACT;AAGO,SAAS,0CAAc,CAAS,EAAE,CAAS;IAChD,IAAI,MAAM,GACR,OAAO;IAGT,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,EACnB,OAAO;IAGT,KAAK,IAAI,OAAO,EAAG;QACjB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,OAAO;IAEX;IAEA,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport function keyDiff<T>(a: Map<T, any>, b: Map<T, any>): Set<T> {\n let res = new Set<T>();\n\n for (let key of a.keys()) {\n if (!b.has(key)) {\n res.add(key);\n }\n }\n\n return res;\n}\n\n/**\n * Returns the key difference between two maps. Returns a set of\n * keys to add to and remove from a to make it equal to b.\n * @private\n */\nexport function difference<T>(a: Map<T, any>, b: Map<T, any>) {\n let toRemove = keyDiff(a, b);\n let toAdd = keyDiff(b, a);\n let toUpdate = new Set;\n for (let key of a.keys()) {\n if (b.has(key)) {\n toUpdate.add(key);\n }\n }\n return {toRemove, toAdd, toUpdate};\n}\n\n/**\n * Returns an iterator that yields the items in all of the given iterators.\n * @private\n */\nexport function* concatIterators<T>(...iterators: Iterable<T>[]) {\n for (let iterator of iterators) {\n yield* iterator;\n }\n}\n\n/**\n * Inverts the keys and values of an object.\n * @private\n */\nexport function invert(object) {\n let res = {};\n for (let key in object) {\n res[object[key]] = key;\n }\n\n return res;\n}\n\n/** Returns whether two sets are equal. */\nexport function isSetEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.size !== b.size) {\n return false;\n }\n\n for (let key of a) {\n if (!b.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"version":3,"file":"utils.module.js.map"}
1
+ {"mappings":"AAAA;;;;;;;;;;CAUC,GAED,wCAAwC,GACjC,SAAS,0CAAc,CAAS,EAAE,CAAS;IAChD,IAAI,MAAM,GACR,OAAO;IAGT,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,EACnB,OAAO;IAGT,KAAK,IAAI,OAAO,EAAG;QACjB,IAAI,CAAC,EAAE,GAAG,CAAC,MACT,OAAO;IAEX;IAEA,OAAO;AACT","sources":["packages/@react-stately/virtualizer/src/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/** Returns whether two sets are equal. */\nexport function isSetEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.size !== b.size) {\n return false;\n }\n\n for (let key of a) {\n if (!b.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"version":3,"file":"utils.module.js.map"}