@rchat/react
Advanced tools
@@ -108,2 +108,3 @@ "use strict"; | ||
| visibleItemKeys, | ||
| lastScrolledItem, | ||
| }); | ||
@@ -110,0 +111,0 @@ (0, react_1.useEffect)(() => { |
@@ -10,2 +10,3 @@ import { MutableRefObject } from 'react'; | ||
| visibleItemKeys: MutableRefObject<Set<string>>; | ||
| lastScrolledItem: MutableRefObject<T | undefined>; | ||
| }; | ||
@@ -25,2 +26,2 @@ export type EndlessListRealItem<TValue> = { | ||
| export type EndlessListItem<TValue> = EndlessListRealItem<TValue> | EndlessListPlaceholderItem; | ||
| export declare const useEndlessList: <T>({ initialItems, items, getKey, focusedItem, compareItems, handleJump, visibleItemKeys, }: UseEndlessListConfig<T>) => EndlessListItem<T>[]; | ||
| export declare const useEndlessList: <T>({ initialItems, items, getKey, focusedItem, compareItems, handleJump, visibleItemKeys, lastScrolledItem, }: UseEndlessListConfig<T>) => EndlessListItem<T>[]; |
@@ -34,3 +34,3 @@ "use strict"; | ||
| }; | ||
| const useEndlessList = ({ initialItems, items, getKey, focusedItem, compareItems, handleJump, visibleItemKeys, }) => { | ||
| const useEndlessList = ({ initialItems, items, getKey, focusedItem, compareItems, handleJump, visibleItemKeys, lastScrolledItem, }) => { | ||
| const focusedItemKey = focusedItem === undefined ? undefined : getKey(focusedItem); | ||
@@ -198,2 +198,3 @@ const defaultConvertItem = (0, react_1.useMemo)(() => valueToEndlessListItem(getKey, focusedItemKey), [getKey, focusedItemKey]); | ||
| } | ||
| lastScrolledItem.current = items[Math.floor(items.length / 2)]; | ||
| setRenderedItems(constructedItems); | ||
@@ -200,0 +201,0 @@ const newController = new AbortController(); |
+1
-1
| { | ||
| "name": "@rchat/react", | ||
| "description": "Awesome React chat", | ||
| "version": "0.11.7", | ||
| "version": "0.11.8", | ||
| "main": "./dist/src/index.js", | ||
@@ -6,0 +6,0 @@ "types": "./dist/src/index.d.ts", |
@@ -169,2 +169,3 @@ import { | ||
| visibleItemKeys, | ||
| lastScrolledItem, | ||
| }); | ||
@@ -171,0 +172,0 @@ |
@@ -15,2 +15,3 @@ import { Key, useMemo, useRef, useState, MutableRefObject, useEffect } from 'react'; | ||
| visibleItemKeys: MutableRefObject<Set<string>>; | ||
| lastScrolledItem: MutableRefObject<T | undefined>; | ||
| }; | ||
@@ -57,2 +58,3 @@ | ||
| visibleItemKeys, | ||
| lastScrolledItem, | ||
| }: UseEndlessListConfig<T>): Array<EndlessListItem<T>> => { | ||
@@ -254,2 +256,4 @@ const focusedItemKey = focusedItem === undefined ? undefined : getKey(focusedItem); | ||
| lastScrolledItem.current = items[Math.floor(items.length / 2)]; | ||
| setRenderedItems(constructedItems); | ||
@@ -263,2 +267,3 @@ const newController = new AbortController(); | ||
| } | ||
| setRenderedItems(items.map(defaultConvertItem)); | ||
@@ -265,0 +270,0 @@ } catch { |
97793
0.37%2276
0.31%