lazy-render-virtual-scroll 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/cjs/adapters/react/useLazyList.d.ts +10 -1
- package/dist/cjs/adapters/react/useLazyList.d.ts.map +1 -1
- package/dist/cjs/core/Engine.d.ts +8 -4
- package/dist/cjs/core/Engine.d.ts.map +1 -1
- package/dist/cjs/core/IntelligentScrollDetector.d.ts +19 -0
- package/dist/cjs/core/IntelligentScrollDetector.d.ts.map +1 -0
- package/dist/cjs/core/NetworkAwarePrefetchManager.d.ts +10 -0
- package/dist/cjs/core/NetworkAwarePrefetchManager.d.ts.map +1 -0
- package/dist/cjs/core/NetworkAwareRequestQueue.d.ts +20 -0
- package/dist/cjs/core/NetworkAwareRequestQueue.d.ts.map +1 -0
- package/dist/cjs/core/NetworkSpeedDetector.d.ts +16 -0
- package/dist/cjs/core/NetworkSpeedDetector.d.ts.map +1 -0
- package/dist/cjs/core/PrefetchManager.d.ts +7 -4
- package/dist/cjs/core/PrefetchManager.d.ts.map +1 -1
- package/dist/cjs/core/WindowManager.d.ts +4 -0
- package/dist/cjs/core/WindowManager.d.ts.map +1 -1
- package/dist/cjs/core/types.d.ts +8 -0
- package/dist/cjs/core/types.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +5 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +436 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/adapters/react/useLazyList.d.ts +10 -1
- package/dist/esm/adapters/react/useLazyList.d.ts.map +1 -1
- package/dist/esm/core/Engine.d.ts +8 -4
- package/dist/esm/core/Engine.d.ts.map +1 -1
- package/dist/esm/core/IntelligentScrollDetector.d.ts +19 -0
- package/dist/esm/core/IntelligentScrollDetector.d.ts.map +1 -0
- package/dist/esm/core/NetworkAwarePrefetchManager.d.ts +10 -0
- package/dist/esm/core/NetworkAwarePrefetchManager.d.ts.map +1 -0
- package/dist/esm/core/NetworkAwareRequestQueue.d.ts +20 -0
- package/dist/esm/core/NetworkAwareRequestQueue.d.ts.map +1 -0
- package/dist/esm/core/NetworkSpeedDetector.d.ts +16 -0
- package/dist/esm/core/NetworkSpeedDetector.d.ts.map +1 -0
- package/dist/esm/core/PrefetchManager.d.ts +7 -4
- package/dist/esm/core/PrefetchManager.d.ts.map +1 -1
- package/dist/esm/core/WindowManager.d.ts +4 -0
- package/dist/esm/core/WindowManager.d.ts.map +1 -1
- package/dist/esm/core/types.d.ts +8 -0
- package/dist/esm/core/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +433 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +101 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,11 +27,14 @@ A framework-agnostic virtual scrolling and lazy rendering solution that efficien
|
|
|
27
27
|
|
|
28
28
|
- **Framework Agnostic Core**: Pure logic implementation that works across different environments
|
|
29
29
|
- **Virtual Scrolling**: Only renders visible items to improve performance
|
|
30
|
+
- **Intelligent Scroll Detection**: Analyzes scroll velocity, direction, and patterns
|
|
31
|
+
- **Adaptive Buffer Management**: Dynamically adjusts buffer size based on scroll behavior
|
|
30
32
|
- **Smart Prefetching**: Loads data ahead of user scroll to prevent loading gaps
|
|
31
33
|
- **Memory Efficient**: Automatically cleans up off-screen elements
|
|
32
34
|
- **React Adapter**: Easy integration with React applications
|
|
33
35
|
- **Configurable Buffer**: Adjustable buffer size for optimal performance
|
|
34
36
|
- **Overscan Support**: Additional buffer for smoother scrolling
|
|
37
|
+
- **Predictive Loading**: Anticipates user needs based on scroll patterns
|
|
35
38
|
|
|
36
39
|
## Installation
|
|
37
40
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EngineConfig, VisibleRange, FetchMoreCallback } from '../../core/types';
|
|
1
|
+
import { EngineConfig, VisibleRange, FetchMoreCallback, ScrollAnalysis } from '../../core/types';
|
|
2
2
|
interface LazyListConfig extends EngineConfig {
|
|
3
3
|
fetchMore: FetchMoreCallback;
|
|
4
4
|
}
|
|
@@ -6,8 +6,17 @@ export declare const useLazyList: (config: LazyListConfig) => {
|
|
|
6
6
|
visibleRange: VisibleRange;
|
|
7
7
|
loadedItems: any[];
|
|
8
8
|
isLoading: boolean;
|
|
9
|
+
scrollAnalysis: ScrollAnalysis;
|
|
9
10
|
setContainerRef: (element: HTMLElement | null) => (() => void) | undefined;
|
|
10
11
|
refresh: () => void;
|
|
12
|
+
getScrollAnalysis: () => {
|
|
13
|
+
velocity: number;
|
|
14
|
+
direction: string;
|
|
15
|
+
buffer: number;
|
|
16
|
+
prefetchDistance: number;
|
|
17
|
+
predictedPosition: number;
|
|
18
|
+
isIdle: boolean;
|
|
19
|
+
};
|
|
11
20
|
};
|
|
12
21
|
export {};
|
|
13
22
|
//# sourceMappingURL=useLazyList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyList.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/useLazyList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLazyList.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/useLazyList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjG,UAAU,cAAe,SAAQ,YAAY;IAC3C,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,cAAc;;;;;+BAoDd,WAAW,GAAG,IAAI;;;;;;;;;;CAmDrD,CAAC"}
|
|
@@ -4,12 +4,16 @@ export declare class Engine {
|
|
|
4
4
|
private windowManager;
|
|
5
5
|
private prefetchManager;
|
|
6
6
|
private requestQueue;
|
|
7
|
+
private intelligentScrollDetector;
|
|
8
|
+
private networkDetector;
|
|
9
|
+
private networkAwarePrefetchManager;
|
|
10
|
+
private networkAwareRequestQueue;
|
|
7
11
|
private state;
|
|
8
12
|
private fetchMoreCallback;
|
|
9
13
|
private totalItems;
|
|
10
14
|
constructor(config: EngineConfig);
|
|
11
15
|
/**
|
|
12
|
-
* Update scroll position and recalculate visible range
|
|
16
|
+
* Update scroll position and recalculate visible range with intelligent detection
|
|
13
17
|
*/
|
|
14
18
|
updateScrollPosition(scrollTop: number): void;
|
|
15
19
|
/**
|
|
@@ -17,11 +21,11 @@ export declare class Engine {
|
|
|
17
21
|
*/
|
|
18
22
|
getVisibleRange(): VisibleRange;
|
|
19
23
|
/**
|
|
20
|
-
* Check if more items should be fetched
|
|
24
|
+
* Check if more items should be fetched with intelligent and network-aware detection
|
|
21
25
|
*/
|
|
22
|
-
shouldFetchMore(): boolean
|
|
26
|
+
shouldFetchMore(): Promise<boolean>;
|
|
23
27
|
/**
|
|
24
|
-
* Fetch more items
|
|
28
|
+
* Fetch more items with network awareness
|
|
25
29
|
*/
|
|
26
30
|
fetchMore(): Promise<void>;
|
|
27
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AASrF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,2BAA2B,CAA8B;IACjE,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IA6BhC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAoB7C;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class IntelligentScrollDetector {
|
|
2
|
+
private lastScrollTop;
|
|
3
|
+
private lastTime;
|
|
4
|
+
private velocityHistory;
|
|
5
|
+
private readonly HISTORY_SIZE;
|
|
6
|
+
private scrollTimeout;
|
|
7
|
+
private isIdle;
|
|
8
|
+
constructor();
|
|
9
|
+
calculateVelocity(scrollTop: number): number;
|
|
10
|
+
private getAverageVelocity;
|
|
11
|
+
getDirection(velocity: number): 'up' | 'down' | 'stationary';
|
|
12
|
+
calculateBuffer(velocity: number): number;
|
|
13
|
+
calculatePrefetchDistance(velocity: number): number;
|
|
14
|
+
predictPosition(currentPosition: number, velocity: number, msAhead?: number): number;
|
|
15
|
+
getIsIdle(): boolean;
|
|
16
|
+
private resetIdleTimer;
|
|
17
|
+
cleanup(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=IntelligentScrollDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntelligentScrollDetector.d.ts","sourceRoot":"","sources":["../../src/core/IntelligentScrollDetector.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAAyB;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAK;IAClC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAiB;;IAO/B,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IA2B5C,OAAO,CAAC,kBAAkB;IAQ1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,YAAY;IAM5D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAezC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUnD,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM;IAKzF,SAAS,IAAI,OAAO;IAKpB,OAAO,CAAC,cAAc;IAWtB,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NetworkSpeedDetector } from './NetworkSpeedDetector';
|
|
2
|
+
export declare class NetworkAwarePrefetchManager {
|
|
3
|
+
private networkDetector;
|
|
4
|
+
private basePrefetchDistance;
|
|
5
|
+
constructor(networkDetector: NetworkSpeedDetector);
|
|
6
|
+
calculateNetworkAdjustedPrefetch(velocity: number): Promise<number>;
|
|
7
|
+
calculateNetworkAdjustedBatchSize(velocity: number): Promise<number>;
|
|
8
|
+
shouldDelayPrefetch(): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=NetworkAwarePrefetchManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkAwarePrefetchManager.d.ts","sourceRoot":"","sources":["../../src/core/NetworkAwarePrefetchManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,2BAA2B;IACtC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,oBAAoB,CAAO;gBAEvB,eAAe,EAAE,oBAAoB;IAK3C,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BnE,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BpE,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;CAI9C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NetworkSpeedDetector } from './NetworkSpeedDetector';
|
|
2
|
+
export declare class NetworkAwareRequestQueue {
|
|
3
|
+
private networkDetector;
|
|
4
|
+
private queue;
|
|
5
|
+
private processing;
|
|
6
|
+
private maxConcurrent;
|
|
7
|
+
private offlineQueue;
|
|
8
|
+
constructor(networkDetector: NetworkSpeedDetector);
|
|
9
|
+
add(requestFn: () => Promise<any>): Promise<any>;
|
|
10
|
+
private processQueue;
|
|
11
|
+
private handleOfflineRequest;
|
|
12
|
+
private processOfflineQueue;
|
|
13
|
+
getQueueStatus(): {
|
|
14
|
+
pending: number;
|
|
15
|
+
offline: number;
|
|
16
|
+
maxConcurrent: number;
|
|
17
|
+
};
|
|
18
|
+
clear(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=NetworkAwareRequestQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkAwareRequestQueue.d.ts","sourceRoot":"","sources":["../../src/core/NetworkAwareRequestQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,wBAAwB;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,YAAY,CAAiC;gBAEzC,eAAe,EAAE,oBAAoB;IAK3C,GAAG,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;YA+BxC,YAAY;YA8BZ,oBAAoB;YAsBpB,mBAAmB;IAgBjC,cAAc,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAS7E,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class NetworkSpeedDetector {
|
|
2
|
+
private bandwidthHistory;
|
|
3
|
+
private latencyHistory;
|
|
4
|
+
private readonly HISTORY_SIZE;
|
|
5
|
+
estimateBandwidth(): Promise<number>;
|
|
6
|
+
measureLatency(): Promise<number>;
|
|
7
|
+
assessConnectionQuality(): Promise<'excellent' | 'good' | 'poor' | 'offline'>;
|
|
8
|
+
private getAverageBandwidth;
|
|
9
|
+
private getAverageLatency;
|
|
10
|
+
getNetworkStats(): {
|
|
11
|
+
bandwidth: number;
|
|
12
|
+
latency: number;
|
|
13
|
+
history: number[];
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=NetworkSpeedDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkSpeedDetector.d.ts","sourceRoot":"","sources":["../../src/core/NetworkSpeedDetector.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAK;IAG5B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BpC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAsBjC,uBAAuB,IAAI,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAgBnF,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAOzB,eAAe,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAO7E"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export declare class PrefetchManager {
|
|
2
|
-
private bufferSize;
|
|
3
|
-
constructor(bufferSize?: number);
|
|
4
2
|
/**
|
|
5
|
-
*
|
|
3
|
+
* This class is kept for backward compatibility
|
|
4
|
+
* Intelligent prefetching is now handled in the Engine class
|
|
5
|
+
*/
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Legacy method - not used in intelligent mode
|
|
6
9
|
*/
|
|
7
10
|
shouldPrefetch(visibleEnd: number, totalLoaded: number): boolean;
|
|
8
11
|
/**
|
|
9
|
-
* Update buffer size if it changes
|
|
12
|
+
* Update buffer size if it changes (for backward compatibility)
|
|
10
13
|
*/
|
|
11
14
|
updateBufferSize(size: number): void;
|
|
12
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrefetchManager.d.ts","sourceRoot":"","sources":["../../src/core/PrefetchManager.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IAC1B
|
|
1
|
+
{"version":3,"file":"PrefetchManager.d.ts","sourceRoot":"","sources":["../../src/core/PrefetchManager.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IAC1B;;;OAGG;;IAGH;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAKhE;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAIrC"}
|
|
@@ -16,5 +16,9 @@ export declare class WindowManager {
|
|
|
16
16
|
* Update item height if it changes
|
|
17
17
|
*/
|
|
18
18
|
updateItemHeight(height: number): void;
|
|
19
|
+
/**
|
|
20
|
+
* Update buffer size if it changes
|
|
21
|
+
*/
|
|
22
|
+
updateBufferSize(size: number): void;
|
|
19
23
|
}
|
|
20
24
|
//# sourceMappingURL=WindowManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.d.ts","sourceRoot":"","sources":["../../src/core/WindowManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU;IAM9E;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAmBtD;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"WindowManager.d.ts","sourceRoot":"","sources":["../../src/core/WindowManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU;IAM9E;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAmBtD;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGrC"}
|
package/dist/cjs/core/types.d.ts
CHANGED
|
@@ -17,4 +17,12 @@ export interface EngineState {
|
|
|
17
17
|
loadedItems: number;
|
|
18
18
|
isLoading: boolean;
|
|
19
19
|
}
|
|
20
|
+
export interface ScrollAnalysis {
|
|
21
|
+
velocity: number;
|
|
22
|
+
direction: 'up' | 'down' | 'stationary';
|
|
23
|
+
buffer: number;
|
|
24
|
+
prefetchDistance: number;
|
|
25
|
+
predictedPosition: number;
|
|
26
|
+
isIdle: boolean;
|
|
27
|
+
}
|
|
20
28
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,7 +2,11 @@ export { Engine } from './core/Engine';
|
|
|
2
2
|
export { WindowManager } from './core/WindowManager';
|
|
3
3
|
export { PrefetchManager } from './core/PrefetchManager';
|
|
4
4
|
export { RequestQueue } from './core/RequestQueue';
|
|
5
|
-
export
|
|
5
|
+
export { IntelligentScrollDetector } from './core/IntelligentScrollDetector';
|
|
6
|
+
export { NetworkSpeedDetector } from './core/NetworkSpeedDetector';
|
|
7
|
+
export { NetworkAwarePrefetchManager } from './core/NetworkAwarePrefetchManager';
|
|
8
|
+
export { NetworkAwareRequestQueue } from './core/NetworkAwareRequestQueue';
|
|
9
|
+
export type { EngineConfig, VisibleRange, FetchMoreCallback, EngineState, ScrollAnalysis } from './core/types';
|
|
6
10
|
export { ScrollObserver } from './platform/browser/ScrollObserver';
|
|
7
11
|
export { useLazyList } from './adapters/react/useLazyList';
|
|
8
12
|
export { LazyList } from './adapters/react/LazyList';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|