lazy-render-virtual-scroll 1.5.0 → 1.6.0
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 +32 -319
- package/dist/adapters/react/index.d.ts +187 -1
- package/dist/cjs/adapters/react/LazyList.js +377 -0
- package/dist/cjs/adapters/react/LazyList.js.map +1 -1
- package/dist/cjs/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/cjs/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/cjs/adapters/react/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/cjs/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/components/index.d.ts +7 -0
- package/dist/cjs/adapters/react/adapters/react/components/index.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/index.d.ts +7 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/cjs/adapters/react/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/cjs/adapters/react/adapters/react/index.d.ts +2 -0
- package/dist/cjs/adapters/react/adapters/react/index.d.ts.map +1 -1
- package/dist/cjs/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/cjs/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/cjs/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/cjs/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/cjs/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/cjs/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/cjs/adapters/react/components/index.d.ts +7 -0
- package/dist/cjs/adapters/react/components/index.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/cjs/adapters/react/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/cjs/adapters/react/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/Engine.d.ts +3 -0
- package/dist/cjs/adapters/react/core/Engine.d.ts.map +1 -1
- package/dist/cjs/adapters/react/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/cjs/adapters/react/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/IntelligentPagination.d.ts +113 -0
- package/dist/cjs/adapters/react/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/PreemptiveCache.d.ts +83 -0
- package/dist/cjs/adapters/react/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/cjs/adapters/react/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/RequestDeduplicator.d.ts +35 -0
- package/dist/cjs/adapters/react/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/cjs/adapters/react/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/cjs/adapters/react/core/VariableHeightManager.d.ts +84 -0
- package/dist/cjs/adapters/react/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/cjs/adapters/react/hooks/index.d.ts +7 -0
- package/dist/cjs/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/cjs/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/cjs/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/cjs/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/cjs/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/cjs/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/cjs/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/cjs/adapters/react/index.d.ts +9 -0
- package/dist/cjs/adapters/react/index.d.ts.map +1 -1
- package/dist/cjs/adapters/react/index.js +1738 -0
- package/dist/cjs/adapters/react/index.js.map +1 -1
- package/dist/cjs/adapters/react/useLazyList.js +377 -0
- package/dist/cjs/adapters/react/useLazyList.js.map +1 -1
- package/dist/cjs/angular/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/cjs/angular/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/cjs/angular/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/cjs/angular/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/components/index.d.ts +7 -0
- package/dist/cjs/angular/adapters/react/components/index.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/hooks/index.d.ts +7 -0
- package/dist/cjs/angular/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/cjs/angular/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/cjs/angular/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/cjs/angular/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/cjs/angular/adapters/react/index.d.ts +2 -0
- package/dist/cjs/angular/adapters/react/index.d.ts.map +1 -1
- package/dist/cjs/angular/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/cjs/angular/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/cjs/angular/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/cjs/angular/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/cjs/angular/core/Engine.d.ts +3 -0
- package/dist/cjs/angular/core/Engine.d.ts.map +1 -1
- package/dist/cjs/angular/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/cjs/angular/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/cjs/angular/core/IntelligentPagination.d.ts +113 -0
- package/dist/cjs/angular/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/cjs/angular/core/PreemptiveCache.d.ts +83 -0
- package/dist/cjs/angular/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/cjs/angular/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/cjs/angular/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/cjs/angular/core/RequestDeduplicator.d.ts +35 -0
- package/dist/cjs/angular/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/cjs/angular/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/cjs/angular/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/cjs/angular/core/VariableHeightManager.d.ts +84 -0
- package/dist/cjs/angular/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/cjs/angular/index.d.ts +9 -0
- package/dist/cjs/angular/index.d.ts.map +1 -1
- package/dist/cjs/angular/index.js +377 -0
- package/dist/cjs/angular/index.js.map +1 -1
- package/dist/cjs/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/cjs/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/cjs/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/cjs/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/cjs/core/Engine.d.ts +3 -0
- package/dist/cjs/core/Engine.d.ts.map +1 -1
- package/dist/cjs/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/cjs/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/cjs/core/IntelligentPagination.d.ts +113 -0
- package/dist/cjs/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/cjs/core/PreemptiveCache.d.ts +83 -0
- package/dist/cjs/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/cjs/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/cjs/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/cjs/core/RequestDeduplicator.d.ts +35 -0
- package/dist/cjs/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/cjs/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/cjs/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/cjs/core/VariableHeightManager.d.ts +84 -0
- package/dist/cjs/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1545 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/svelte/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/cjs/svelte/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/cjs/svelte/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/cjs/svelte/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/components/index.d.ts +7 -0
- package/dist/cjs/svelte/adapters/react/components/index.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/hooks/index.d.ts +7 -0
- package/dist/cjs/svelte/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/cjs/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/cjs/svelte/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/cjs/svelte/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/cjs/svelte/adapters/react/index.d.ts +2 -0
- package/dist/cjs/svelte/adapters/react/index.d.ts.map +1 -1
- package/dist/cjs/svelte/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/cjs/svelte/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/cjs/svelte/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/cjs/svelte/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/cjs/svelte/core/Engine.d.ts +3 -0
- package/dist/cjs/svelte/core/Engine.d.ts.map +1 -1
- package/dist/cjs/svelte/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/cjs/svelte/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/cjs/svelte/core/IntelligentPagination.d.ts +113 -0
- package/dist/cjs/svelte/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/cjs/svelte/core/PreemptiveCache.d.ts +83 -0
- package/dist/cjs/svelte/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/cjs/svelte/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/cjs/svelte/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/cjs/svelte/core/RequestDeduplicator.d.ts +35 -0
- package/dist/cjs/svelte/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/cjs/svelte/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/cjs/svelte/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/cjs/svelte/core/VariableHeightManager.d.ts +84 -0
- package/dist/cjs/svelte/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/cjs/svelte/index.d.ts +9 -0
- package/dist/cjs/svelte/index.d.ts.map +1 -1
- package/dist/cjs/svelte/index.js +377 -0
- package/dist/cjs/svelte/index.js.map +1 -1
- package/dist/cjs/vue/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/cjs/vue/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/cjs/vue/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/cjs/vue/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/components/index.d.ts +7 -0
- package/dist/cjs/vue/adapters/react/components/index.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/hooks/index.d.ts +7 -0
- package/dist/cjs/vue/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/cjs/vue/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/cjs/vue/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/cjs/vue/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/cjs/vue/adapters/react/index.d.ts +2 -0
- package/dist/cjs/vue/adapters/react/index.d.ts.map +1 -1
- package/dist/cjs/vue/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/cjs/vue/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/cjs/vue/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/cjs/vue/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/cjs/vue/core/Engine.d.ts +3 -0
- package/dist/cjs/vue/core/Engine.d.ts.map +1 -1
- package/dist/cjs/vue/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/cjs/vue/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/cjs/vue/core/IntelligentPagination.d.ts +113 -0
- package/dist/cjs/vue/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/cjs/vue/core/PreemptiveCache.d.ts +83 -0
- package/dist/cjs/vue/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/cjs/vue/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/cjs/vue/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/cjs/vue/core/RequestDeduplicator.d.ts +35 -0
- package/dist/cjs/vue/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/cjs/vue/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/cjs/vue/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/cjs/vue/core/VariableHeightManager.d.ts +84 -0
- package/dist/cjs/vue/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/cjs/vue/index.d.ts +9 -0
- package/dist/cjs/vue/index.d.ts.map +1 -1
- package/dist/cjs/vue/index.js +377 -0
- package/dist/cjs/vue/index.js.map +1 -1
- package/dist/esm/adapters/react/LazyList.js +377 -0
- package/dist/esm/adapters/react/LazyList.js.map +1 -1
- package/dist/esm/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/esm/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/esm/adapters/react/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/esm/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/components/index.d.ts +7 -0
- package/dist/esm/adapters/react/adapters/react/components/index.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/hooks/index.d.ts +7 -0
- package/dist/esm/adapters/react/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/esm/adapters/react/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/esm/adapters/react/adapters/react/index.d.ts +2 -0
- package/dist/esm/adapters/react/adapters/react/index.d.ts.map +1 -1
- package/dist/esm/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/esm/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/esm/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/esm/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/esm/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/esm/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/esm/adapters/react/components/index.d.ts +7 -0
- package/dist/esm/adapters/react/components/index.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/esm/adapters/react/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/esm/adapters/react/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/Engine.d.ts +3 -0
- package/dist/esm/adapters/react/core/Engine.d.ts.map +1 -1
- package/dist/esm/adapters/react/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/esm/adapters/react/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/IntelligentPagination.d.ts +113 -0
- package/dist/esm/adapters/react/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/PreemptiveCache.d.ts +83 -0
- package/dist/esm/adapters/react/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/esm/adapters/react/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/RequestDeduplicator.d.ts +35 -0
- package/dist/esm/adapters/react/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/esm/adapters/react/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/esm/adapters/react/core/VariableHeightManager.d.ts +84 -0
- package/dist/esm/adapters/react/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/esm/adapters/react/hooks/index.d.ts +7 -0
- package/dist/esm/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/esm/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/esm/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/esm/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/esm/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/esm/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/esm/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/esm/adapters/react/index.d.ts +9 -0
- package/dist/esm/adapters/react/index.d.ts.map +1 -1
- package/dist/esm/adapters/react/index.js +1733 -1
- package/dist/esm/adapters/react/index.js.map +1 -1
- package/dist/esm/adapters/react/useLazyList.js +377 -0
- package/dist/esm/adapters/react/useLazyList.js.map +1 -1
- package/dist/esm/angular/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/esm/angular/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/esm/angular/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/esm/angular/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/components/index.d.ts +7 -0
- package/dist/esm/angular/adapters/react/components/index.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/hooks/index.d.ts +7 -0
- package/dist/esm/angular/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/esm/angular/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/esm/angular/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/esm/angular/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/esm/angular/adapters/react/index.d.ts +2 -0
- package/dist/esm/angular/adapters/react/index.d.ts.map +1 -1
- package/dist/esm/angular/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/esm/angular/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/esm/angular/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/esm/angular/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/esm/angular/core/Engine.d.ts +3 -0
- package/dist/esm/angular/core/Engine.d.ts.map +1 -1
- package/dist/esm/angular/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/esm/angular/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/esm/angular/core/IntelligentPagination.d.ts +113 -0
- package/dist/esm/angular/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/esm/angular/core/PreemptiveCache.d.ts +83 -0
- package/dist/esm/angular/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/esm/angular/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/esm/angular/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/esm/angular/core/RequestDeduplicator.d.ts +35 -0
- package/dist/esm/angular/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/esm/angular/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/esm/angular/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/esm/angular/core/VariableHeightManager.d.ts +84 -0
- package/dist/esm/angular/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/esm/angular/index.d.ts +9 -0
- package/dist/esm/angular/index.d.ts.map +1 -1
- package/dist/esm/angular/index.js +377 -0
- package/dist/esm/angular/index.js.map +1 -1
- package/dist/esm/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/esm/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/esm/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/esm/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/esm/core/Engine.d.ts +3 -0
- package/dist/esm/core/Engine.d.ts.map +1 -1
- package/dist/esm/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/esm/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/esm/core/IntelligentPagination.d.ts +113 -0
- package/dist/esm/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/esm/core/PreemptiveCache.d.ts +83 -0
- package/dist/esm/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/esm/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/esm/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/esm/core/RequestDeduplicator.d.ts +35 -0
- package/dist/esm/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/esm/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/esm/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/esm/core/VariableHeightManager.d.ts +84 -0
- package/dist/esm/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1537 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/svelte/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/esm/svelte/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/esm/svelte/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/esm/svelte/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/components/index.d.ts +7 -0
- package/dist/esm/svelte/adapters/react/components/index.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/hooks/index.d.ts +7 -0
- package/dist/esm/svelte/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/esm/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/esm/svelte/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/esm/svelte/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/esm/svelte/adapters/react/index.d.ts +2 -0
- package/dist/esm/svelte/adapters/react/index.d.ts.map +1 -1
- package/dist/esm/svelte/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/esm/svelte/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/esm/svelte/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/esm/svelte/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/esm/svelte/core/Engine.d.ts +3 -0
- package/dist/esm/svelte/core/Engine.d.ts.map +1 -1
- package/dist/esm/svelte/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/esm/svelte/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/esm/svelte/core/IntelligentPagination.d.ts +113 -0
- package/dist/esm/svelte/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/esm/svelte/core/PreemptiveCache.d.ts +83 -0
- package/dist/esm/svelte/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/esm/svelte/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/esm/svelte/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/esm/svelte/core/RequestDeduplicator.d.ts +35 -0
- package/dist/esm/svelte/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/esm/svelte/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/esm/svelte/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/esm/svelte/core/VariableHeightManager.d.ts +84 -0
- package/dist/esm/svelte/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/esm/svelte/index.d.ts +9 -0
- package/dist/esm/svelte/index.d.ts.map +1 -1
- package/dist/esm/svelte/index.js +377 -0
- package/dist/esm/svelte/index.js.map +1 -1
- package/dist/esm/vue/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
- package/dist/esm/vue/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/components/IntelligentLazyList.d.ts +16 -0
- package/dist/esm/vue/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
- package/dist/esm/vue/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/components/index.d.ts +7 -0
- package/dist/esm/vue/adapters/react/components/index.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/hooks/index.d.ts +7 -0
- package/dist/esm/vue/adapters/react/hooks/index.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
- package/dist/esm/vue/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
- package/dist/esm/vue/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/hooks/useSmartPagination.d.ts +57 -0
- package/dist/esm/vue/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
- package/dist/esm/vue/adapters/react/index.d.ts +2 -0
- package/dist/esm/vue/adapters/react/index.d.ts.map +1 -1
- package/dist/esm/vue/core/BatchSizeOptimizer.d.ts +84 -0
- package/dist/esm/vue/core/BatchSizeOptimizer.d.ts.map +1 -0
- package/dist/esm/vue/core/DynamicHeightEngine.d.ts +107 -0
- package/dist/esm/vue/core/DynamicHeightEngine.d.ts.map +1 -0
- package/dist/esm/vue/core/Engine.d.ts +3 -0
- package/dist/esm/vue/core/Engine.d.ts.map +1 -1
- package/dist/esm/vue/core/HeightMeasurementCache.d.ts +92 -0
- package/dist/esm/vue/core/HeightMeasurementCache.d.ts.map +1 -0
- package/dist/esm/vue/core/IntelligentPagination.d.ts +113 -0
- package/dist/esm/vue/core/IntelligentPagination.d.ts.map +1 -0
- package/dist/esm/vue/core/PreemptiveCache.d.ts +83 -0
- package/dist/esm/vue/core/PreemptiveCache.d.ts.map +1 -0
- package/dist/esm/vue/core/PriorityRequestQueue.d.ts +56 -0
- package/dist/esm/vue/core/PriorityRequestQueue.d.ts.map +1 -0
- package/dist/esm/vue/core/RequestDeduplicator.d.ts +35 -0
- package/dist/esm/vue/core/RequestDeduplicator.d.ts.map +1 -0
- package/dist/esm/vue/core/SmartPrefetchAlgorithm.d.ts +63 -0
- package/dist/esm/vue/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
- package/dist/esm/vue/core/VariableHeightManager.d.ts +84 -0
- package/dist/esm/vue/core/VariableHeightManager.d.ts.map +1 -0
- package/dist/esm/vue/index.d.ts +9 -0
- package/dist/esm/vue/index.d.ts.map +1 -1
- package/dist/esm/vue/index.js +377 -0
- package/dist/esm/vue/index.js.map +1 -1
- package/dist/index.d.ts +681 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -41,6 +41,9 @@ declare class Engine {
|
|
|
41
41
|
private performanceOptimizer;
|
|
42
42
|
private memoryManager;
|
|
43
43
|
private gpuAccelerator;
|
|
44
|
+
private batchSizeOptimizer;
|
|
45
|
+
private requestDeduplicator;
|
|
46
|
+
private priorityRequestQueue;
|
|
44
47
|
private state;
|
|
45
48
|
private fetchMoreCallback;
|
|
46
49
|
private totalItems;
|
|
@@ -384,6 +387,683 @@ declare class GPUAccelerator {
|
|
|
384
387
|
getRecommendations(): string[];
|
|
385
388
|
}
|
|
386
389
|
|
|
390
|
+
/**
|
|
391
|
+
* Batch Size Optimizer
|
|
392
|
+
* Dynamically adjusts batch size based on scroll speed, network, and performance
|
|
393
|
+
*/
|
|
394
|
+
|
|
395
|
+
interface BatchConfig {
|
|
396
|
+
minBatchSize: number;
|
|
397
|
+
maxBatchSize: number;
|
|
398
|
+
baseBatchSize: number;
|
|
399
|
+
scrollSpeedThreshold: number;
|
|
400
|
+
}
|
|
401
|
+
interface BatchMetrics {
|
|
402
|
+
currentBatchSize: number;
|
|
403
|
+
scrollSpeed: number;
|
|
404
|
+
networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
|
|
405
|
+
performanceScore: number;
|
|
406
|
+
avgRenderTime: number;
|
|
407
|
+
}
|
|
408
|
+
declare class BatchSizeOptimizer {
|
|
409
|
+
private config;
|
|
410
|
+
private networkDetector;
|
|
411
|
+
private performanceMonitor;
|
|
412
|
+
private currentBatchSize;
|
|
413
|
+
private scrollSpeedHistory;
|
|
414
|
+
private renderTimeHistory;
|
|
415
|
+
private readonly HISTORY_SIZE;
|
|
416
|
+
constructor(config?: Partial<BatchConfig>, networkDetector?: NetworkSpeedDetector, performanceMonitor?: DevicePerformanceMonitor);
|
|
417
|
+
/**
|
|
418
|
+
* Calculate optimal batch size based on all factors
|
|
419
|
+
*/
|
|
420
|
+
calculateOptimalBatchSize(scrollSpeed: number): Promise<number>;
|
|
421
|
+
/**
|
|
422
|
+
* Calculate multiplier based on scroll speed
|
|
423
|
+
*/
|
|
424
|
+
private calculateSpeedMultiplier;
|
|
425
|
+
/**
|
|
426
|
+
* Calculate multiplier based on network quality
|
|
427
|
+
*/
|
|
428
|
+
private calculateNetworkMultiplier;
|
|
429
|
+
/**
|
|
430
|
+
* Calculate multiplier based on device performance
|
|
431
|
+
*/
|
|
432
|
+
private calculatePerformanceMultiplier;
|
|
433
|
+
/**
|
|
434
|
+
* Track scroll speed for averaging
|
|
435
|
+
*/
|
|
436
|
+
private trackScrollSpeed;
|
|
437
|
+
/**
|
|
438
|
+
* Get average scroll speed
|
|
439
|
+
*/
|
|
440
|
+
private getAverageScrollSpeed;
|
|
441
|
+
/**
|
|
442
|
+
* Track render time for performance monitoring
|
|
443
|
+
*/
|
|
444
|
+
trackRenderTime(renderTime: number): void;
|
|
445
|
+
/**
|
|
446
|
+
* Get average render time
|
|
447
|
+
*/
|
|
448
|
+
getAverageRenderTime(): number;
|
|
449
|
+
/**
|
|
450
|
+
* Get current batch metrics
|
|
451
|
+
*/
|
|
452
|
+
getMetrics(): BatchMetrics;
|
|
453
|
+
/**
|
|
454
|
+
* Get current batch size
|
|
455
|
+
*/
|
|
456
|
+
getCurrentBatchSize(): number;
|
|
457
|
+
/**
|
|
458
|
+
* Reset optimizer
|
|
459
|
+
*/
|
|
460
|
+
reset(): void;
|
|
461
|
+
/**
|
|
462
|
+
* Get optimization statistics
|
|
463
|
+
*/
|
|
464
|
+
getStats(): {
|
|
465
|
+
avgScrollSpeed: number;
|
|
466
|
+
avgRenderTime: number;
|
|
467
|
+
currentBatchSize: number;
|
|
468
|
+
totalAdjustments: number;
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Request Deduplication
|
|
474
|
+
* Prevents duplicate requests from being sent
|
|
475
|
+
*/
|
|
476
|
+
declare class RequestDeduplicator {
|
|
477
|
+
private pendingRequests;
|
|
478
|
+
private requestCount;
|
|
479
|
+
/**
|
|
480
|
+
* Execute request with deduplication
|
|
481
|
+
* If same request is already pending, return existing promise
|
|
482
|
+
*/
|
|
483
|
+
request<T>(key: string, requestFn: () => Promise<T>, ttl?: number): Promise<T>;
|
|
484
|
+
/**
|
|
485
|
+
* Clear specific request
|
|
486
|
+
*/
|
|
487
|
+
clear(key: string): void;
|
|
488
|
+
/**
|
|
489
|
+
* Clear all requests
|
|
490
|
+
*/
|
|
491
|
+
clearAll(): void;
|
|
492
|
+
/**
|
|
493
|
+
* Get pending request count
|
|
494
|
+
*/
|
|
495
|
+
getPendingCount(): number;
|
|
496
|
+
/**
|
|
497
|
+
* Get request statistics
|
|
498
|
+
*/
|
|
499
|
+
getStats(): {
|
|
500
|
+
pending: number;
|
|
501
|
+
totalRequests: number;
|
|
502
|
+
deduplicationRate: number;
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Priority-based Request Queue
|
|
508
|
+
* Processes high-priority requests first
|
|
509
|
+
*/
|
|
510
|
+
declare enum Priority {
|
|
511
|
+
LOW = 0,
|
|
512
|
+
NORMAL = 1,
|
|
513
|
+
HIGH = 2,
|
|
514
|
+
CRITICAL = 3
|
|
515
|
+
}
|
|
516
|
+
declare class PriorityRequestQueue {
|
|
517
|
+
private queues;
|
|
518
|
+
private processing;
|
|
519
|
+
private maxConcurrent;
|
|
520
|
+
private activeRequests;
|
|
521
|
+
constructor(maxConcurrent?: number);
|
|
522
|
+
/**
|
|
523
|
+
* Add request with priority
|
|
524
|
+
*/
|
|
525
|
+
add<T>(requestFn: () => Promise<T>, priority?: Priority): Promise<T>;
|
|
526
|
+
/**
|
|
527
|
+
* Process queue by priority
|
|
528
|
+
*/
|
|
529
|
+
private processQueue;
|
|
530
|
+
/**
|
|
531
|
+
* Get next request by priority
|
|
532
|
+
*/
|
|
533
|
+
private getNextRequest;
|
|
534
|
+
/**
|
|
535
|
+
* Check if there are pending requests
|
|
536
|
+
*/
|
|
537
|
+
private hasPendingRequests;
|
|
538
|
+
/**
|
|
539
|
+
* Get queue statistics
|
|
540
|
+
*/
|
|
541
|
+
getStats(): {
|
|
542
|
+
totalPending: number;
|
|
543
|
+
byPriority: {
|
|
544
|
+
critical: number;
|
|
545
|
+
high: number;
|
|
546
|
+
normal: number;
|
|
547
|
+
low: number;
|
|
548
|
+
};
|
|
549
|
+
activeRequests: number;
|
|
550
|
+
};
|
|
551
|
+
/**
|
|
552
|
+
* Clear all queues
|
|
553
|
+
*/
|
|
554
|
+
clear(): void;
|
|
555
|
+
/**
|
|
556
|
+
* Clear specific priority queue
|
|
557
|
+
*/
|
|
558
|
+
clearPriority(priority: Priority): void;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
interface HeightCacheStats {
|
|
562
|
+
totalItems: number;
|
|
563
|
+
measuredItems: number;
|
|
564
|
+
estimatedItems: number;
|
|
565
|
+
cacheSize: number;
|
|
566
|
+
hitRate: number;
|
|
567
|
+
}
|
|
568
|
+
declare class HeightMeasurementCache {
|
|
569
|
+
private heightMap;
|
|
570
|
+
private offsetMap;
|
|
571
|
+
private estimatedHeight;
|
|
572
|
+
private totalHeight;
|
|
573
|
+
private accessCount;
|
|
574
|
+
private hitCount;
|
|
575
|
+
private readonly DEFAULT_TTL;
|
|
576
|
+
constructor(estimatedHeight?: number);
|
|
577
|
+
/**
|
|
578
|
+
* Measure and cache height for an item
|
|
579
|
+
*/
|
|
580
|
+
measureHeight(index: number, element: HTMLElement): number;
|
|
581
|
+
/**
|
|
582
|
+
* Get height for an item (measured or estimated)
|
|
583
|
+
*/
|
|
584
|
+
getHeight(index: number): number;
|
|
585
|
+
/**
|
|
586
|
+
* Get offset (cumulative height) for an item
|
|
587
|
+
*/
|
|
588
|
+
getOffset(index: number): number;
|
|
589
|
+
/**
|
|
590
|
+
* Check if item height is measured
|
|
591
|
+
*/
|
|
592
|
+
isMeasured(index: number): boolean;
|
|
593
|
+
/**
|
|
594
|
+
* Mark item as needing remeasurement
|
|
595
|
+
*/
|
|
596
|
+
invalidate(index: number): void;
|
|
597
|
+
/**
|
|
598
|
+
* Clear specific item from cache
|
|
599
|
+
*/
|
|
600
|
+
clear(index: number): void;
|
|
601
|
+
/**
|
|
602
|
+
* Clear entire cache
|
|
603
|
+
*/
|
|
604
|
+
clearAll(): void;
|
|
605
|
+
/**
|
|
606
|
+
* Recalculate all offsets
|
|
607
|
+
*/
|
|
608
|
+
private recalculateOffsets;
|
|
609
|
+
/**
|
|
610
|
+
* Get total height of all items
|
|
611
|
+
*/
|
|
612
|
+
getTotalHeight(totalItems: number): number;
|
|
613
|
+
/**
|
|
614
|
+
* Find item index at a specific scroll position
|
|
615
|
+
*/
|
|
616
|
+
findIndexAtPosition(position: number, totalItems: number): number;
|
|
617
|
+
/**
|
|
618
|
+
* Get cache statistics
|
|
619
|
+
*/
|
|
620
|
+
getStats(totalItems: number): HeightCacheStats;
|
|
621
|
+
/**
|
|
622
|
+
* Update estimated height
|
|
623
|
+
*/
|
|
624
|
+
updateEstimatedHeight(height: number): void;
|
|
625
|
+
/**
|
|
626
|
+
* Get estimated height
|
|
627
|
+
*/
|
|
628
|
+
getEstimatedHeight(): number;
|
|
629
|
+
/**
|
|
630
|
+
* Cleanup old entries (older than TTL)
|
|
631
|
+
*/
|
|
632
|
+
cleanup(ttl?: number): void;
|
|
633
|
+
/**
|
|
634
|
+
* Get all measured heights
|
|
635
|
+
*/
|
|
636
|
+
getAllHeights(): Map<number, number>;
|
|
637
|
+
/**
|
|
638
|
+
* Set heights in bulk (for initial data load)
|
|
639
|
+
*/
|
|
640
|
+
setHeightsBulk(heights: Map<number, number>): void;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
interface VariableHeightConfig {
|
|
644
|
+
estimatedHeight: number;
|
|
645
|
+
minHeight: number;
|
|
646
|
+
maxHeight: number;
|
|
647
|
+
bufferSize: number;
|
|
648
|
+
}
|
|
649
|
+
interface ItemPosition {
|
|
650
|
+
index: number;
|
|
651
|
+
offset: number;
|
|
652
|
+
height: number;
|
|
653
|
+
}
|
|
654
|
+
declare class VariableHeightManager {
|
|
655
|
+
private heightCache;
|
|
656
|
+
private config;
|
|
657
|
+
private totalItems;
|
|
658
|
+
private lastMeasuredIndex;
|
|
659
|
+
constructor(config?: Partial<VariableHeightConfig>);
|
|
660
|
+
/**
|
|
661
|
+
* Set total number of items
|
|
662
|
+
*/
|
|
663
|
+
setTotalItems(total: number): void;
|
|
664
|
+
/**
|
|
665
|
+
* Measure item height from DOM element
|
|
666
|
+
*/
|
|
667
|
+
measureElement(index: number, element: HTMLElement | null): number;
|
|
668
|
+
/**
|
|
669
|
+
* Get item position (offset and height)
|
|
670
|
+
*/
|
|
671
|
+
getItemPosition(index: number): ItemPosition;
|
|
672
|
+
/**
|
|
673
|
+
* Calculate visible range for variable heights
|
|
674
|
+
*/
|
|
675
|
+
calculateVisibleRange(scrollTop: number, viewportHeight: number): VisibleRange;
|
|
676
|
+
/**
|
|
677
|
+
* Get total height of all items
|
|
678
|
+
*/
|
|
679
|
+
getTotalHeight(): number;
|
|
680
|
+
/**
|
|
681
|
+
* Scroll to specific item index
|
|
682
|
+
*/
|
|
683
|
+
scrollToIndex(index: number): number;
|
|
684
|
+
/**
|
|
685
|
+
* Get items to render for current viewport
|
|
686
|
+
*/
|
|
687
|
+
getItemsToRender(scrollTop: number, viewportHeight: number): {
|
|
688
|
+
items: ItemPosition[];
|
|
689
|
+
totalHeight: number;
|
|
690
|
+
};
|
|
691
|
+
/**
|
|
692
|
+
* Handle height change (when item height changes dynamically)
|
|
693
|
+
*/
|
|
694
|
+
onHeightChange(index: number, newHeight: number): void;
|
|
695
|
+
/**
|
|
696
|
+
* Get cache statistics
|
|
697
|
+
*/
|
|
698
|
+
getCacheStats(): HeightCacheStats;
|
|
699
|
+
/**
|
|
700
|
+
* Clear cache for specific range
|
|
701
|
+
*/
|
|
702
|
+
clearRange(startIndex: number, endIndex: number): void;
|
|
703
|
+
/**
|
|
704
|
+
* Clear entire cache
|
|
705
|
+
*/
|
|
706
|
+
clearCache(): void;
|
|
707
|
+
/**
|
|
708
|
+
* Get last measured index
|
|
709
|
+
*/
|
|
710
|
+
getLastMeasuredIndex(): number;
|
|
711
|
+
/**
|
|
712
|
+
* Check if item is measured
|
|
713
|
+
*/
|
|
714
|
+
isItemMeasured(index: number): boolean;
|
|
715
|
+
/**
|
|
716
|
+
* Get measured items count
|
|
717
|
+
*/
|
|
718
|
+
getMeasuredCount(): number;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
interface DynamicHeightConfig extends EngineConfig {
|
|
722
|
+
estimatedItemHeight: number;
|
|
723
|
+
minItemHeight: number;
|
|
724
|
+
maxItemHeight: number;
|
|
725
|
+
heightBufferSize: number;
|
|
726
|
+
}
|
|
727
|
+
interface DynamicHeightState extends EngineState {
|
|
728
|
+
totalContentHeight: number;
|
|
729
|
+
measuredItems: number;
|
|
730
|
+
estimatedItems: number;
|
|
731
|
+
}
|
|
732
|
+
declare class DynamicHeightEngine {
|
|
733
|
+
private config;
|
|
734
|
+
private variableHeightManager;
|
|
735
|
+
private heightCache;
|
|
736
|
+
private state;
|
|
737
|
+
private containerElement;
|
|
738
|
+
private itemElements;
|
|
739
|
+
constructor(config?: Partial<DynamicHeightConfig>);
|
|
740
|
+
/**
|
|
741
|
+
* Initialize with container element
|
|
742
|
+
*/
|
|
743
|
+
init(container: HTMLElement): void;
|
|
744
|
+
/**
|
|
745
|
+
* Setup scroll listener
|
|
746
|
+
*/
|
|
747
|
+
private setupScrollListener;
|
|
748
|
+
/**
|
|
749
|
+
* Handle scroll event
|
|
750
|
+
*/
|
|
751
|
+
private onScroll;
|
|
752
|
+
/**
|
|
753
|
+
* Update visible range based on scroll position
|
|
754
|
+
*/
|
|
755
|
+
private updateVisibleRange;
|
|
756
|
+
/**
|
|
757
|
+
* Measure item height from DOM element
|
|
758
|
+
*/
|
|
759
|
+
measureItem(index: number, element: HTMLElement): number;
|
|
760
|
+
/**
|
|
761
|
+
* Called when item height is measured
|
|
762
|
+
*/
|
|
763
|
+
private onHeightMeasured;
|
|
764
|
+
/**
|
|
765
|
+
* Get items to render for current viewport
|
|
766
|
+
*/
|
|
767
|
+
getItemsToRender(): {
|
|
768
|
+
items: Array<{
|
|
769
|
+
index: number;
|
|
770
|
+
offset: number;
|
|
771
|
+
height: number;
|
|
772
|
+
}>;
|
|
773
|
+
totalHeight: number;
|
|
774
|
+
visibleRange: VisibleRange;
|
|
775
|
+
};
|
|
776
|
+
/**
|
|
777
|
+
* Scroll to specific item index
|
|
778
|
+
*/
|
|
779
|
+
scrollToIndex(index: number): void;
|
|
780
|
+
/**
|
|
781
|
+
* Set total number of items
|
|
782
|
+
*/
|
|
783
|
+
setTotalItems(total: number): void;
|
|
784
|
+
/**
|
|
785
|
+
* Get current state
|
|
786
|
+
*/
|
|
787
|
+
getState(): DynamicHeightState;
|
|
788
|
+
/**
|
|
789
|
+
* Get cache statistics
|
|
790
|
+
*/
|
|
791
|
+
getCacheStats(): HeightCacheStats;
|
|
792
|
+
/**
|
|
793
|
+
* Clear cache for range
|
|
794
|
+
*/
|
|
795
|
+
clearCacheRange(startIndex: number, endIndex: number): void;
|
|
796
|
+
/**
|
|
797
|
+
* Clear entire cache
|
|
798
|
+
*/
|
|
799
|
+
clearCache(): void;
|
|
800
|
+
/**
|
|
801
|
+
* Cleanup
|
|
802
|
+
*/
|
|
803
|
+
cleanup(): void;
|
|
804
|
+
/**
|
|
805
|
+
* Update viewport height
|
|
806
|
+
*/
|
|
807
|
+
updateViewportHeight(height: number): void;
|
|
808
|
+
/**
|
|
809
|
+
* Get item offset for styling
|
|
810
|
+
*/
|
|
811
|
+
getItemOffset(index: number): number;
|
|
812
|
+
/**
|
|
813
|
+
* Get item height
|
|
814
|
+
*/
|
|
815
|
+
getItemHeight(index: number): number;
|
|
816
|
+
/**
|
|
817
|
+
* Check if item is measured
|
|
818
|
+
*/
|
|
819
|
+
isItemMeasured(index: number): boolean;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* Smart Prefetch Algorithm
|
|
824
|
+
* Recognizes scroll patterns and predicts data loading needs
|
|
825
|
+
*/
|
|
826
|
+
interface ScrollPattern {
|
|
827
|
+
type: 'fast-scroll' | 'slow-scroll' | 'paused' | 'oscillating' | 'steady';
|
|
828
|
+
velocity: number;
|
|
829
|
+
acceleration: number;
|
|
830
|
+
direction: 'up' | 'down' | 'stationary';
|
|
831
|
+
confidence: number;
|
|
832
|
+
}
|
|
833
|
+
interface PrefetchPrediction {
|
|
834
|
+
shouldPrefetch: boolean;
|
|
835
|
+
prefetchDistance: number;
|
|
836
|
+
batchSize: number;
|
|
837
|
+
priority: 'low' | 'normal' | 'high' | 'critical';
|
|
838
|
+
confidence: number;
|
|
839
|
+
}
|
|
840
|
+
declare class SmartPrefetchAlgorithm {
|
|
841
|
+
private velocityHistory;
|
|
842
|
+
private directionHistory;
|
|
843
|
+
private readonly HISTORY_SIZE;
|
|
844
|
+
private lastPrefetchTime;
|
|
845
|
+
private prefetchCooldown;
|
|
846
|
+
/**
|
|
847
|
+
* Analyze scroll pattern
|
|
848
|
+
*/
|
|
849
|
+
analyzeScrollPattern(velocity: number, acceleration: number, direction: 'up' | 'down' | 'stationary'): ScrollPattern;
|
|
850
|
+
/**
|
|
851
|
+
* Predict prefetch needs based on scroll pattern
|
|
852
|
+
*/
|
|
853
|
+
predictPrefetchNeeds(pattern: ScrollPattern, visibleEnd: number, totalLoaded: number): PrefetchPrediction;
|
|
854
|
+
/**
|
|
855
|
+
* Track velocity history
|
|
856
|
+
*/
|
|
857
|
+
private trackVelocity;
|
|
858
|
+
/**
|
|
859
|
+
* Track direction history
|
|
860
|
+
*/
|
|
861
|
+
private trackDirection;
|
|
862
|
+
/**
|
|
863
|
+
* Get average velocity
|
|
864
|
+
*/
|
|
865
|
+
private getAverageVelocity;
|
|
866
|
+
/**
|
|
867
|
+
* Get velocity variance
|
|
868
|
+
*/
|
|
869
|
+
private getVelocityVariance;
|
|
870
|
+
/**
|
|
871
|
+
* Count direction changes
|
|
872
|
+
*/
|
|
873
|
+
private countDirectionChanges;
|
|
874
|
+
/**
|
|
875
|
+
* Reset history
|
|
876
|
+
*/
|
|
877
|
+
reset(): void;
|
|
878
|
+
/**
|
|
879
|
+
* Get prediction confidence
|
|
880
|
+
*/
|
|
881
|
+
getConfidence(): number;
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
interface CacheConfig {
|
|
885
|
+
maxSize: number;
|
|
886
|
+
defaultTTL: number;
|
|
887
|
+
cleanupThreshold: number;
|
|
888
|
+
}
|
|
889
|
+
declare class PreemptiveCache<T> {
|
|
890
|
+
private cache;
|
|
891
|
+
private config;
|
|
892
|
+
private accessHistory;
|
|
893
|
+
constructor(config?: Partial<CacheConfig>);
|
|
894
|
+
/**
|
|
895
|
+
* Preemptively cache data with priority
|
|
896
|
+
*/
|
|
897
|
+
preemptiveCache(index: number, data: T, priority?: 'low' | 'normal' | 'high' | 'critical'): void;
|
|
898
|
+
/**
|
|
899
|
+
* Get cached data
|
|
900
|
+
*/
|
|
901
|
+
get(index: number): T | null;
|
|
902
|
+
/**
|
|
903
|
+
* Check if data is cached
|
|
904
|
+
*/
|
|
905
|
+
has(index: number): boolean;
|
|
906
|
+
/**
|
|
907
|
+
* Get cached data for range
|
|
908
|
+
*/
|
|
909
|
+
getRange(startIndex: number, endIndex: number): T[];
|
|
910
|
+
/**
|
|
911
|
+
* Delete cached data
|
|
912
|
+
*/
|
|
913
|
+
delete(index: number): boolean;
|
|
914
|
+
/**
|
|
915
|
+
* Clear cache
|
|
916
|
+
*/
|
|
917
|
+
clear(): void;
|
|
918
|
+
/**
|
|
919
|
+
* Cleanup old/low-priority entries
|
|
920
|
+
*/
|
|
921
|
+
cleanup(): void;
|
|
922
|
+
/**
|
|
923
|
+
* Track access for analytics
|
|
924
|
+
*/
|
|
925
|
+
private trackAccess;
|
|
926
|
+
/**
|
|
927
|
+
* Get cache statistics
|
|
928
|
+
*/
|
|
929
|
+
getStats(): {
|
|
930
|
+
size: number;
|
|
931
|
+
maxSize: number;
|
|
932
|
+
hitRate: number;
|
|
933
|
+
avgAccessCount: number;
|
|
934
|
+
byPriority: {
|
|
935
|
+
critical: number;
|
|
936
|
+
high: number;
|
|
937
|
+
normal: number;
|
|
938
|
+
low: number;
|
|
939
|
+
};
|
|
940
|
+
};
|
|
941
|
+
/**
|
|
942
|
+
* Get all cached indices
|
|
943
|
+
*/
|
|
944
|
+
getCachedIndices(): number[];
|
|
945
|
+
/**
|
|
946
|
+
* Preemptively cache range
|
|
947
|
+
*/
|
|
948
|
+
cacheRange(startIndex: number, endIndex: number, dataFetcher: (index: number) => T, priority?: 'low' | 'normal' | 'high' | 'critical'): void;
|
|
949
|
+
/**
|
|
950
|
+
* Get memory usage estimate
|
|
951
|
+
*/
|
|
952
|
+
getMemoryUsage(): number;
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
/**
|
|
956
|
+
* Intelligent Pagination
|
|
957
|
+
* Adaptive page size with cursor-based pagination
|
|
958
|
+
*/
|
|
959
|
+
interface PaginationState {
|
|
960
|
+
currentPage: number;
|
|
961
|
+
pageSize: number;
|
|
962
|
+
totalItems: number;
|
|
963
|
+
totalPages: number;
|
|
964
|
+
hasMore: boolean;
|
|
965
|
+
cursor?: string;
|
|
966
|
+
nextCursor?: string;
|
|
967
|
+
prevCursor?: string;
|
|
968
|
+
}
|
|
969
|
+
interface CursorData {
|
|
970
|
+
page: number;
|
|
971
|
+
limit: number;
|
|
972
|
+
timestamp: number;
|
|
973
|
+
checksum?: string;
|
|
974
|
+
}
|
|
975
|
+
declare class IntelligentPagination {
|
|
976
|
+
private currentPage;
|
|
977
|
+
private basePageSize;
|
|
978
|
+
private adaptivePageSize;
|
|
979
|
+
private totalItems;
|
|
980
|
+
private loadHistory;
|
|
981
|
+
private readonly MIN_PAGE_SIZE;
|
|
982
|
+
private readonly MAX_PAGE_SIZE;
|
|
983
|
+
/**
|
|
984
|
+
* Get current pagination state
|
|
985
|
+
*/
|
|
986
|
+
getState(): PaginationState;
|
|
987
|
+
/**
|
|
988
|
+
* Set total items
|
|
989
|
+
*/
|
|
990
|
+
setTotalItems(total: number): void;
|
|
991
|
+
/**
|
|
992
|
+
* Go to next page
|
|
993
|
+
*/
|
|
994
|
+
nextPage(): PaginationState;
|
|
995
|
+
/**
|
|
996
|
+
* Go to previous page
|
|
997
|
+
*/
|
|
998
|
+
prevPage(): PaginationState;
|
|
999
|
+
/**
|
|
1000
|
+
* Go to specific page
|
|
1001
|
+
*/
|
|
1002
|
+
goToPage(page: number): PaginationState;
|
|
1003
|
+
/**
|
|
1004
|
+
* Record load time for adaptive sizing
|
|
1005
|
+
*/
|
|
1006
|
+
recordLoadTime(page: number, loadTimeMs: number): void;
|
|
1007
|
+
/**
|
|
1008
|
+
* Adapt page size based on performance
|
|
1009
|
+
*/
|
|
1010
|
+
private adaptPageSize;
|
|
1011
|
+
/**
|
|
1012
|
+
* Create cursor for page
|
|
1013
|
+
*/
|
|
1014
|
+
createCursor(page: number): string;
|
|
1015
|
+
/**
|
|
1016
|
+
* Decode cursor
|
|
1017
|
+
*/
|
|
1018
|
+
decodeCursor(cursor: string): CursorData | null;
|
|
1019
|
+
/**
|
|
1020
|
+
* Go to page from cursor
|
|
1021
|
+
*/
|
|
1022
|
+
goToCursor(cursor: string): PaginationState;
|
|
1023
|
+
/**
|
|
1024
|
+
* Calculate checksum for cursor validation
|
|
1025
|
+
*/
|
|
1026
|
+
private calculateChecksum;
|
|
1027
|
+
/**
|
|
1028
|
+
* Validate cursor checksum
|
|
1029
|
+
*/
|
|
1030
|
+
private validateChecksum;
|
|
1031
|
+
/**
|
|
1032
|
+
* Get items to fetch for current page
|
|
1033
|
+
*/
|
|
1034
|
+
getFetchRange(): {
|
|
1035
|
+
skip: number;
|
|
1036
|
+
limit: number;
|
|
1037
|
+
};
|
|
1038
|
+
/**
|
|
1039
|
+
* Reset pagination
|
|
1040
|
+
*/
|
|
1041
|
+
reset(): void;
|
|
1042
|
+
/**
|
|
1043
|
+
* Get load history for analytics
|
|
1044
|
+
*/
|
|
1045
|
+
getLoadHistory(): {
|
|
1046
|
+
page: number;
|
|
1047
|
+
loadTime: number;
|
|
1048
|
+
}[];
|
|
1049
|
+
/**
|
|
1050
|
+
* Get average load time
|
|
1051
|
+
*/
|
|
1052
|
+
getAverageLoadTime(): number;
|
|
1053
|
+
/**
|
|
1054
|
+
* Set base page size
|
|
1055
|
+
*/
|
|
1056
|
+
setBasePageSize(size: number): void;
|
|
1057
|
+
/**
|
|
1058
|
+
* Get current page size
|
|
1059
|
+
*/
|
|
1060
|
+
getPageSize(): number;
|
|
1061
|
+
/**
|
|
1062
|
+
* Get current page number
|
|
1063
|
+
*/
|
|
1064
|
+
getCurrentPage(): number;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
387
1067
|
declare class ScrollObserver {
|
|
388
1068
|
private container;
|
|
389
1069
|
private callback;
|
|
@@ -587,5 +1267,5 @@ declare class LazyScrollElementClass {
|
|
|
587
1267
|
}
|
|
588
1268
|
declare const LazyScrollElement: typeof LazyScrollElementClass;
|
|
589
1269
|
|
|
590
|
-
export { AdaptiveBufferCalculator, ContentComplexityAnalyzer, DevicePerformanceMonitor, Engine, GPUAccelerator, IntelligentScrollDetector, LazyList, LazyScroll, LazyScrollElement, MemoryManager, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PerformanceOptimizer, PrefetchManager, RequestQueue, ScrollObserver, WindowManager, createLazyScroll, debounce, throttle, useLazyList };
|
|
1270
|
+
export { AdaptiveBufferCalculator, BatchSizeOptimizer, ContentComplexityAnalyzer, DevicePerformanceMonitor, DynamicHeightEngine, Engine, GPUAccelerator, HeightMeasurementCache, IntelligentPagination, IntelligentScrollDetector, LazyList, LazyScroll, LazyScrollElement, MemoryManager, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PerformanceOptimizer, PreemptiveCache, PrefetchManager, Priority, PriorityRequestQueue, RequestDeduplicator, RequestQueue, ScrollObserver, SmartPrefetchAlgorithm, VariableHeightManager, WindowManager, createLazyScroll, debounce, throttle, useLazyList };
|
|
591
1271
|
export type { EngineConfig, EngineState, FetchMoreCallback, ScrollAnalysis, VisibleRange };
|