@shopify/flash-list 2.0.0-alpha.15 → 2.0.0-alpha.16

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 (35) hide show
  1. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  2. package/dist/recyclerview/RecyclerView.js +7 -1
  3. package/dist/recyclerview/RecyclerView.js.map +1 -1
  4. package/dist/recyclerview/hooks/useLayoutState.d.ts +3 -1
  5. package/dist/recyclerview/hooks/useLayoutState.d.ts.map +1 -1
  6. package/dist/recyclerview/hooks/useLayoutState.js +5 -3
  7. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -1
  8. package/dist/recyclerview/hooks/useRecyclingState.d.ts +4 -2
  9. package/dist/recyclerview/hooks/useRecyclingState.d.ts.map +1 -1
  10. package/dist/recyclerview/hooks/useRecyclingState.js +2 -2
  11. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -1
  12. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +9 -1
  13. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
  14. package/dist/recyclerview/layout-managers/GridLayoutManager.js +22 -7
  15. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  16. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +26 -6
  17. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  18. package/dist/recyclerview/layout-managers/LayoutManager.js +69 -12
  19. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  20. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts +9 -1
  21. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts.map +1 -1
  22. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +28 -12
  23. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/viewability/ViewabilityManager.d.ts.map +1 -1
  26. package/dist/viewability/ViewabilityManager.js +10 -3
  27. package/dist/viewability/ViewabilityManager.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/recyclerview/RecyclerView.tsx +13 -6
  30. package/src/recyclerview/hooks/useLayoutState.ts +15 -6
  31. package/src/recyclerview/hooks/useRecyclingState.ts +11 -7
  32. package/src/recyclerview/layout-managers/GridLayoutManager.ts +26 -6
  33. package/src/recyclerview/layout-managers/LayoutManager.ts +74 -15
  34. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +30 -8
  35. package/src/viewability/ViewabilityManager.ts +10 -6
@@ -1 +1 @@
1
- {"version":3,"file":"RecyclerView.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KASN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgB/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA4fxD,KAAK,gBAAgB,GAAG,CAAC,CAAC,EACxB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAGvB,QAAA,MAAM,YAAY,EAEb,gBAAgB,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"RecyclerView.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KASN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgB/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAmgBxD,KAAK,gBAAgB,GAAG,CAAC,CAAC,EACxB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAGvB,QAAA,MAAM,YAAY,EAEb,gBAAgB,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -270,6 +270,12 @@ var RecyclerViewComponent = function (props, ref) {
270
270
  minHeight: shouldRenderFromBottom ? adjustmentMinHeight : undefined,
271
271
  }, ref: firstChildViewRef }));
272
272
  }, [horizontal, shouldRenderFromBottom, adjustmentMinHeight]);
273
+ var scrollAnchor = (0, react_1.useMemo)(function () {
274
+ if (shouldMaintainVisibleContentPosition) {
275
+ return (react_1.default.createElement(ScrollAnchor_1.ScrollAnchor, { horizontal: Boolean(horizontal), scrollAnchorRef: scrollAnchorRef }));
276
+ }
277
+ return null;
278
+ }, [horizontal, shouldMaintainVisibleContentPosition]);
273
279
  // console.log("render", recyclerViewManager.getRenderStack());
274
280
  // Render the main RecyclerView structure
275
281
  return (react_1.default.createElement(RecyclerViewContextProvider_1.RecyclerViewContextProvider, { value: recyclerViewContext },
@@ -286,7 +292,7 @@ var RecyclerViewComponent = function (props, ref) {
286
292
  }
287
293
  } },
288
294
  react_1.default.createElement(CompatScrollView, tslib_1.__assign({}, rest, { horizontal: horizontal, ref: scrollViewRef, onScroll: animatedEvent, maintainVisibleContentPosition: maintainVisibleContentPositionInternal, refreshControl: refreshControl }, overrideProps),
289
- maintainVisibleContentPositionInternal && (react_1.default.createElement(ScrollAnchor_1.ScrollAnchor, { horizontal: Boolean(horizontal), scrollAnchorRef: scrollAnchorRef })),
295
+ scrollAnchor,
290
296
  isHorizontalRTL && viewToMeasureBoundedSize,
291
297
  renderHeader,
292
298
  !isHorizontalRTL && viewToMeasureBoundedSize,
@@ -1 +1 @@
1
- {"version":3,"file":"RecyclerView.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecyclerView.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export type LayoutStateSetter<T> = (newValue: T | ((prevValue: T) => T), skipParentLayout?: boolean) => void;
2
+ export type LayoutStateInitialValue<T> = T | (() => T);
1
3
  /**
2
4
  * Custom hook that combines state management with RecyclerView layout updates.
3
5
  * This hook provides a way to manage state that affects the layout of the RecyclerView,
@@ -8,5 +10,5 @@
8
10
  * - The current state value
9
11
  * - A setter function that updates the state and triggers a layout recalculation
10
12
  */
11
- export declare function useLayoutState<T>(initialState: T | (() => T)): [T, (newValue: T | ((prevValue: T) => T)) => void];
13
+ export declare function useLayoutState<T>(initialState: LayoutStateInitialValue<T>): [T, LayoutStateSetter<T>];
12
14
  //# sourceMappingURL=useLayoutState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLayoutState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CA6BpD"}
1
+ {"version":3,"file":"useLayoutState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACnC,gBAAgB,CAAC,EAAE,OAAO,KACvB,IAAI,CAAC;AAEV,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACvC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CA+B3B"}
@@ -27,15 +27,17 @@ function useLayoutState(initialState) {
27
27
  * @param newValue - Either a new state value or a function that receives the previous state
28
28
  * and returns the new state
29
29
  */
30
- var setLayoutState = (0, react_1.useCallback)(function (newValue) {
30
+ var setLayoutState = (0, react_1.useCallback)(function (newValue, skipParentLayout) {
31
31
  // Update the state using either the new value or the result of the updater function
32
32
  setState(function (prevValue) {
33
33
  return typeof newValue === "function"
34
34
  ? newValue(prevValue)
35
35
  : newValue;
36
36
  });
37
- // Trigger a layout recalculation in the RecyclerView
38
- recyclerViewContext === null || recyclerViewContext === void 0 ? void 0 : recyclerViewContext.layout();
37
+ if (!skipParentLayout) {
38
+ // Trigger a layout recalculation in the RecyclerView
39
+ recyclerViewContext === null || recyclerViewContext === void 0 ? void 0 : recyclerViewContext.layout();
40
+ }
39
41
  }, [recyclerViewContext]);
40
42
  return [state, setLayoutState];
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useLayoutState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":";;AAcA,wCA+BC;;AA7CD,+BAA8C;AAE9C,8EAAwE;AAExE;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAA2B;IAE3B,mDAAmD;IAC7C,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAI,YAAY,CAAC,IAAA,EAA5C,KAAK,QAAA,EAAE,QAAQ,QAA6B,CAAC;IACpD,qDAAqD;IACrD,IAAM,mBAAmB,GAAG,IAAA,oDAAsB,GAAE,CAAC;IAErD;;;;;;;OAOG;IACH,IAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,UAAC,QAAmC;QAClC,oFAAoF;QACpF,QAAQ,CAAC,UAAC,SAAS;YACjB,OAAA,OAAO,QAAQ,KAAK,UAAU;gBAC5B,CAAC,CAAE,QAAgC,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,QAAQ;QAFZ,CAEY,CACb,CAAC;QACF,qDAAqD;QACrD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,EAAE,CAAC;IAChC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"useLayoutState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":";;AAqBA,wCAiCC;;AAtDD,+BAA8C;AAE9C,8EAAwE;AASxE;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAAwC;IAExC,mDAAmD;IAC7C,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAI,YAAY,CAAC,IAAA,EAA5C,KAAK,QAAA,EAAE,QAAQ,QAA6B,CAAC;IACpD,qDAAqD;IACrD,IAAM,mBAAmB,GAAG,IAAA,oDAAsB,GAAE,CAAC;IAErD;;;;;;;OAOG;IACH,IAAM,cAAc,GAAyB,IAAA,mBAAW,EACtD,UAAC,QAAQ,EAAE,gBAAgB;QACzB,oFAAoF;QACpF,QAAQ,CAAC,UAAC,SAAS;YACjB,OAAA,OAAO,QAAQ,KAAK,UAAU;gBAC5B,CAAC,CAAE,QAAgC,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,QAAQ;QAFZ,CAEY,CACb,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,qDAAqD;YACrD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,EAAE,CAAC;QAChC,CAAC;IACH,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC"}
@@ -1,4 +1,6 @@
1
- import { Dispatch, SetStateAction } from "react";
1
+ import { LayoutStateSetter } from "./useLayoutState";
2
+ export type RecyclingStateSetter<T> = LayoutStateSetter<T>;
3
+ export type RecyclingStateInitialValue<T> = T | (() => T);
2
4
  /**
3
5
  * A custom hook that provides state management with automatic reset functionality.
4
6
  * Similar to useState, but automatically resets the state when specified dependencies change.
@@ -12,5 +14,5 @@ import { Dispatch, SetStateAction } from "react";
12
14
  * - The current state value
13
15
  * - A setState function that works like useState's setState
14
16
  */
15
- export declare function useRecyclingState<T>(initialState: T | (() => T), deps: React.DependencyList, onReset?: () => void): [T, Dispatch<SetStateAction<T>>];
17
+ export declare function useRecyclingState<T>(initialState: RecyclingStateInitialValue<T>, deps: React.DependencyList, onReset?: () => void): [T, RecyclingStateSetter<T>];
16
18
  //# sourceMappingURL=useRecyclingState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclingState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAgC,MAAM,OAAO,CAAC;AAI/E;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC3B,IAAI,EAAE,KAAK,CAAC,cAAc,EAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,GACnB,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAyClC"}
1
+ {"version":3,"file":"useRecyclingState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAkB,MAAM,kBAAkB,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,YAAY,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAC3C,IAAI,EAAE,KAAK,CAAC,cAAc,EAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,GACnB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAyC9B"}
@@ -37,7 +37,7 @@ function useRecyclingState(initialState, deps, onReset) {
37
37
  * Proxy setState function that updates the stored value and triggers a re-render.
38
38
  * Only triggers a re-render if the new value is different from the current value.
39
39
  */
40
- var setStateProxy = (0, react_1.useCallback)(function (newValue) {
40
+ var setStateProxy = (0, react_1.useCallback)(function (newValue, skipParentLayout) {
41
41
  // Calculate next state value from function or direct value
42
42
  var nextState = typeof newValue === "function"
43
43
  ? newValue(valueStore.current)
@@ -45,7 +45,7 @@ function useRecyclingState(initialState, deps, onReset) {
45
45
  // Only update and trigger re-render if value has changed
46
46
  if (nextState !== valueStore.current) {
47
47
  valueStore.current = nextState;
48
- setCounter(function (prev) { return prev + 1; });
48
+ setCounter(function (prev) { return prev + 1; }, skipParentLayout);
49
49
  }
50
50
  }, [setCounter]);
51
51
  return [valueStore.current, setStateProxy];
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclingState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":";;AAiBA,8CA6CC;;AA9DD,+BAA+E;AAE/E,mDAAkD;AAElD;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAC/B,YAA2B,EAC3B,IAA0B,EAC1B,OAAoB;IAEpB,oEAAoE;IACpE,IAAM,UAAU,GAAG,IAAA,cAAM,GAAK,CAAC;IAC/B,2DAA2D;IACrD,IAAA,KAAA,eAAkB,IAAA,+BAAc,EAAC,CAAC,CAAC,IAAA,EAAlC,CAAC,QAAA,EAAE,UAAU,QAAqB,CAAC;IAE1C,uCAAuC;IACvC,IAAA,eAAO,EAAC;QACN,wDAAwD;QACxD,IAAM,YAAY,GAChB,OAAO,YAAY,KAAK,UAAU;YAChC,CAAC,CAAE,YAAwB,EAAE;YAC7B,CAAC,CAAC,YAAY,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QAClC,oCAAoC;QACpC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACZ,uDAAuD;IACzD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET;;;OAGG;IACH,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAC,QAAmC;QAClC,2DAA2D;QAC3D,IAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAAgC,CAAC,UAAU,CAAC,OAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC;QAEf,yDAAyD;QACzD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YAC/B,UAAU,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,GAAG,CAAC,EAAR,CAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,OAAQ,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"useRecyclingState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":";;AAqBA,8CA6CC;;AAlED,+BAAqD;AAErD,mDAAqE;AAMrE;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAC/B,YAA2C,EAC3C,IAA0B,EAC1B,OAAoB;IAEpB,oEAAoE;IACpE,IAAM,UAAU,GAAG,IAAA,cAAM,GAAK,CAAC;IAC/B,2DAA2D;IACrD,IAAA,KAAA,eAAkB,IAAA,+BAAc,EAAC,CAAC,CAAC,IAAA,EAAlC,CAAC,QAAA,EAAE,UAAU,QAAqB,CAAC;IAE1C,uCAAuC;IACvC,IAAA,eAAO,EAAC;QACN,wDAAwD;QACxD,IAAM,YAAY,GAChB,OAAO,YAAY,KAAK,UAAU;YAChC,CAAC,CAAE,YAAwB,EAAE;YAC7B,CAAC,CAAC,YAAY,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QAClC,oCAAoC;QACpC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACZ,uDAAuD;IACzD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET;;;OAGG;IACH,IAAM,aAAa,GAA4B,IAAA,mBAAW,EACxD,UAAC,QAAQ,EAAE,gBAAgB;QACzB,2DAA2D;QAC3D,IAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAAgC,CAAC,UAAU,CAAC,OAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC;QAEf,yDAAyD;QACzD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YAC/B,UAAU,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,GAAG,CAAC,EAAR,CAAQ,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,OAAQ,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC"}
@@ -6,6 +6,8 @@ import { LayoutParams, RVDimension, RVLayoutInfo, RVLayoutManager } from "./Layo
6
6
  export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
7
7
  /** The width of the bounded area for the grid */
8
8
  private boundedSize;
9
+ /** If there's a span change for grid layout, we need to recompute all the widths */
10
+ private fullRelayoutRequired;
9
11
  constructor(params: LayoutParams, previousLayoutManager?: RVLayoutManager);
10
12
  /**
11
13
  * Updates layout parameters and triggers recomputation if necessary.
@@ -17,12 +19,17 @@ export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
17
19
  * @param layoutInfo Array of layout information for items
18
20
  * @param itemCount Total number of items in the list
19
21
  */
20
- processLayoutInfo(layoutInfo: RVLayoutInfo[], itemCount: number): void;
22
+ processLayoutInfo(layoutInfo: RVLayoutInfo[], itemCount: number): 0 | undefined;
21
23
  /**
22
24
  * Estimates layout dimensions for an item at the given index.
23
25
  * @param index Index of the item to estimate layout for
24
26
  */
25
27
  estimateLayout(index: number): void;
28
+ /**
29
+ * Handles span change for an item.
30
+ * @param index Index of the item
31
+ */
32
+ handleSpanChange(index: number): void;
26
33
  /**
27
34
  * Returns the total size of the layout area.
28
35
  * @returns RVDimension containing width and height of the layout
@@ -54,6 +61,7 @@ export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
54
61
  * @returns Total height of the layout
55
62
  */
56
63
  private computeTotalHeight;
64
+ private updateAllWidths;
57
65
  /**
58
66
  * Checks if an item can fit within the bounded width.
59
67
  * @param itemX Starting X position of the item
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAqB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAU/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAS5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoDxC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}
1
+ {"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;IAE5B,oFAAoF;IACpF,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAkB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAiB/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAS5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoDxC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IAMvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}
@@ -11,6 +11,8 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
11
11
  tslib_1.__extends(RVGridLayoutManagerImpl, _super);
12
12
  function RVGridLayoutManagerImpl(params, previousLayoutManager) {
13
13
  var _this = _super.call(this, params, previousLayoutManager) || this;
14
+ /** If there's a span change for grid layout, we need to recompute all the widths */
15
+ _this.fullRelayoutRequired = false;
14
16
  _this.boundedSize = params.windowSize.width;
15
17
  return _this;
16
18
  }
@@ -26,10 +28,7 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
26
28
  this.boundedSize = params.windowSize.width;
27
29
  if (this.layouts.length > 0) {
28
30
  // update all widths
29
- for (var i = 0; i < this.layouts.length; i++) {
30
- this.layouts[i].width = this.getWidth(i);
31
- }
32
- // console.log("-----> recomputeLayouts");
31
+ this.updateAllWidths();
33
32
  this.recomputeLayouts(0, this.layouts.length - 1);
34
33
  this.requiresRepaint = true;
35
34
  }
@@ -59,6 +58,12 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
59
58
  }
60
59
  finally { if (e_1) throw e_1.error; }
61
60
  }
61
+ // TODO: Can be optimized
62
+ if (this.fullRelayoutRequired) {
63
+ this.updateAllWidths();
64
+ this.fullRelayoutRequired = false;
65
+ return 0;
66
+ }
62
67
  };
63
68
  /**
64
69
  * Estimates layout dimensions for an item at the given index.
@@ -71,6 +76,13 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
71
76
  layout.isWidthMeasured = true;
72
77
  layout.enforcedWidth = true;
73
78
  };
79
+ /**
80
+ * Handles span change for an item.
81
+ * @param index Index of the item
82
+ */
83
+ RVGridLayoutManagerImpl.prototype.handleSpanChange = function (index) {
84
+ this.fullRelayoutRequired = true;
85
+ };
74
86
  /**
75
87
  * Returns the total size of the layout area.
76
88
  * @returns RVDimension containing width and height of the layout
@@ -115,9 +127,7 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
115
127
  * @returns Width of the item
116
128
  */
117
129
  RVGridLayoutManagerImpl.prototype.getWidth = function (index) {
118
- var _a;
119
- var span = (_a = this.getSpanSizeInfo(index).span) !== null && _a !== void 0 ? _a : 1;
120
- return (this.boundedSize / this.maxColumns) * span;
130
+ return (this.boundedSize / this.maxColumns) * this.getSpan(index);
121
131
  };
122
132
  /**
123
133
  * Processes items in a row and returns the tallest item.
@@ -191,6 +201,11 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
191
201
  }
192
202
  return y + maxHeight;
193
203
  };
204
+ RVGridLayoutManagerImpl.prototype.updateAllWidths = function () {
205
+ for (var i = 0; i < this.layouts.length; i++) {
206
+ this.layouts[i].width = this.getWidth(i);
207
+ }
208
+ };
194
209
  /**
195
210
  * Checks if an item can fit within the bounded width.
196
211
  * @param itemX Starting X position of the item
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,6 @@ export declare abstract class RVLayoutManager {
11
11
  protected layouts: RVLayout[];
12
12
  /** Dimensions of the visible window/viewport */
13
13
  protected windowSize: RVDimension;
14
- /** Information about item spans and sizes */
15
- protected spanSizeInfo: SpanSizeInfo;
16
14
  /** Maximum number of columns in the layout */
17
15
  protected maxColumns: number;
18
16
  /** Whether to optimize item placement for better space utilization */
@@ -29,6 +27,12 @@ export declare abstract class RVLayoutManager {
29
27
  private widthAverageWindow;
30
28
  /** Maximum number of items to process in a single layout pass */
31
29
  private maxItemsToProcess;
30
+ /** Information about item spans and sizes */
31
+ private spanSizeInfo;
32
+ /** Span tracker for each item */
33
+ private spanTracker;
34
+ /** Current max index with changed layout */
35
+ private currentMaxIndexWithChangedLayout;
32
36
  constructor(params: LayoutParams, previousLayoutManager?: RVLayoutManager);
33
37
  /**
34
38
  * Gets the estimated width for an item based on its type.
@@ -108,11 +112,20 @@ export declare abstract class RVLayoutManager {
108
112
  */
109
113
  protected abstract estimateLayout(index: number): void;
110
114
  /**
111
- * Gets span size information for an item, applying any overrides.
115
+ * Gets span for an item, applying any overrides.
116
+ * This is intended to be called during a relayout call. The value is tracked and used to determine if a span change has occurred.
117
+ * If skipTracking is true, the operation is not tracked. Can be useful if span is required outside of a relayout call.
118
+ * The tracker is used to call handleSpanChange if a span change has occurred before relayout call.
119
+ * // TODO: improve this contract.
112
120
  * @param index Index of the item
113
- * @returns SpanSizeInfo for the item
121
+ * @returns Span for the item
114
122
  */
115
- protected getSpanSizeInfo(index: number): SpanSizeInfo;
123
+ protected getSpan(index: number, skipTracking?: boolean): number;
124
+ /**
125
+ * Method to handle span change for an item. Can be overridden by subclasses.
126
+ * @param index Index of the item
127
+ */
128
+ protected handleSpanChange(index: number): void;
116
129
  /**
117
130
  * Gets the maximum index to process in a single layout pass.
118
131
  * @param startIndex Starting index
@@ -130,7 +143,8 @@ export declare abstract class RVLayoutManager {
130
143
  * @param layoutInfo Array of layout information for items
131
144
  * @returns Minimum index that needs recomputation
132
145
  */
133
- private computeEstimatesAndMinRecomputeIndex;
146
+ private computeEstimatesAndMinMaxChangedLayout;
147
+ private computeMinIndexWithChangedSpan;
134
148
  }
135
149
  /**
136
150
  * Configuration parameters for the layout manager
@@ -255,6 +269,12 @@ export interface RVLayout extends RVDimension {
255
269
  * When false, the height is determined by content
256
270
  */
257
271
  enforcedHeight?: boolean;
272
+ /**
273
+ * When true, the layout is pending repositioning
274
+ * When false, the layout is up to date
275
+ * ViewHolder update is not required.
276
+ */
277
+ repositionPending?: boolean;
258
278
  }
259
279
  /**
260
280
  * Basic dimension interface representing width and height
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
@@ -15,12 +15,16 @@ var measureLayout_1 = require("../utils/measureLayout");
15
15
  var RVLayoutManager = /** @class */ (function () {
16
16
  function RVLayoutManager(params, previousLayoutManager) {
17
17
  var _a, _b;
18
- /** Information about item spans and sizes */
19
- this.spanSizeInfo = {};
20
18
  /** Flag indicating if the layout requires repainting */
21
19
  this.requiresRepaint = false;
22
20
  /** Maximum number of items to process in a single layout pass */
23
21
  this.maxItemsToProcess = 250; // TODO: make this dynamic
22
+ /** Information about item spans and sizes */
23
+ this.spanSizeInfo = {};
24
+ /** Span tracker for each item */
25
+ this.spanTracker = [];
26
+ /** Current max index with changed layout */
27
+ this.currentMaxIndexWithChangedLayout = -1;
24
28
  this.heightAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(5, 200);
25
29
  this.widthAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(5, 200);
26
30
  this.getItemType = params.getItemType;
@@ -119,24 +123,31 @@ var RVLayoutManager = /** @class */ (function () {
119
123
  var minRecomputeIndex = Number.MAX_VALUE;
120
124
  if (this.layouts.length > totalItemCount) {
121
125
  this.layouts.length = totalItemCount;
126
+ this.spanTracker.length = totalItemCount;
122
127
  minRecomputeIndex = totalItemCount - 1; // <0 gets skipped so it's safe to set to totalItemCount - 1
123
128
  }
124
129
  // update average windows
125
- minRecomputeIndex = Math.min(minRecomputeIndex, this.computeEstimatesAndMinRecomputeIndex(layoutInfo));
130
+ minRecomputeIndex = Math.min(minRecomputeIndex, this.computeEstimatesAndMinMaxChangedLayout(layoutInfo));
126
131
  if (this.layouts.length < totalItemCount && totalItemCount > 0) {
127
132
  var startIndex = this.layouts.length;
128
133
  this.layouts.length = totalItemCount;
134
+ this.spanTracker.length = totalItemCount;
129
135
  for (var i = startIndex; i < totalItemCount; i++) {
130
136
  this.getLayout(i);
137
+ this.getSpan(i);
131
138
  }
132
139
  this.recomputeLayouts(startIndex, totalItemCount - 1);
133
140
  }
134
- minRecomputeIndex = Math.min(minRecomputeIndex, (_a = this.processLayoutInfo(layoutInfo, totalItemCount)) !== null && _a !== void 0 ? _a : minRecomputeIndex);
135
141
  // compute minRecomputeIndex
136
- minRecomputeIndex = Math.min(minRecomputeIndex, this.computeEstimatesAndMinRecomputeIndex(layoutInfo));
142
+ minRecomputeIndex = Math.min(minRecomputeIndex, this.computeMinIndexWithChangedSpan(layoutInfo), (_a = this.processLayoutInfo(layoutInfo, totalItemCount)) !== null && _a !== void 0 ? _a : minRecomputeIndex, this.computeEstimatesAndMinMaxChangedLayout(layoutInfo));
137
143
  if (minRecomputeIndex >= 0 && minRecomputeIndex < totalItemCount) {
138
- this.recomputeLayouts(this.getMinRecomputeIndex(minRecomputeIndex), this.getMaxRecomputeIndex(minRecomputeIndex));
144
+ var maxRecomputeIndex = this.getMaxRecomputeIndex(minRecomputeIndex);
145
+ this.recomputeLayouts(this.getMinRecomputeIndex(minRecomputeIndex), maxRecomputeIndex);
146
+ if (maxRecomputeIndex + 1 < totalItemCount) {
147
+ this.layouts[maxRecomputeIndex + 1].repositionPending = true;
148
+ }
139
149
  }
150
+ this.currentMaxIndexWithChangedLayout = -1;
140
151
  };
141
152
  /**
142
153
  * Gets layout information for an item at the given index.
@@ -180,22 +191,38 @@ var RVLayoutManager = /** @class */ (function () {
180
191
  return this.layouts.length;
181
192
  };
182
193
  /**
183
- * Gets span size information for an item, applying any overrides.
194
+ * Gets span for an item, applying any overrides.
195
+ * This is intended to be called during a relayout call. The value is tracked and used to determine if a span change has occurred.
196
+ * If skipTracking is true, the operation is not tracked. Can be useful if span is required outside of a relayout call.
197
+ * The tracker is used to call handleSpanChange if a span change has occurred before relayout call.
198
+ * // TODO: improve this contract.
184
199
  * @param index Index of the item
185
- * @returns SpanSizeInfo for the item
200
+ * @returns Span for the item
186
201
  */
187
- RVLayoutManager.prototype.getSpanSizeInfo = function (index) {
202
+ RVLayoutManager.prototype.getSpan = function (index, skipTracking) {
203
+ var _a;
204
+ if (skipTracking === void 0) { skipTracking = false; }
188
205
  this.spanSizeInfo.span = undefined;
189
206
  this.overrideItemLayout(index, this.spanSizeInfo);
190
- return this.spanSizeInfo;
207
+ var span = Math.min((_a = this.spanSizeInfo.span) !== null && _a !== void 0 ? _a : 1, this.maxColumns);
208
+ if (!skipTracking) {
209
+ this.spanTracker[index] = span;
210
+ }
211
+ return span;
191
212
  };
213
+ /**
214
+ * Method to handle span change for an item. Can be overridden by subclasses.
215
+ * @param index Index of the item
216
+ */
217
+ RVLayoutManager.prototype.handleSpanChange = function (index) { };
192
218
  /**
193
219
  * Gets the maximum index to process in a single layout pass.
194
220
  * @param startIndex Starting index
195
221
  * @returns Maximum index to process
196
222
  */
197
223
  RVLayoutManager.prototype.getMaxRecomputeIndex = function (startIndex) {
198
- return Math.min(startIndex + this.maxItemsToProcess, this.layouts.length - 1);
224
+ return Math.min(Math.max(startIndex, this.currentMaxIndexWithChangedLayout) +
225
+ this.maxItemsToProcess, this.layouts.length - 1);
199
226
  };
200
227
  /**
201
228
  * Gets the minimum index to process in a single layout pass.
@@ -210,7 +237,7 @@ var RVLayoutManager = /** @class */ (function () {
210
237
  * @param layoutInfo Array of layout information for items
211
238
  * @returns Minimum index that needs recomputation
212
239
  */
213
- RVLayoutManager.prototype.computeEstimatesAndMinRecomputeIndex = function (layoutInfo) {
240
+ RVLayoutManager.prototype.computeEstimatesAndMinMaxChangedLayout = function (layoutInfo) {
214
241
  var e_2, _a;
215
242
  var minRecomputeIndex = Number.MAX_VALUE;
216
243
  try {
@@ -221,9 +248,14 @@ var RVLayoutManager = /** @class */ (function () {
221
248
  if (!storedLayout ||
222
249
  !storedLayout.isHeightMeasured ||
223
250
  !storedLayout.isWidthMeasured ||
251
+ storedLayout.repositionPending ||
224
252
  (0, measureLayout_1.areDimensionsNotEqual)(storedLayout.height, dimensions.height) ||
225
253
  (0, measureLayout_1.areDimensionsNotEqual)(storedLayout.width, dimensions.width)) {
226
254
  minRecomputeIndex = Math.min(minRecomputeIndex, index);
255
+ this.currentMaxIndexWithChangedLayout = Math.max(this.currentMaxIndexWithChangedLayout, index);
256
+ if (storedLayout === null || storedLayout === void 0 ? void 0 : storedLayout.repositionPending) {
257
+ storedLayout.repositionPending = false;
258
+ }
227
259
  }
228
260
  this.heightAverageWindow.addValue(dimensions.height, this.getItemType(index));
229
261
  this.widthAverageWindow.addValue(dimensions.width, this.getItemType(index));
@@ -238,6 +270,31 @@ var RVLayoutManager = /** @class */ (function () {
238
270
  }
239
271
  return minRecomputeIndex;
240
272
  };
273
+ RVLayoutManager.prototype.computeMinIndexWithChangedSpan = function (layoutInfo) {
274
+ var e_3, _a;
275
+ var minIndexWithChangedSpan = Number.MAX_VALUE;
276
+ try {
277
+ for (var layoutInfo_2 = tslib_1.__values(layoutInfo), layoutInfo_2_1 = layoutInfo_2.next(); !layoutInfo_2_1.done; layoutInfo_2_1 = layoutInfo_2.next()) {
278
+ var info = layoutInfo_2_1.value;
279
+ var index = info.index;
280
+ var span = this.getSpan(index, true);
281
+ var storedSpan = this.spanTracker[index];
282
+ if (span !== storedSpan) {
283
+ this.spanTracker[index] = span;
284
+ this.handleSpanChange(index);
285
+ minIndexWithChangedSpan = Math.min(minIndexWithChangedSpan, index);
286
+ }
287
+ }
288
+ }
289
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
290
+ finally {
291
+ try {
292
+ if (layoutInfo_2_1 && !layoutInfo_2_1.done && (_a = layoutInfo_2.return)) _a.call(layoutInfo_2);
293
+ }
294
+ finally { if (e_3) throw e_3.error; }
295
+ }
296
+ return minIndexWithChangedSpan;
297
+ };
241
298
  return RVLayoutManager;
242
299
  }());
243
300
  exports.RVLayoutManager = RVLayoutManager;
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}