lazy-render-virtual-scroll 1.0.6 → 1.0.7

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.
@@ -0,0 +1,46 @@
1
+ export declare class AdaptiveBufferCalculator {
2
+ private scrollFactor;
3
+ private networkFactor;
4
+ private performanceFactor;
5
+ private contentFactor;
6
+ private performanceMonitor;
7
+ private contentAnalyzer;
8
+ constructor();
9
+ calculateOptimalBuffer(params: {
10
+ scrollVelocity: number;
11
+ networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
12
+ baseBuffer: number;
13
+ visibleItems: any[];
14
+ }): Promise<number>;
15
+ private calculateScrollBuffer;
16
+ private calculateNetworkAdjustment;
17
+ private calculatePerformanceAdjustment;
18
+ private calculateContentAdjustment;
19
+ getAdaptiveInsights(params: {
20
+ scrollVelocity: number;
21
+ networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
22
+ baseBuffer: number;
23
+ visibleItems: any[];
24
+ }): Promise<{
25
+ currentBuffer: number;
26
+ performance: {
27
+ frameRate: number;
28
+ score: number;
29
+ };
30
+ network: {
31
+ quality: string;
32
+ adjustment: number;
33
+ };
34
+ complexity: {
35
+ score: number;
36
+ breakdown: any;
37
+ };
38
+ factors: {
39
+ scroll: number;
40
+ network: number;
41
+ performance: number;
42
+ content: number;
43
+ };
44
+ }>;
45
+ }
46
+ //# sourceMappingURL=AdaptiveBufferCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveBufferCalculator.d.ts","sourceRoot":"","sources":["../../src/core/AdaptiveBufferCalculator.ts"],"names":[],"mappings":"AAGA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,eAAe,CAA4B;;IAQ7C,sBAAsB,CAAC,MAAM,EAAE;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BnB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,0BAA0B;IAM5B,mBAAmB,CAAC,MAAM,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,GAAG,CAAA;SAAE,CAAC;QAC9C,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CA2BH"}
@@ -0,0 +1,13 @@
1
+ export declare class ContentComplexityAnalyzer {
2
+ analyzeContentComplexity(items: any[]): number;
3
+ private analyzeTextComplexity;
4
+ private analyzeMediaComplexity;
5
+ private analyzeComponentComplexity;
6
+ getComplexityInsights(items: any[]): {
7
+ averageComplexity: number;
8
+ textComplexity: number;
9
+ mediaComplexity: number;
10
+ componentComplexity: number;
11
+ };
12
+ }
13
+ //# sourceMappingURL=ContentComplexityAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentComplexityAnalyzer.d.ts","sourceRoot":"","sources":["../../src/core/ContentComplexityAnalyzer.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAAyB;IAEpC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAkB9C,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,0BAA0B;IAiBlC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CAyBF"}
@@ -0,0 +1,22 @@
1
+ export declare class DevicePerformanceMonitor {
2
+ private frameRateHistory;
3
+ private memoryUsageHistory;
4
+ private gcMonitoring;
5
+ private readonly HISTORY_SIZE;
6
+ constructor();
7
+ getFrameRate(): Promise<number>;
8
+ getAverageFrameRate(): number;
9
+ getMemoryInfo(): {
10
+ used: number;
11
+ total: number;
12
+ } | null;
13
+ assessPerformance(): Promise<number>;
14
+ private setupPerformanceMonitoring;
15
+ getPerformanceInsights(): {
16
+ frameRate: number;
17
+ performanceScore: number;
18
+ memoryUsed: number | null;
19
+ memoryTotal: number | null;
20
+ };
21
+ }
22
+ //# sourceMappingURL=DevicePerformanceMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevicePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/core/DevicePerformanceMonitor.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;;IAO7B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBrC,mBAAmB,IAAI,MAAM;IAO7B,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI;IAelD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB1C,OAAO,CAAC,0BAA0B;IAQlC,sBAAsB,IAAI;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;CAcF"}
@@ -8,6 +8,7 @@ export declare class Engine {
8
8
  private networkDetector;
9
9
  private networkAwarePrefetchManager;
10
10
  private networkAwareRequestQueue;
11
+ private adaptiveBufferCalculator;
11
12
  private state;
12
13
  private fetchMoreCallback;
13
14
  private totalItems;
@@ -15,7 +16,7 @@ export declare class Engine {
15
16
  /**
16
17
  * Update scroll position and recalculate visible range with intelligent detection
17
18
  */
18
- updateScrollPosition(scrollTop: number): void;
19
+ updateScrollPosition(scrollTop: number): Promise<void>;
19
20
  /**
20
21
  * Get the current visible range
21
22
  */
@@ -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;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"}
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;AAUrF,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;IAC3D,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IA8BhC;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5D;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBzC;;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"}
@@ -6,6 +6,9 @@ export { IntelligentScrollDetector } from './core/IntelligentScrollDetector';
6
6
  export { NetworkSpeedDetector } from './core/NetworkSpeedDetector';
7
7
  export { NetworkAwarePrefetchManager } from './core/NetworkAwarePrefetchManager';
8
8
  export { NetworkAwareRequestQueue } from './core/NetworkAwareRequestQueue';
9
+ export { AdaptiveBufferCalculator } from './core/AdaptiveBufferCalculator';
10
+ export { DevicePerformanceMonitor } from './core/DevicePerformanceMonitor';
11
+ export { ContentComplexityAnalyzer } from './core/ContentComplexityAnalyzer';
9
12
  export type { EngineConfig, VisibleRange, FetchMoreCallback, EngineState, ScrollAnalysis } from './core/types';
10
13
  export { ScrollObserver } from './platform/browser/ScrollObserver';
11
14
  export { useLazyList } from './adapters/react/useLazyList';
@@ -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,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"}
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,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,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"}
package/dist/esm/index.js CHANGED
@@ -486,6 +486,263 @@ class NetworkAwareRequestQueue {
486
486
  }
487
487
  }
488
488
 
489
+ class DevicePerformanceMonitor {
490
+ constructor() {
491
+ this.frameRateHistory = [];
492
+ this.memoryUsageHistory = [];
493
+ this.gcMonitoring = false;
494
+ this.HISTORY_SIZE = 10;
495
+ this.setupPerformanceMonitoring();
496
+ }
497
+ // Monitor frame rate
498
+ async getFrameRate() {
499
+ return new Promise(resolve => {
500
+ const start = performance.now();
501
+ let frames = 0;
502
+ const measure = () => {
503
+ frames++;
504
+ if (frames >= 60) { // Measure over 60 frames
505
+ const elapsed = performance.now() - start;
506
+ const fps = Math.round((frames / elapsed) * 1000);
507
+ this.frameRateHistory.push(fps);
508
+ if (this.frameRateHistory.length > this.HISTORY_SIZE) {
509
+ this.frameRateHistory.shift();
510
+ }
511
+ resolve(fps);
512
+ }
513
+ else {
514
+ requestAnimationFrame(measure);
515
+ }
516
+ };
517
+ requestAnimationFrame(measure);
518
+ });
519
+ }
520
+ // Get average frame rate
521
+ getAverageFrameRate() {
522
+ if (this.frameRateHistory.length === 0)
523
+ return 60;
524
+ const sum = this.frameRateHistory.reduce((a, b) => a + b, 0);
525
+ return sum / this.frameRateHistory.length;
526
+ }
527
+ // Monitor memory usage (where available)
528
+ getMemoryInfo() {
529
+ if ('memory' in performance) {
530
+ // @ts-ignore - memory property is non-standard
531
+ const mem = performance.memory;
532
+ if (mem) {
533
+ return {
534
+ used: mem.usedJSHeapSize,
535
+ total: mem.jsHeapSizeLimit
536
+ };
537
+ }
538
+ }
539
+ return null;
540
+ }
541
+ // Assess overall device performance
542
+ async assessPerformance() {
543
+ const frameRate = await this.getFrameRate();
544
+ const memoryInfo = this.getMemoryInfo();
545
+ // Normalize frame rate (60fps = excellent, 30fps = poor)
546
+ const frameRateScore = Math.min(frameRate / 60, 1);
547
+ // If we have memory info, factor it in
548
+ if (memoryInfo) {
549
+ const memoryScore = 1 - (memoryInfo.used / memoryInfo.total);
550
+ return (frameRateScore * 0.7) + (memoryScore * 0.3);
551
+ }
552
+ return frameRateScore;
553
+ }
554
+ setupPerformanceMonitoring() {
555
+ // Set up performance monitoring intervals
556
+ setInterval(() => {
557
+ this.getFrameRate(); // Update frame rate history
558
+ }, 5000); // Every 5 seconds
559
+ }
560
+ // Get performance insights
561
+ getPerformanceInsights() {
562
+ const frameRate = this.getAverageFrameRate();
563
+ const memoryInfo = this.getMemoryInfo();
564
+ // Calculate performance score based on frame rate
565
+ const performanceScore = Math.min(frameRate / 60, 1);
566
+ return {
567
+ frameRate,
568
+ performanceScore,
569
+ memoryUsed: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.used) || null,
570
+ memoryTotal: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.total) || null
571
+ };
572
+ }
573
+ }
574
+
575
+ class ContentComplexityAnalyzer {
576
+ // Analyze content complexity based on various factors
577
+ analyzeContentComplexity(items) {
578
+ if (items.length === 0)
579
+ return 0.1; // Minimal complexity for empty
580
+ let totalComplexity = 0;
581
+ for (const item of items) {
582
+ // Analyze different aspects of complexity
583
+ const textComplexity = this.analyzeTextComplexity(item);
584
+ const mediaComplexity = this.analyzeMediaComplexity(item);
585
+ const componentComplexity = this.analyzeComponentComplexity(item);
586
+ totalComplexity += (textComplexity + mediaComplexity + componentComplexity) / 3;
587
+ }
588
+ // Return average complexity normalized to 0-1 scale
589
+ return Math.min(totalComplexity / items.length, 1);
590
+ }
591
+ analyzeTextComplexity(item) {
592
+ let complexity = 0;
593
+ // Length of text content
594
+ if (typeof item.text === 'string') {
595
+ complexity += Math.min(item.text.length / 1000, 0.5); // Max 0.5 for text
596
+ }
597
+ // Number of text elements
598
+ if (Array.isArray(item.textElements)) {
599
+ complexity += Math.min(item.textElements.length / 10, 0.3); // Max 0.3 for elements
600
+ }
601
+ // Formatting complexity
602
+ if (item.hasRichText)
603
+ complexity += 0.2;
604
+ return Math.min(complexity, 1);
605
+ }
606
+ analyzeMediaComplexity(item) {
607
+ let complexity = 0;
608
+ // Number of media elements
609
+ if (Array.isArray(item.media)) {
610
+ complexity += Math.min(item.media.length * 0.2, 0.5);
611
+ }
612
+ // Media types (images, videos are more complex than icons)
613
+ if (item.hasVideo)
614
+ complexity += 0.3;
615
+ if (item.hasImage)
616
+ complexity += 0.15;
617
+ if (item.hasSVG)
618
+ complexity += 0.1;
619
+ return Math.min(complexity, 1);
620
+ }
621
+ analyzeComponentComplexity(item) {
622
+ let complexity = 0;
623
+ // Number of nested components
624
+ if (typeof item.componentDepth === 'number') {
625
+ complexity += Math.min(item.componentDepth * 0.1, 0.4);
626
+ }
627
+ // Interactivity
628
+ if (item.interactive)
629
+ complexity += 0.2;
630
+ if (item.hasAnimations)
631
+ complexity += 0.2;
632
+ if (item.hasState)
633
+ complexity += 0.1;
634
+ return Math.min(complexity, 1);
635
+ }
636
+ // Get complexity insights
637
+ getComplexityInsights(items) {
638
+ if (items.length === 0) {
639
+ return {
640
+ averageComplexity: 0.1,
641
+ textComplexity: 0,
642
+ mediaComplexity: 0,
643
+ componentComplexity: 0
644
+ };
645
+ }
646
+ let totalText = 0, totalMedia = 0, totalComponent = 0;
647
+ for (const item of items) {
648
+ totalText += this.analyzeTextComplexity(item);
649
+ totalMedia += this.analyzeMediaComplexity(item);
650
+ totalComponent += this.analyzeComponentComplexity(item);
651
+ }
652
+ return {
653
+ averageComplexity: this.analyzeContentComplexity(items),
654
+ textComplexity: totalText / items.length,
655
+ mediaComplexity: totalMedia / items.length,
656
+ componentComplexity: totalComponent / items.length
657
+ };
658
+ }
659
+ }
660
+
661
+ class AdaptiveBufferCalculator {
662
+ constructor() {
663
+ this.scrollFactor = 0.3; // Weight for scroll velocity
664
+ this.networkFactor = 0.3; // Weight for network quality
665
+ this.performanceFactor = 0.2; // Weight for device performance
666
+ this.contentFactor = 0.2; // Weight for content complexity
667
+ this.performanceMonitor = new DevicePerformanceMonitor();
668
+ this.contentAnalyzer = new ContentComplexityAnalyzer();
669
+ }
670
+ // Calculate optimal buffer size based on multiple factors
671
+ async calculateOptimalBuffer(params) {
672
+ // Calculate scroll-based buffer
673
+ const scrollBuffer = this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer);
674
+ // Calculate network-based adjustment
675
+ const networkAdjustment = this.calculateNetworkAdjustment(params.networkQuality);
676
+ // Calculate performance-based adjustment
677
+ const performanceScore = await this.performanceMonitor.assessPerformance();
678
+ const performanceAdjustment = this.calculatePerformanceAdjustment(performanceScore);
679
+ // Calculate content-based adjustment
680
+ const contentComplexity = this.contentAnalyzer.analyzeContentComplexity(params.visibleItems);
681
+ const contentAdjustment = this.calculateContentAdjustment(contentComplexity);
682
+ // Combine all factors
683
+ const weightedBuffer = (scrollBuffer * this.scrollFactor +
684
+ (params.baseBuffer * networkAdjustment) * this.networkFactor +
685
+ (params.baseBuffer * performanceAdjustment) * this.performanceFactor +
686
+ (params.baseBuffer * contentAdjustment) * this.contentFactor);
687
+ // Apply reasonable bounds
688
+ return Math.max(3, Math.min(50, Math.round(weightedBuffer)));
689
+ }
690
+ calculateScrollBuffer(velocity, baseBuffer) {
691
+ const absVelocity = Math.abs(velocity);
692
+ if (absVelocity > 2.0)
693
+ return baseBuffer * 4; // Very fast scroll
694
+ if (absVelocity > 1.0)
695
+ return baseBuffer * 2.5; // Fast scroll
696
+ if (absVelocity > 0.3)
697
+ return baseBuffer * 1.5; // Medium scroll
698
+ return baseBuffer * 0.8; // Slow scroll
699
+ }
700
+ calculateNetworkAdjustment(quality) {
701
+ switch (quality) {
702
+ case 'excellent': return 1.5; // More buffer on fast networks
703
+ case 'good': return 1.2; // Slightly more
704
+ case 'poor': return 0.7; // Less buffer on slow networks
705
+ case 'offline': return 0.5; // Minimal buffer when offline
706
+ default: return 1.0;
707
+ }
708
+ }
709
+ calculatePerformanceAdjustment(performance) {
710
+ // performance is 0-1 scale (0 = poor, 1 = excellent)
711
+ return 0.5 + (performance * 0.8); // Range from 0.5 to 1.3
712
+ }
713
+ calculateContentAdjustment(complexity) {
714
+ // complexity is 0-1 scale (0 = simple, 1 = complex)
715
+ return 1.5 - (complexity * 0.8); // Range from 0.7 to 1.5
716
+ }
717
+ // Get adaptive insights
718
+ async getAdaptiveInsights(params) {
719
+ const buffer = await this.calculateOptimalBuffer(params);
720
+ const perfInsights = this.performanceMonitor.getPerformanceInsights();
721
+ const complexityInsights = this.contentAnalyzer.getComplexityInsights(params.visibleItems);
722
+ return {
723
+ currentBuffer: buffer,
724
+ performance: {
725
+ frameRate: perfInsights.frameRate,
726
+ score: perfInsights.performanceScore
727
+ },
728
+ network: {
729
+ quality: params.networkQuality,
730
+ adjustment: this.calculateNetworkAdjustment(params.networkQuality)
731
+ },
732
+ complexity: {
733
+ score: this.contentAnalyzer.analyzeContentComplexity(params.visibleItems),
734
+ breakdown: complexityInsights
735
+ },
736
+ factors: {
737
+ scroll: this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer),
738
+ network: this.calculateNetworkAdjustment(params.networkQuality),
739
+ performance: this.calculatePerformanceAdjustment(perfInsights.performanceScore),
740
+ content: this.calculateContentAdjustment(complexityInsights.averageComplexity)
741
+ }
742
+ };
743
+ }
744
+ }
745
+
489
746
  class Engine {
490
747
  constructor(config) {
491
748
  this.fetchMoreCallback = null;
@@ -500,6 +757,7 @@ class Engine {
500
757
  this.networkDetector = new NetworkSpeedDetector();
501
758
  this.networkAwarePrefetchManager = new NetworkAwarePrefetchManager(this.networkDetector);
502
759
  this.networkAwareRequestQueue = new NetworkAwareRequestQueue(this.networkDetector);
760
+ this.adaptiveBufferCalculator = new AdaptiveBufferCalculator();
503
761
  this.totalItems = this.config.totalItems || Number.MAX_SAFE_INTEGER;
504
762
  this.state = {
505
763
  scrollTop: 0,
@@ -511,19 +769,26 @@ class Engine {
511
769
  /**
512
770
  * Update scroll position and recalculate visible range with intelligent detection
513
771
  */
514
- updateScrollPosition(scrollTop) {
772
+ async updateScrollPosition(scrollTop) {
515
773
  // Calculate velocity and other intelligent metrics
516
774
  const velocity = this.intelligentScrollDetector.calculateVelocity(scrollTop);
517
775
  this.intelligentScrollDetector.getDirection(velocity);
518
- // Calculate adaptive buffer based on scroll behavior
519
- const adaptiveBuffer = this.intelligentScrollDetector.calculateBuffer(velocity);
776
+ // Get network quality for adaptive buffering
777
+ const networkQuality = await this.networkDetector.assessConnectionQuality();
778
+ // Calculate adaptive buffer considering all factors
779
+ const adaptiveBuffer = await this.adaptiveBufferCalculator.calculateOptimalBuffer({
780
+ scrollVelocity: velocity,
781
+ networkQuality,
782
+ baseBuffer: this.intelligentScrollDetector.calculateBuffer(velocity),
783
+ visibleItems: [] // In a real implementation, this would be the actual visible items
784
+ });
520
785
  // Update window manager with adaptive buffer
521
786
  this.windowManager.updateBufferSize(adaptiveBuffer);
522
787
  this.state.scrollTop = scrollTop;
523
788
  this.state.visibleRange = this.windowManager.calculateVisibleRange(scrollTop);
524
789
  // Check if we need to fetch more items
525
- if (this.shouldFetchMore()) {
526
- this.fetchMore();
790
+ if (await this.shouldFetchMore()) {
791
+ await this.fetchMore();
527
792
  }
528
793
  }
529
794
  /**
@@ -544,6 +809,8 @@ class Engine {
544
809
  return false;
545
810
  // Get current velocity for intelligent prefetching
546
811
  const velocity = this.intelligentScrollDetector.calculateVelocity(this.state.scrollTop);
812
+ // Get network quality for adaptive prefetching
813
+ await this.networkDetector.assessConnectionQuality();
547
814
  // Calculate network-adjusted prefetch distance
548
815
  const prefetchDistance = await this.networkAwarePrefetchManager.calculateNetworkAdjustedPrefetch(velocity);
549
816
  // Use intelligent prefetch logic
@@ -840,5 +1107,5 @@ function throttle(func, limit) {
840
1107
  };
841
1108
  }
842
1109
 
843
- export { Engine, IntelligentScrollDetector, LazyList, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PrefetchManager, RequestQueue, ScrollObserver, WindowManager, debounce, throttle, useLazyList };
1110
+ export { AdaptiveBufferCalculator, ContentComplexityAnalyzer, DevicePerformanceMonitor, Engine, IntelligentScrollDetector, LazyList, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PrefetchManager, RequestQueue, ScrollObserver, WindowManager, debounce, throttle, useLazyList };
844
1111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/DevicePerformanceMonitor.ts","../../src/core/ContentComplexityAnalyzer.ts","../../src/core/AdaptiveBufferCalculator.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}