lazy-render-virtual-scroll 1.5.0 → 1.7.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 +49 -310
- 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
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic Height Engine
|
|
3
|
+
* Core engine for variable height virtual scrolling
|
|
4
|
+
*/
|
|
5
|
+
import { VisibleRange, EngineState, EngineConfig } from './types';
|
|
6
|
+
export interface DynamicHeightConfig extends EngineConfig {
|
|
7
|
+
estimatedItemHeight: number;
|
|
8
|
+
minItemHeight: number;
|
|
9
|
+
maxItemHeight: number;
|
|
10
|
+
heightBufferSize: number;
|
|
11
|
+
}
|
|
12
|
+
export interface DynamicHeightState extends EngineState {
|
|
13
|
+
totalContentHeight: number;
|
|
14
|
+
measuredItems: number;
|
|
15
|
+
estimatedItems: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class DynamicHeightEngine {
|
|
18
|
+
private config;
|
|
19
|
+
private variableHeightManager;
|
|
20
|
+
private heightCache;
|
|
21
|
+
private state;
|
|
22
|
+
private containerElement;
|
|
23
|
+
private itemElements;
|
|
24
|
+
constructor(config?: Partial<DynamicHeightConfig>);
|
|
25
|
+
/**
|
|
26
|
+
* Initialize with container element
|
|
27
|
+
*/
|
|
28
|
+
init(container: HTMLElement): void;
|
|
29
|
+
/**
|
|
30
|
+
* Setup scroll listener
|
|
31
|
+
*/
|
|
32
|
+
private setupScrollListener;
|
|
33
|
+
/**
|
|
34
|
+
* Handle scroll event
|
|
35
|
+
*/
|
|
36
|
+
private onScroll;
|
|
37
|
+
/**
|
|
38
|
+
* Update visible range based on scroll position
|
|
39
|
+
*/
|
|
40
|
+
private updateVisibleRange;
|
|
41
|
+
/**
|
|
42
|
+
* Measure item height from DOM element
|
|
43
|
+
*/
|
|
44
|
+
measureItem(index: number, element: HTMLElement): number;
|
|
45
|
+
/**
|
|
46
|
+
* Called when item height is measured
|
|
47
|
+
*/
|
|
48
|
+
private onHeightMeasured;
|
|
49
|
+
/**
|
|
50
|
+
* Get items to render for current viewport
|
|
51
|
+
*/
|
|
52
|
+
getItemsToRender(): {
|
|
53
|
+
items: Array<{
|
|
54
|
+
index: number;
|
|
55
|
+
offset: number;
|
|
56
|
+
height: number;
|
|
57
|
+
}>;
|
|
58
|
+
totalHeight: number;
|
|
59
|
+
visibleRange: VisibleRange;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Scroll to specific item index
|
|
63
|
+
*/
|
|
64
|
+
scrollToIndex(index: number): void;
|
|
65
|
+
/**
|
|
66
|
+
* Set total number of items
|
|
67
|
+
*/
|
|
68
|
+
setTotalItems(total: number): void;
|
|
69
|
+
/**
|
|
70
|
+
* Get current state
|
|
71
|
+
*/
|
|
72
|
+
getState(): DynamicHeightState;
|
|
73
|
+
/**
|
|
74
|
+
* Get cache statistics
|
|
75
|
+
*/
|
|
76
|
+
getCacheStats(): import("./HeightMeasurementCache").HeightCacheStats;
|
|
77
|
+
/**
|
|
78
|
+
* Clear cache for range
|
|
79
|
+
*/
|
|
80
|
+
clearCacheRange(startIndex: number, endIndex: number): void;
|
|
81
|
+
/**
|
|
82
|
+
* Clear entire cache
|
|
83
|
+
*/
|
|
84
|
+
clearCache(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Cleanup
|
|
87
|
+
*/
|
|
88
|
+
cleanup(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Update viewport height
|
|
91
|
+
*/
|
|
92
|
+
updateViewportHeight(height: number): void;
|
|
93
|
+
/**
|
|
94
|
+
* Get item offset for styling
|
|
95
|
+
*/
|
|
96
|
+
getItemOffset(index: number): number;
|
|
97
|
+
/**
|
|
98
|
+
* Get item height
|
|
99
|
+
*/
|
|
100
|
+
getItemHeight(index: number): number;
|
|
101
|
+
/**
|
|
102
|
+
* Check if item is measured
|
|
103
|
+
*/
|
|
104
|
+
isItemMeasured(index: number): boolean;
|
|
105
|
+
}
|
|
106
|
+
export default DynamicHeightEngine;
|
|
107
|
+
//# sourceMappingURL=DynamicHeightEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicHeightEngine.d.ts","sourceRoot":"","sources":["../../src/core/DynamicHeightEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAuC;gBAE/C,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IA+BrD;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM;IAkBxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,gBAAgB,IAAI;QAClB,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChE,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,YAAY,CAAC;KAC5B;IAqBD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWlC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC;;OAEG;IACH,QAAQ,IAAI,kBAAkB;IAI9B;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS3D;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -12,6 +12,9 @@ export declare class Engine {
|
|
|
12
12
|
private performanceOptimizer;
|
|
13
13
|
private memoryManager;
|
|
14
14
|
private gpuAccelerator;
|
|
15
|
+
private batchSizeOptimizer;
|
|
16
|
+
private requestDeduplicator;
|
|
17
|
+
private priorityRequestQueue;
|
|
15
18
|
private state;
|
|
16
19
|
private fetchMoreCallback;
|
|
17
20
|
private totalItems;
|
|
@@ -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;AAgBrF,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;IAC3D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IAoChC;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5D;;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;CAQhB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Height Measurement Cache
|
|
3
|
+
* Dynamically measures and caches item heights for variable height support
|
|
4
|
+
*/
|
|
5
|
+
export interface HeightCacheEntry {
|
|
6
|
+
height: number;
|
|
7
|
+
measured: boolean;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
}
|
|
10
|
+
export interface HeightCacheStats {
|
|
11
|
+
totalItems: number;
|
|
12
|
+
measuredItems: number;
|
|
13
|
+
estimatedItems: number;
|
|
14
|
+
cacheSize: number;
|
|
15
|
+
hitRate: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class HeightMeasurementCache {
|
|
18
|
+
private heightMap;
|
|
19
|
+
private offsetMap;
|
|
20
|
+
private estimatedHeight;
|
|
21
|
+
private totalHeight;
|
|
22
|
+
private accessCount;
|
|
23
|
+
private hitCount;
|
|
24
|
+
private readonly DEFAULT_TTL;
|
|
25
|
+
constructor(estimatedHeight?: number);
|
|
26
|
+
/**
|
|
27
|
+
* Measure and cache height for an item
|
|
28
|
+
*/
|
|
29
|
+
measureHeight(index: number, element: HTMLElement): number;
|
|
30
|
+
/**
|
|
31
|
+
* Get height for an item (measured or estimated)
|
|
32
|
+
*/
|
|
33
|
+
getHeight(index: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Get offset (cumulative height) for an item
|
|
36
|
+
*/
|
|
37
|
+
getOffset(index: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Check if item height is measured
|
|
40
|
+
*/
|
|
41
|
+
isMeasured(index: number): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Mark item as needing remeasurement
|
|
44
|
+
*/
|
|
45
|
+
invalidate(index: number): void;
|
|
46
|
+
/**
|
|
47
|
+
* Clear specific item from cache
|
|
48
|
+
*/
|
|
49
|
+
clear(index: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear entire cache
|
|
52
|
+
*/
|
|
53
|
+
clearAll(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Recalculate all offsets
|
|
56
|
+
*/
|
|
57
|
+
private recalculateOffsets;
|
|
58
|
+
/**
|
|
59
|
+
* Get total height of all items
|
|
60
|
+
*/
|
|
61
|
+
getTotalHeight(totalItems: number): number;
|
|
62
|
+
/**
|
|
63
|
+
* Find item index at a specific scroll position
|
|
64
|
+
*/
|
|
65
|
+
findIndexAtPosition(position: number, totalItems: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* Get cache statistics
|
|
68
|
+
*/
|
|
69
|
+
getStats(totalItems: number): HeightCacheStats;
|
|
70
|
+
/**
|
|
71
|
+
* Update estimated height
|
|
72
|
+
*/
|
|
73
|
+
updateEstimatedHeight(height: number): void;
|
|
74
|
+
/**
|
|
75
|
+
* Get estimated height
|
|
76
|
+
*/
|
|
77
|
+
getEstimatedHeight(): number;
|
|
78
|
+
/**
|
|
79
|
+
* Cleanup old entries (older than TTL)
|
|
80
|
+
*/
|
|
81
|
+
cleanup(ttl?: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* Get all measured heights
|
|
84
|
+
*/
|
|
85
|
+
getAllHeights(): Map<number, number>;
|
|
86
|
+
/**
|
|
87
|
+
* Set heights in bulk (for initial data load)
|
|
88
|
+
*/
|
|
89
|
+
setHeightsBulk(heights: Map<number, number>): void;
|
|
90
|
+
}
|
|
91
|
+
export default HeightMeasurementCache;
|
|
92
|
+
//# sourceMappingURL=HeightMeasurementCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeightMeasurementCache.d.ts","sourceRoot":"","sources":["../../src/core/HeightMeasurementCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;gBAEjC,eAAe,GAAE,MAAY;IAIzC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM;IAe1D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAchC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO/B;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAc1C;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAoBjE;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAa9C;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,OAAO,CAAC,GAAG,GAAE,MAAyB,GAAG,IAAI;IAa7C;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAQpC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAUnD;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intelligent Pagination
|
|
3
|
+
* Adaptive page size with cursor-based pagination
|
|
4
|
+
*/
|
|
5
|
+
export interface PaginationState {
|
|
6
|
+
currentPage: number;
|
|
7
|
+
pageSize: number;
|
|
8
|
+
totalItems: number;
|
|
9
|
+
totalPages: number;
|
|
10
|
+
hasMore: boolean;
|
|
11
|
+
cursor?: string;
|
|
12
|
+
nextCursor?: string;
|
|
13
|
+
prevCursor?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CursorData {
|
|
16
|
+
page: number;
|
|
17
|
+
limit: number;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
checksum?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class IntelligentPagination {
|
|
22
|
+
private currentPage;
|
|
23
|
+
private basePageSize;
|
|
24
|
+
private adaptivePageSize;
|
|
25
|
+
private totalItems;
|
|
26
|
+
private loadHistory;
|
|
27
|
+
private readonly MIN_PAGE_SIZE;
|
|
28
|
+
private readonly MAX_PAGE_SIZE;
|
|
29
|
+
/**
|
|
30
|
+
* Get current pagination state
|
|
31
|
+
*/
|
|
32
|
+
getState(): PaginationState;
|
|
33
|
+
/**
|
|
34
|
+
* Set total items
|
|
35
|
+
*/
|
|
36
|
+
setTotalItems(total: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Go to next page
|
|
39
|
+
*/
|
|
40
|
+
nextPage(): PaginationState;
|
|
41
|
+
/**
|
|
42
|
+
* Go to previous page
|
|
43
|
+
*/
|
|
44
|
+
prevPage(): PaginationState;
|
|
45
|
+
/**
|
|
46
|
+
* Go to specific page
|
|
47
|
+
*/
|
|
48
|
+
goToPage(page: number): PaginationState;
|
|
49
|
+
/**
|
|
50
|
+
* Record load time for adaptive sizing
|
|
51
|
+
*/
|
|
52
|
+
recordLoadTime(page: number, loadTimeMs: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Adapt page size based on performance
|
|
55
|
+
*/
|
|
56
|
+
private adaptPageSize;
|
|
57
|
+
/**
|
|
58
|
+
* Create cursor for page
|
|
59
|
+
*/
|
|
60
|
+
createCursor(page: number): string;
|
|
61
|
+
/**
|
|
62
|
+
* Decode cursor
|
|
63
|
+
*/
|
|
64
|
+
decodeCursor(cursor: string): CursorData | null;
|
|
65
|
+
/**
|
|
66
|
+
* Go to page from cursor
|
|
67
|
+
*/
|
|
68
|
+
goToCursor(cursor: string): PaginationState;
|
|
69
|
+
/**
|
|
70
|
+
* Calculate checksum for cursor validation
|
|
71
|
+
*/
|
|
72
|
+
private calculateChecksum;
|
|
73
|
+
/**
|
|
74
|
+
* Validate cursor checksum
|
|
75
|
+
*/
|
|
76
|
+
private validateChecksum;
|
|
77
|
+
/**
|
|
78
|
+
* Get items to fetch for current page
|
|
79
|
+
*/
|
|
80
|
+
getFetchRange(): {
|
|
81
|
+
skip: number;
|
|
82
|
+
limit: number;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Reset pagination
|
|
86
|
+
*/
|
|
87
|
+
reset(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Get load history for analytics
|
|
90
|
+
*/
|
|
91
|
+
getLoadHistory(): {
|
|
92
|
+
page: number;
|
|
93
|
+
loadTime: number;
|
|
94
|
+
}[];
|
|
95
|
+
/**
|
|
96
|
+
* Get average load time
|
|
97
|
+
*/
|
|
98
|
+
getAverageLoadTime(): number;
|
|
99
|
+
/**
|
|
100
|
+
* Set base page size
|
|
101
|
+
*/
|
|
102
|
+
setBasePageSize(size: number): void;
|
|
103
|
+
/**
|
|
104
|
+
* Get current page size
|
|
105
|
+
*/
|
|
106
|
+
getPageSize(): number;
|
|
107
|
+
/**
|
|
108
|
+
* Get current page number
|
|
109
|
+
*/
|
|
110
|
+
getCurrentPage(): number;
|
|
111
|
+
}
|
|
112
|
+
export default IntelligentPagination;
|
|
113
|
+
//# sourceMappingURL=IntelligentPagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntelligentPagination.d.ts","sourceRoot":"","sources":["../../src/core/IntelligentPagination.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IAErC;;OAEG;IACH,QAAQ,IAAI,eAAe;IAgB3B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,QAAQ,IAAI,eAAe;IAQ3B;;OAEG;IACH,QAAQ,IAAI,eAAe;IAO3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAMvC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAYtD;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAalC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAe/C;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAW3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAOhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,cAAc,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE;IAItD;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAK5B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preemptive Caching
|
|
3
|
+
* Caches data before it's needed based on predictions
|
|
4
|
+
*/
|
|
5
|
+
export interface CacheEntry<T> {
|
|
6
|
+
data: T;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
priority: 'low' | 'normal' | 'high' | 'critical';
|
|
9
|
+
accessCount: number;
|
|
10
|
+
expiry: number;
|
|
11
|
+
}
|
|
12
|
+
export interface CacheConfig {
|
|
13
|
+
maxSize: number;
|
|
14
|
+
defaultTTL: number;
|
|
15
|
+
cleanupThreshold: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class PreemptiveCache<T> {
|
|
18
|
+
private cache;
|
|
19
|
+
private config;
|
|
20
|
+
private accessHistory;
|
|
21
|
+
constructor(config?: Partial<CacheConfig>);
|
|
22
|
+
/**
|
|
23
|
+
* Preemptively cache data with priority
|
|
24
|
+
*/
|
|
25
|
+
preemptiveCache(index: number, data: T, priority?: 'low' | 'normal' | 'high' | 'critical'): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get cached data
|
|
28
|
+
*/
|
|
29
|
+
get(index: number): T | null;
|
|
30
|
+
/**
|
|
31
|
+
* Check if data is cached
|
|
32
|
+
*/
|
|
33
|
+
has(index: number): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get cached data for range
|
|
36
|
+
*/
|
|
37
|
+
getRange(startIndex: number, endIndex: number): T[];
|
|
38
|
+
/**
|
|
39
|
+
* Delete cached data
|
|
40
|
+
*/
|
|
41
|
+
delete(index: number): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Clear cache
|
|
44
|
+
*/
|
|
45
|
+
clear(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Cleanup old/low-priority entries
|
|
48
|
+
*/
|
|
49
|
+
cleanup(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Track access for analytics
|
|
52
|
+
*/
|
|
53
|
+
private trackAccess;
|
|
54
|
+
/**
|
|
55
|
+
* Get cache statistics
|
|
56
|
+
*/
|
|
57
|
+
getStats(): {
|
|
58
|
+
size: number;
|
|
59
|
+
maxSize: number;
|
|
60
|
+
hitRate: number;
|
|
61
|
+
avgAccessCount: number;
|
|
62
|
+
byPriority: {
|
|
63
|
+
critical: number;
|
|
64
|
+
high: number;
|
|
65
|
+
normal: number;
|
|
66
|
+
low: number;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Get all cached indices
|
|
71
|
+
*/
|
|
72
|
+
getCachedIndices(): number[];
|
|
73
|
+
/**
|
|
74
|
+
* Preemptively cache range
|
|
75
|
+
*/
|
|
76
|
+
cacheRange(startIndex: number, endIndex: number, dataFetcher: (index: number) => T, priority?: 'low' | 'normal' | 'high' | 'critical'): void;
|
|
77
|
+
/**
|
|
78
|
+
* Get memory usage estimate
|
|
79
|
+
*/
|
|
80
|
+
getMemoryUsage(): number;
|
|
81
|
+
}
|
|
82
|
+
export default PreemptiveCache;
|
|
83
|
+
//# sourceMappingURL=PreemptiveCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreemptiveCache.d.ts","sourceRoot":"","sources":["../../src/core/PreemptiveCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,eAAe,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAQzC;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAqB,GAAG,IAAI;IAiB1G;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAoB5B;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa3B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;IAanD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,IAAI,IAAI;IA+Bf;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,QAAQ,IAAI;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH;IAyBD;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI;IAS5I;;OAEG;IACH,cAAc,IAAI,MAAM;CAIzB;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Priority-based Request Queue
|
|
3
|
+
* Processes high-priority requests first
|
|
4
|
+
*/
|
|
5
|
+
export declare enum Priority {
|
|
6
|
+
LOW = 0,
|
|
7
|
+
NORMAL = 1,
|
|
8
|
+
HIGH = 2,
|
|
9
|
+
CRITICAL = 3
|
|
10
|
+
}
|
|
11
|
+
export declare class PriorityRequestQueue {
|
|
12
|
+
private queues;
|
|
13
|
+
private processing;
|
|
14
|
+
private maxConcurrent;
|
|
15
|
+
private activeRequests;
|
|
16
|
+
constructor(maxConcurrent?: number);
|
|
17
|
+
/**
|
|
18
|
+
* Add request with priority
|
|
19
|
+
*/
|
|
20
|
+
add<T>(requestFn: () => Promise<T>, priority?: Priority): Promise<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Process queue by priority
|
|
23
|
+
*/
|
|
24
|
+
private processQueue;
|
|
25
|
+
/**
|
|
26
|
+
* Get next request by priority
|
|
27
|
+
*/
|
|
28
|
+
private getNextRequest;
|
|
29
|
+
/**
|
|
30
|
+
* Check if there are pending requests
|
|
31
|
+
*/
|
|
32
|
+
private hasPendingRequests;
|
|
33
|
+
/**
|
|
34
|
+
* Get queue statistics
|
|
35
|
+
*/
|
|
36
|
+
getStats(): {
|
|
37
|
+
totalPending: number;
|
|
38
|
+
byPriority: {
|
|
39
|
+
critical: number;
|
|
40
|
+
high: number;
|
|
41
|
+
normal: number;
|
|
42
|
+
low: number;
|
|
43
|
+
};
|
|
44
|
+
activeRequests: number;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Clear all queues
|
|
48
|
+
*/
|
|
49
|
+
clear(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear specific priority queue
|
|
52
|
+
*/
|
|
53
|
+
clearPriority(priority: Priority): void;
|
|
54
|
+
}
|
|
55
|
+
export default PriorityRequestQueue;
|
|
56
|
+
//# sourceMappingURL=PriorityRequestQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriorityRequestQueue.d.ts","sourceRoot":"","sources":["../../src/core/PriorityRequestQueue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,QAAQ;IAClB,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;IACR,QAAQ,IAAI;CACb;AAUD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;gBAEvB,aAAa,GAAE,MAAU;IAWrC;;OAEG;IACH,GAAG,CAAC,CAAC,EACH,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,GAAE,QAA0B,GACnC,OAAO,CAAC,CAAC,CAAC;IAsBb;;OAEG;YACW,YAAY;IA0B1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,cAAc,EAAE,MAAM,CAAC;KACxB;IAeD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAMxC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request Deduplication
|
|
3
|
+
* Prevents duplicate requests from being sent
|
|
4
|
+
*/
|
|
5
|
+
export declare class RequestDeduplicator {
|
|
6
|
+
private pendingRequests;
|
|
7
|
+
private requestCount;
|
|
8
|
+
/**
|
|
9
|
+
* Execute request with deduplication
|
|
10
|
+
* If same request is already pending, return existing promise
|
|
11
|
+
*/
|
|
12
|
+
request<T>(key: string, requestFn: () => Promise<T>, ttl?: number): Promise<T>;
|
|
13
|
+
/**
|
|
14
|
+
* Clear specific request
|
|
15
|
+
*/
|
|
16
|
+
clear(key: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Clear all requests
|
|
19
|
+
*/
|
|
20
|
+
clearAll(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get pending request count
|
|
23
|
+
*/
|
|
24
|
+
getPendingCount(): number;
|
|
25
|
+
/**
|
|
26
|
+
* Get request statistics
|
|
27
|
+
*/
|
|
28
|
+
getStats(): {
|
|
29
|
+
pending: number;
|
|
30
|
+
totalRequests: number;
|
|
31
|
+
deduplicationRate: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export default RequestDeduplicator;
|
|
35
|
+
//# sourceMappingURL=RequestDeduplicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestDeduplicator.d.ts","sourceRoot":"","sources":["../../src/core/RequestDeduplicator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,YAAY,CAAkC;IAEtD;;;OAGG;IACG,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,GAAG,GAAE,MAAa,GACjB,OAAO,CAAC,CAAC,CAAC;IAqCb;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,QAAQ,IAAI;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B;CAUF;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Prefetch Algorithm
|
|
3
|
+
* Recognizes scroll patterns and predicts data loading needs
|
|
4
|
+
*/
|
|
5
|
+
export interface ScrollPattern {
|
|
6
|
+
type: 'fast-scroll' | 'slow-scroll' | 'paused' | 'oscillating' | 'steady';
|
|
7
|
+
velocity: number;
|
|
8
|
+
acceleration: number;
|
|
9
|
+
direction: 'up' | 'down' | 'stationary';
|
|
10
|
+
confidence: number;
|
|
11
|
+
}
|
|
12
|
+
export interface PrefetchPrediction {
|
|
13
|
+
shouldPrefetch: boolean;
|
|
14
|
+
prefetchDistance: number;
|
|
15
|
+
batchSize: number;
|
|
16
|
+
priority: 'low' | 'normal' | 'high' | 'critical';
|
|
17
|
+
confidence: number;
|
|
18
|
+
}
|
|
19
|
+
export declare class SmartPrefetchAlgorithm {
|
|
20
|
+
private velocityHistory;
|
|
21
|
+
private directionHistory;
|
|
22
|
+
private readonly HISTORY_SIZE;
|
|
23
|
+
private lastPrefetchTime;
|
|
24
|
+
private prefetchCooldown;
|
|
25
|
+
/**
|
|
26
|
+
* Analyze scroll pattern
|
|
27
|
+
*/
|
|
28
|
+
analyzeScrollPattern(velocity: number, acceleration: number, direction: 'up' | 'down' | 'stationary'): ScrollPattern;
|
|
29
|
+
/**
|
|
30
|
+
* Predict prefetch needs based on scroll pattern
|
|
31
|
+
*/
|
|
32
|
+
predictPrefetchNeeds(pattern: ScrollPattern, visibleEnd: number, totalLoaded: number): PrefetchPrediction;
|
|
33
|
+
/**
|
|
34
|
+
* Track velocity history
|
|
35
|
+
*/
|
|
36
|
+
private trackVelocity;
|
|
37
|
+
/**
|
|
38
|
+
* Track direction history
|
|
39
|
+
*/
|
|
40
|
+
private trackDirection;
|
|
41
|
+
/**
|
|
42
|
+
* Get average velocity
|
|
43
|
+
*/
|
|
44
|
+
private getAverageVelocity;
|
|
45
|
+
/**
|
|
46
|
+
* Get velocity variance
|
|
47
|
+
*/
|
|
48
|
+
private getVelocityVariance;
|
|
49
|
+
/**
|
|
50
|
+
* Count direction changes
|
|
51
|
+
*/
|
|
52
|
+
private countDirectionChanges;
|
|
53
|
+
/**
|
|
54
|
+
* Reset history
|
|
55
|
+
*/
|
|
56
|
+
reset(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Get prediction confidence
|
|
59
|
+
*/
|
|
60
|
+
getConfidence(): number;
|
|
61
|
+
}
|
|
62
|
+
export default SmartPrefetchAlgorithm;
|
|
63
|
+
//# sourceMappingURL=SmartPrefetchAlgorithm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartPrefetchAlgorithm.d.ts","sourceRoot":"","sources":["../../src/core/SmartPrefetchAlgorithm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;IACnC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,gBAAgB,CAAe;IAEvC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa;IAwDpH;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB;IAqFzG;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,aAAa,IAAI,MAAM;CAIxB;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variable Height Manager
|
|
3
|
+
* Manages variable height items with efficient position calculations
|
|
4
|
+
*/
|
|
5
|
+
import { VisibleRange } from './types';
|
|
6
|
+
export interface VariableHeightConfig {
|
|
7
|
+
estimatedHeight: number;
|
|
8
|
+
minHeight: number;
|
|
9
|
+
maxHeight: number;
|
|
10
|
+
bufferSize: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ItemPosition {
|
|
13
|
+
index: number;
|
|
14
|
+
offset: number;
|
|
15
|
+
height: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class VariableHeightManager {
|
|
18
|
+
private heightCache;
|
|
19
|
+
private config;
|
|
20
|
+
private totalItems;
|
|
21
|
+
private lastMeasuredIndex;
|
|
22
|
+
constructor(config?: Partial<VariableHeightConfig>);
|
|
23
|
+
/**
|
|
24
|
+
* Set total number of items
|
|
25
|
+
*/
|
|
26
|
+
setTotalItems(total: number): void;
|
|
27
|
+
/**
|
|
28
|
+
* Measure item height from DOM element
|
|
29
|
+
*/
|
|
30
|
+
measureElement(index: number, element: HTMLElement | null): number;
|
|
31
|
+
/**
|
|
32
|
+
* Get item position (offset and height)
|
|
33
|
+
*/
|
|
34
|
+
getItemPosition(index: number): ItemPosition;
|
|
35
|
+
/**
|
|
36
|
+
* Calculate visible range for variable heights
|
|
37
|
+
*/
|
|
38
|
+
calculateVisibleRange(scrollTop: number, viewportHeight: number): VisibleRange;
|
|
39
|
+
/**
|
|
40
|
+
* Get total height of all items
|
|
41
|
+
*/
|
|
42
|
+
getTotalHeight(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Scroll to specific item index
|
|
45
|
+
*/
|
|
46
|
+
scrollToIndex(index: number): number;
|
|
47
|
+
/**
|
|
48
|
+
* Get items to render for current viewport
|
|
49
|
+
*/
|
|
50
|
+
getItemsToRender(scrollTop: number, viewportHeight: number): {
|
|
51
|
+
items: ItemPosition[];
|
|
52
|
+
totalHeight: number;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Handle height change (when item height changes dynamically)
|
|
56
|
+
*/
|
|
57
|
+
onHeightChange(index: number, newHeight: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Get cache statistics
|
|
60
|
+
*/
|
|
61
|
+
getCacheStats(): import("./HeightMeasurementCache").HeightCacheStats;
|
|
62
|
+
/**
|
|
63
|
+
* Clear cache for specific range
|
|
64
|
+
*/
|
|
65
|
+
clearRange(startIndex: number, endIndex: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* Clear entire cache
|
|
68
|
+
*/
|
|
69
|
+
clearCache(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get last measured index
|
|
72
|
+
*/
|
|
73
|
+
getLastMeasuredIndex(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Check if item is measured
|
|
76
|
+
*/
|
|
77
|
+
isItemMeasured(index: number): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Get measured items count
|
|
80
|
+
*/
|
|
81
|
+
getMeasuredCount(): number;
|
|
82
|
+
}
|
|
83
|
+
export default VariableHeightManager;
|
|
84
|
+
//# sourceMappingURL=VariableHeightManager.d.ts.map
|