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.
Files changed (428) hide show
  1. package/README.md +32 -319
  2. package/dist/adapters/react/index.d.ts +187 -1
  3. package/dist/cjs/adapters/react/LazyList.js +377 -0
  4. package/dist/cjs/adapters/react/LazyList.js.map +1 -1
  5. package/dist/cjs/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  6. package/dist/cjs/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  7. package/dist/cjs/adapters/react/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  8. package/dist/cjs/adapters/react/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  9. package/dist/cjs/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  10. package/dist/cjs/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  11. package/dist/cjs/adapters/react/adapters/react/components/index.d.ts +7 -0
  12. package/dist/cjs/adapters/react/adapters/react/components/index.d.ts.map +1 -0
  13. package/dist/cjs/adapters/react/adapters/react/hooks/index.d.ts +7 -0
  14. package/dist/cjs/adapters/react/adapters/react/hooks/index.d.ts.map +1 -0
  15. package/dist/cjs/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  16. package/dist/cjs/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  17. package/dist/cjs/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  18. package/dist/cjs/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  19. package/dist/cjs/adapters/react/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  20. package/dist/cjs/adapters/react/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  21. package/dist/cjs/adapters/react/adapters/react/index.d.ts +2 -0
  22. package/dist/cjs/adapters/react/adapters/react/index.d.ts.map +1 -1
  23. package/dist/cjs/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  24. package/dist/cjs/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  25. package/dist/cjs/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  26. package/dist/cjs/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  27. package/dist/cjs/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  28. package/dist/cjs/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  29. package/dist/cjs/adapters/react/components/index.d.ts +7 -0
  30. package/dist/cjs/adapters/react/components/index.d.ts.map +1 -0
  31. package/dist/cjs/adapters/react/core/BatchSizeOptimizer.d.ts +84 -0
  32. package/dist/cjs/adapters/react/core/BatchSizeOptimizer.d.ts.map +1 -0
  33. package/dist/cjs/adapters/react/core/DynamicHeightEngine.d.ts +107 -0
  34. package/dist/cjs/adapters/react/core/DynamicHeightEngine.d.ts.map +1 -0
  35. package/dist/cjs/adapters/react/core/Engine.d.ts +3 -0
  36. package/dist/cjs/adapters/react/core/Engine.d.ts.map +1 -1
  37. package/dist/cjs/adapters/react/core/HeightMeasurementCache.d.ts +92 -0
  38. package/dist/cjs/adapters/react/core/HeightMeasurementCache.d.ts.map +1 -0
  39. package/dist/cjs/adapters/react/core/IntelligentPagination.d.ts +113 -0
  40. package/dist/cjs/adapters/react/core/IntelligentPagination.d.ts.map +1 -0
  41. package/dist/cjs/adapters/react/core/PreemptiveCache.d.ts +83 -0
  42. package/dist/cjs/adapters/react/core/PreemptiveCache.d.ts.map +1 -0
  43. package/dist/cjs/adapters/react/core/PriorityRequestQueue.d.ts +56 -0
  44. package/dist/cjs/adapters/react/core/PriorityRequestQueue.d.ts.map +1 -0
  45. package/dist/cjs/adapters/react/core/RequestDeduplicator.d.ts +35 -0
  46. package/dist/cjs/adapters/react/core/RequestDeduplicator.d.ts.map +1 -0
  47. package/dist/cjs/adapters/react/core/SmartPrefetchAlgorithm.d.ts +63 -0
  48. package/dist/cjs/adapters/react/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  49. package/dist/cjs/adapters/react/core/VariableHeightManager.d.ts +84 -0
  50. package/dist/cjs/adapters/react/core/VariableHeightManager.d.ts.map +1 -0
  51. package/dist/cjs/adapters/react/hooks/index.d.ts +7 -0
  52. package/dist/cjs/adapters/react/hooks/index.d.ts.map +1 -0
  53. package/dist/cjs/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  54. package/dist/cjs/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  55. package/dist/cjs/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  56. package/dist/cjs/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  57. package/dist/cjs/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  58. package/dist/cjs/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  59. package/dist/cjs/adapters/react/index.d.ts +9 -0
  60. package/dist/cjs/adapters/react/index.d.ts.map +1 -1
  61. package/dist/cjs/adapters/react/index.js +1738 -0
  62. package/dist/cjs/adapters/react/index.js.map +1 -1
  63. package/dist/cjs/adapters/react/useLazyList.js +377 -0
  64. package/dist/cjs/adapters/react/useLazyList.js.map +1 -1
  65. package/dist/cjs/angular/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  66. package/dist/cjs/angular/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  67. package/dist/cjs/angular/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  68. package/dist/cjs/angular/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  69. package/dist/cjs/angular/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  70. package/dist/cjs/angular/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  71. package/dist/cjs/angular/adapters/react/components/index.d.ts +7 -0
  72. package/dist/cjs/angular/adapters/react/components/index.d.ts.map +1 -0
  73. package/dist/cjs/angular/adapters/react/hooks/index.d.ts +7 -0
  74. package/dist/cjs/angular/adapters/react/hooks/index.d.ts.map +1 -0
  75. package/dist/cjs/angular/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  76. package/dist/cjs/angular/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  77. package/dist/cjs/angular/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  78. package/dist/cjs/angular/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  79. package/dist/cjs/angular/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  80. package/dist/cjs/angular/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  81. package/dist/cjs/angular/adapters/react/index.d.ts +2 -0
  82. package/dist/cjs/angular/adapters/react/index.d.ts.map +1 -1
  83. package/dist/cjs/angular/core/BatchSizeOptimizer.d.ts +84 -0
  84. package/dist/cjs/angular/core/BatchSizeOptimizer.d.ts.map +1 -0
  85. package/dist/cjs/angular/core/DynamicHeightEngine.d.ts +107 -0
  86. package/dist/cjs/angular/core/DynamicHeightEngine.d.ts.map +1 -0
  87. package/dist/cjs/angular/core/Engine.d.ts +3 -0
  88. package/dist/cjs/angular/core/Engine.d.ts.map +1 -1
  89. package/dist/cjs/angular/core/HeightMeasurementCache.d.ts +92 -0
  90. package/dist/cjs/angular/core/HeightMeasurementCache.d.ts.map +1 -0
  91. package/dist/cjs/angular/core/IntelligentPagination.d.ts +113 -0
  92. package/dist/cjs/angular/core/IntelligentPagination.d.ts.map +1 -0
  93. package/dist/cjs/angular/core/PreemptiveCache.d.ts +83 -0
  94. package/dist/cjs/angular/core/PreemptiveCache.d.ts.map +1 -0
  95. package/dist/cjs/angular/core/PriorityRequestQueue.d.ts +56 -0
  96. package/dist/cjs/angular/core/PriorityRequestQueue.d.ts.map +1 -0
  97. package/dist/cjs/angular/core/RequestDeduplicator.d.ts +35 -0
  98. package/dist/cjs/angular/core/RequestDeduplicator.d.ts.map +1 -0
  99. package/dist/cjs/angular/core/SmartPrefetchAlgorithm.d.ts +63 -0
  100. package/dist/cjs/angular/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  101. package/dist/cjs/angular/core/VariableHeightManager.d.ts +84 -0
  102. package/dist/cjs/angular/core/VariableHeightManager.d.ts.map +1 -0
  103. package/dist/cjs/angular/index.d.ts +9 -0
  104. package/dist/cjs/angular/index.d.ts.map +1 -1
  105. package/dist/cjs/angular/index.js +377 -0
  106. package/dist/cjs/angular/index.js.map +1 -1
  107. package/dist/cjs/core/BatchSizeOptimizer.d.ts +84 -0
  108. package/dist/cjs/core/BatchSizeOptimizer.d.ts.map +1 -0
  109. package/dist/cjs/core/DynamicHeightEngine.d.ts +107 -0
  110. package/dist/cjs/core/DynamicHeightEngine.d.ts.map +1 -0
  111. package/dist/cjs/core/Engine.d.ts +3 -0
  112. package/dist/cjs/core/Engine.d.ts.map +1 -1
  113. package/dist/cjs/core/HeightMeasurementCache.d.ts +92 -0
  114. package/dist/cjs/core/HeightMeasurementCache.d.ts.map +1 -0
  115. package/dist/cjs/core/IntelligentPagination.d.ts +113 -0
  116. package/dist/cjs/core/IntelligentPagination.d.ts.map +1 -0
  117. package/dist/cjs/core/PreemptiveCache.d.ts +83 -0
  118. package/dist/cjs/core/PreemptiveCache.d.ts.map +1 -0
  119. package/dist/cjs/core/PriorityRequestQueue.d.ts +56 -0
  120. package/dist/cjs/core/PriorityRequestQueue.d.ts.map +1 -0
  121. package/dist/cjs/core/RequestDeduplicator.d.ts +35 -0
  122. package/dist/cjs/core/RequestDeduplicator.d.ts.map +1 -0
  123. package/dist/cjs/core/SmartPrefetchAlgorithm.d.ts +63 -0
  124. package/dist/cjs/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  125. package/dist/cjs/core/VariableHeightManager.d.ts +84 -0
  126. package/dist/cjs/core/VariableHeightManager.d.ts.map +1 -0
  127. package/dist/cjs/index.d.ts +9 -0
  128. package/dist/cjs/index.d.ts.map +1 -1
  129. package/dist/cjs/index.js +1545 -0
  130. package/dist/cjs/index.js.map +1 -1
  131. package/dist/cjs/svelte/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  132. package/dist/cjs/svelte/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  133. package/dist/cjs/svelte/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  134. package/dist/cjs/svelte/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  135. package/dist/cjs/svelte/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  136. package/dist/cjs/svelte/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  137. package/dist/cjs/svelte/adapters/react/components/index.d.ts +7 -0
  138. package/dist/cjs/svelte/adapters/react/components/index.d.ts.map +1 -0
  139. package/dist/cjs/svelte/adapters/react/hooks/index.d.ts +7 -0
  140. package/dist/cjs/svelte/adapters/react/hooks/index.d.ts.map +1 -0
  141. package/dist/cjs/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  142. package/dist/cjs/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  143. package/dist/cjs/svelte/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  144. package/dist/cjs/svelte/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  145. package/dist/cjs/svelte/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  146. package/dist/cjs/svelte/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  147. package/dist/cjs/svelte/adapters/react/index.d.ts +2 -0
  148. package/dist/cjs/svelte/adapters/react/index.d.ts.map +1 -1
  149. package/dist/cjs/svelte/core/BatchSizeOptimizer.d.ts +84 -0
  150. package/dist/cjs/svelte/core/BatchSizeOptimizer.d.ts.map +1 -0
  151. package/dist/cjs/svelte/core/DynamicHeightEngine.d.ts +107 -0
  152. package/dist/cjs/svelte/core/DynamicHeightEngine.d.ts.map +1 -0
  153. package/dist/cjs/svelte/core/Engine.d.ts +3 -0
  154. package/dist/cjs/svelte/core/Engine.d.ts.map +1 -1
  155. package/dist/cjs/svelte/core/HeightMeasurementCache.d.ts +92 -0
  156. package/dist/cjs/svelte/core/HeightMeasurementCache.d.ts.map +1 -0
  157. package/dist/cjs/svelte/core/IntelligentPagination.d.ts +113 -0
  158. package/dist/cjs/svelte/core/IntelligentPagination.d.ts.map +1 -0
  159. package/dist/cjs/svelte/core/PreemptiveCache.d.ts +83 -0
  160. package/dist/cjs/svelte/core/PreemptiveCache.d.ts.map +1 -0
  161. package/dist/cjs/svelte/core/PriorityRequestQueue.d.ts +56 -0
  162. package/dist/cjs/svelte/core/PriorityRequestQueue.d.ts.map +1 -0
  163. package/dist/cjs/svelte/core/RequestDeduplicator.d.ts +35 -0
  164. package/dist/cjs/svelte/core/RequestDeduplicator.d.ts.map +1 -0
  165. package/dist/cjs/svelte/core/SmartPrefetchAlgorithm.d.ts +63 -0
  166. package/dist/cjs/svelte/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  167. package/dist/cjs/svelte/core/VariableHeightManager.d.ts +84 -0
  168. package/dist/cjs/svelte/core/VariableHeightManager.d.ts.map +1 -0
  169. package/dist/cjs/svelte/index.d.ts +9 -0
  170. package/dist/cjs/svelte/index.d.ts.map +1 -1
  171. package/dist/cjs/svelte/index.js +377 -0
  172. package/dist/cjs/svelte/index.js.map +1 -1
  173. package/dist/cjs/vue/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  174. package/dist/cjs/vue/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  175. package/dist/cjs/vue/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  176. package/dist/cjs/vue/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  177. package/dist/cjs/vue/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  178. package/dist/cjs/vue/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  179. package/dist/cjs/vue/adapters/react/components/index.d.ts +7 -0
  180. package/dist/cjs/vue/adapters/react/components/index.d.ts.map +1 -0
  181. package/dist/cjs/vue/adapters/react/hooks/index.d.ts +7 -0
  182. package/dist/cjs/vue/adapters/react/hooks/index.d.ts.map +1 -0
  183. package/dist/cjs/vue/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  184. package/dist/cjs/vue/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  185. package/dist/cjs/vue/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  186. package/dist/cjs/vue/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  187. package/dist/cjs/vue/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  188. package/dist/cjs/vue/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  189. package/dist/cjs/vue/adapters/react/index.d.ts +2 -0
  190. package/dist/cjs/vue/adapters/react/index.d.ts.map +1 -1
  191. package/dist/cjs/vue/core/BatchSizeOptimizer.d.ts +84 -0
  192. package/dist/cjs/vue/core/BatchSizeOptimizer.d.ts.map +1 -0
  193. package/dist/cjs/vue/core/DynamicHeightEngine.d.ts +107 -0
  194. package/dist/cjs/vue/core/DynamicHeightEngine.d.ts.map +1 -0
  195. package/dist/cjs/vue/core/Engine.d.ts +3 -0
  196. package/dist/cjs/vue/core/Engine.d.ts.map +1 -1
  197. package/dist/cjs/vue/core/HeightMeasurementCache.d.ts +92 -0
  198. package/dist/cjs/vue/core/HeightMeasurementCache.d.ts.map +1 -0
  199. package/dist/cjs/vue/core/IntelligentPagination.d.ts +113 -0
  200. package/dist/cjs/vue/core/IntelligentPagination.d.ts.map +1 -0
  201. package/dist/cjs/vue/core/PreemptiveCache.d.ts +83 -0
  202. package/dist/cjs/vue/core/PreemptiveCache.d.ts.map +1 -0
  203. package/dist/cjs/vue/core/PriorityRequestQueue.d.ts +56 -0
  204. package/dist/cjs/vue/core/PriorityRequestQueue.d.ts.map +1 -0
  205. package/dist/cjs/vue/core/RequestDeduplicator.d.ts +35 -0
  206. package/dist/cjs/vue/core/RequestDeduplicator.d.ts.map +1 -0
  207. package/dist/cjs/vue/core/SmartPrefetchAlgorithm.d.ts +63 -0
  208. package/dist/cjs/vue/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  209. package/dist/cjs/vue/core/VariableHeightManager.d.ts +84 -0
  210. package/dist/cjs/vue/core/VariableHeightManager.d.ts.map +1 -0
  211. package/dist/cjs/vue/index.d.ts +9 -0
  212. package/dist/cjs/vue/index.d.ts.map +1 -1
  213. package/dist/cjs/vue/index.js +377 -0
  214. package/dist/cjs/vue/index.js.map +1 -1
  215. package/dist/esm/adapters/react/LazyList.js +377 -0
  216. package/dist/esm/adapters/react/LazyList.js.map +1 -1
  217. package/dist/esm/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  218. package/dist/esm/adapters/react/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  219. package/dist/esm/adapters/react/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  220. package/dist/esm/adapters/react/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  221. package/dist/esm/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  222. package/dist/esm/adapters/react/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  223. package/dist/esm/adapters/react/adapters/react/components/index.d.ts +7 -0
  224. package/dist/esm/adapters/react/adapters/react/components/index.d.ts.map +1 -0
  225. package/dist/esm/adapters/react/adapters/react/hooks/index.d.ts +7 -0
  226. package/dist/esm/adapters/react/adapters/react/hooks/index.d.ts.map +1 -0
  227. package/dist/esm/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  228. package/dist/esm/adapters/react/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  229. package/dist/esm/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  230. package/dist/esm/adapters/react/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  231. package/dist/esm/adapters/react/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  232. package/dist/esm/adapters/react/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  233. package/dist/esm/adapters/react/adapters/react/index.d.ts +2 -0
  234. package/dist/esm/adapters/react/adapters/react/index.d.ts.map +1 -1
  235. package/dist/esm/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  236. package/dist/esm/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  237. package/dist/esm/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  238. package/dist/esm/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  239. package/dist/esm/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  240. package/dist/esm/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  241. package/dist/esm/adapters/react/components/index.d.ts +7 -0
  242. package/dist/esm/adapters/react/components/index.d.ts.map +1 -0
  243. package/dist/esm/adapters/react/core/BatchSizeOptimizer.d.ts +84 -0
  244. package/dist/esm/adapters/react/core/BatchSizeOptimizer.d.ts.map +1 -0
  245. package/dist/esm/adapters/react/core/DynamicHeightEngine.d.ts +107 -0
  246. package/dist/esm/adapters/react/core/DynamicHeightEngine.d.ts.map +1 -0
  247. package/dist/esm/adapters/react/core/Engine.d.ts +3 -0
  248. package/dist/esm/adapters/react/core/Engine.d.ts.map +1 -1
  249. package/dist/esm/adapters/react/core/HeightMeasurementCache.d.ts +92 -0
  250. package/dist/esm/adapters/react/core/HeightMeasurementCache.d.ts.map +1 -0
  251. package/dist/esm/adapters/react/core/IntelligentPagination.d.ts +113 -0
  252. package/dist/esm/adapters/react/core/IntelligentPagination.d.ts.map +1 -0
  253. package/dist/esm/adapters/react/core/PreemptiveCache.d.ts +83 -0
  254. package/dist/esm/adapters/react/core/PreemptiveCache.d.ts.map +1 -0
  255. package/dist/esm/adapters/react/core/PriorityRequestQueue.d.ts +56 -0
  256. package/dist/esm/adapters/react/core/PriorityRequestQueue.d.ts.map +1 -0
  257. package/dist/esm/adapters/react/core/RequestDeduplicator.d.ts +35 -0
  258. package/dist/esm/adapters/react/core/RequestDeduplicator.d.ts.map +1 -0
  259. package/dist/esm/adapters/react/core/SmartPrefetchAlgorithm.d.ts +63 -0
  260. package/dist/esm/adapters/react/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  261. package/dist/esm/adapters/react/core/VariableHeightManager.d.ts +84 -0
  262. package/dist/esm/adapters/react/core/VariableHeightManager.d.ts.map +1 -0
  263. package/dist/esm/adapters/react/hooks/index.d.ts +7 -0
  264. package/dist/esm/adapters/react/hooks/index.d.ts.map +1 -0
  265. package/dist/esm/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  266. package/dist/esm/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  267. package/dist/esm/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  268. package/dist/esm/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  269. package/dist/esm/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  270. package/dist/esm/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  271. package/dist/esm/adapters/react/index.d.ts +9 -0
  272. package/dist/esm/adapters/react/index.d.ts.map +1 -1
  273. package/dist/esm/adapters/react/index.js +1733 -1
  274. package/dist/esm/adapters/react/index.js.map +1 -1
  275. package/dist/esm/adapters/react/useLazyList.js +377 -0
  276. package/dist/esm/adapters/react/useLazyList.js.map +1 -1
  277. package/dist/esm/angular/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  278. package/dist/esm/angular/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  279. package/dist/esm/angular/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  280. package/dist/esm/angular/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  281. package/dist/esm/angular/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  282. package/dist/esm/angular/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  283. package/dist/esm/angular/adapters/react/components/index.d.ts +7 -0
  284. package/dist/esm/angular/adapters/react/components/index.d.ts.map +1 -0
  285. package/dist/esm/angular/adapters/react/hooks/index.d.ts +7 -0
  286. package/dist/esm/angular/adapters/react/hooks/index.d.ts.map +1 -0
  287. package/dist/esm/angular/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  288. package/dist/esm/angular/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  289. package/dist/esm/angular/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  290. package/dist/esm/angular/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  291. package/dist/esm/angular/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  292. package/dist/esm/angular/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  293. package/dist/esm/angular/adapters/react/index.d.ts +2 -0
  294. package/dist/esm/angular/adapters/react/index.d.ts.map +1 -1
  295. package/dist/esm/angular/core/BatchSizeOptimizer.d.ts +84 -0
  296. package/dist/esm/angular/core/BatchSizeOptimizer.d.ts.map +1 -0
  297. package/dist/esm/angular/core/DynamicHeightEngine.d.ts +107 -0
  298. package/dist/esm/angular/core/DynamicHeightEngine.d.ts.map +1 -0
  299. package/dist/esm/angular/core/Engine.d.ts +3 -0
  300. package/dist/esm/angular/core/Engine.d.ts.map +1 -1
  301. package/dist/esm/angular/core/HeightMeasurementCache.d.ts +92 -0
  302. package/dist/esm/angular/core/HeightMeasurementCache.d.ts.map +1 -0
  303. package/dist/esm/angular/core/IntelligentPagination.d.ts +113 -0
  304. package/dist/esm/angular/core/IntelligentPagination.d.ts.map +1 -0
  305. package/dist/esm/angular/core/PreemptiveCache.d.ts +83 -0
  306. package/dist/esm/angular/core/PreemptiveCache.d.ts.map +1 -0
  307. package/dist/esm/angular/core/PriorityRequestQueue.d.ts +56 -0
  308. package/dist/esm/angular/core/PriorityRequestQueue.d.ts.map +1 -0
  309. package/dist/esm/angular/core/RequestDeduplicator.d.ts +35 -0
  310. package/dist/esm/angular/core/RequestDeduplicator.d.ts.map +1 -0
  311. package/dist/esm/angular/core/SmartPrefetchAlgorithm.d.ts +63 -0
  312. package/dist/esm/angular/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  313. package/dist/esm/angular/core/VariableHeightManager.d.ts +84 -0
  314. package/dist/esm/angular/core/VariableHeightManager.d.ts.map +1 -0
  315. package/dist/esm/angular/index.d.ts +9 -0
  316. package/dist/esm/angular/index.d.ts.map +1 -1
  317. package/dist/esm/angular/index.js +377 -0
  318. package/dist/esm/angular/index.js.map +1 -1
  319. package/dist/esm/core/BatchSizeOptimizer.d.ts +84 -0
  320. package/dist/esm/core/BatchSizeOptimizer.d.ts.map +1 -0
  321. package/dist/esm/core/DynamicHeightEngine.d.ts +107 -0
  322. package/dist/esm/core/DynamicHeightEngine.d.ts.map +1 -0
  323. package/dist/esm/core/Engine.d.ts +3 -0
  324. package/dist/esm/core/Engine.d.ts.map +1 -1
  325. package/dist/esm/core/HeightMeasurementCache.d.ts +92 -0
  326. package/dist/esm/core/HeightMeasurementCache.d.ts.map +1 -0
  327. package/dist/esm/core/IntelligentPagination.d.ts +113 -0
  328. package/dist/esm/core/IntelligentPagination.d.ts.map +1 -0
  329. package/dist/esm/core/PreemptiveCache.d.ts +83 -0
  330. package/dist/esm/core/PreemptiveCache.d.ts.map +1 -0
  331. package/dist/esm/core/PriorityRequestQueue.d.ts +56 -0
  332. package/dist/esm/core/PriorityRequestQueue.d.ts.map +1 -0
  333. package/dist/esm/core/RequestDeduplicator.d.ts +35 -0
  334. package/dist/esm/core/RequestDeduplicator.d.ts.map +1 -0
  335. package/dist/esm/core/SmartPrefetchAlgorithm.d.ts +63 -0
  336. package/dist/esm/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  337. package/dist/esm/core/VariableHeightManager.d.ts +84 -0
  338. package/dist/esm/core/VariableHeightManager.d.ts.map +1 -0
  339. package/dist/esm/index.d.ts +9 -0
  340. package/dist/esm/index.d.ts.map +1 -1
  341. package/dist/esm/index.js +1537 -1
  342. package/dist/esm/index.js.map +1 -1
  343. package/dist/esm/svelte/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  344. package/dist/esm/svelte/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  345. package/dist/esm/svelte/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  346. package/dist/esm/svelte/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  347. package/dist/esm/svelte/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  348. package/dist/esm/svelte/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  349. package/dist/esm/svelte/adapters/react/components/index.d.ts +7 -0
  350. package/dist/esm/svelte/adapters/react/components/index.d.ts.map +1 -0
  351. package/dist/esm/svelte/adapters/react/hooks/index.d.ts +7 -0
  352. package/dist/esm/svelte/adapters/react/hooks/index.d.ts.map +1 -0
  353. package/dist/esm/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  354. package/dist/esm/svelte/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  355. package/dist/esm/svelte/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  356. package/dist/esm/svelte/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  357. package/dist/esm/svelte/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  358. package/dist/esm/svelte/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  359. package/dist/esm/svelte/adapters/react/index.d.ts +2 -0
  360. package/dist/esm/svelte/adapters/react/index.d.ts.map +1 -1
  361. package/dist/esm/svelte/core/BatchSizeOptimizer.d.ts +84 -0
  362. package/dist/esm/svelte/core/BatchSizeOptimizer.d.ts.map +1 -0
  363. package/dist/esm/svelte/core/DynamicHeightEngine.d.ts +107 -0
  364. package/dist/esm/svelte/core/DynamicHeightEngine.d.ts.map +1 -0
  365. package/dist/esm/svelte/core/Engine.d.ts +3 -0
  366. package/dist/esm/svelte/core/Engine.d.ts.map +1 -1
  367. package/dist/esm/svelte/core/HeightMeasurementCache.d.ts +92 -0
  368. package/dist/esm/svelte/core/HeightMeasurementCache.d.ts.map +1 -0
  369. package/dist/esm/svelte/core/IntelligentPagination.d.ts +113 -0
  370. package/dist/esm/svelte/core/IntelligentPagination.d.ts.map +1 -0
  371. package/dist/esm/svelte/core/PreemptiveCache.d.ts +83 -0
  372. package/dist/esm/svelte/core/PreemptiveCache.d.ts.map +1 -0
  373. package/dist/esm/svelte/core/PriorityRequestQueue.d.ts +56 -0
  374. package/dist/esm/svelte/core/PriorityRequestQueue.d.ts.map +1 -0
  375. package/dist/esm/svelte/core/RequestDeduplicator.d.ts +35 -0
  376. package/dist/esm/svelte/core/RequestDeduplicator.d.ts.map +1 -0
  377. package/dist/esm/svelte/core/SmartPrefetchAlgorithm.d.ts +63 -0
  378. package/dist/esm/svelte/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  379. package/dist/esm/svelte/core/VariableHeightManager.d.ts +84 -0
  380. package/dist/esm/svelte/core/VariableHeightManager.d.ts.map +1 -0
  381. package/dist/esm/svelte/index.d.ts +9 -0
  382. package/dist/esm/svelte/index.d.ts.map +1 -1
  383. package/dist/esm/svelte/index.js +377 -0
  384. package/dist/esm/svelte/index.js.map +1 -1
  385. package/dist/esm/vue/adapters/react/components/AdaptiveScrollView.d.ts +16 -0
  386. package/dist/esm/vue/adapters/react/components/AdaptiveScrollView.d.ts.map +1 -0
  387. package/dist/esm/vue/adapters/react/components/IntelligentLazyList.d.ts +16 -0
  388. package/dist/esm/vue/adapters/react/components/IntelligentLazyList.d.ts.map +1 -0
  389. package/dist/esm/vue/adapters/react/components/SmartInfiniteScroll.d.ts +15 -0
  390. package/dist/esm/vue/adapters/react/components/SmartInfiniteScroll.d.ts.map +1 -0
  391. package/dist/esm/vue/adapters/react/components/index.d.ts +7 -0
  392. package/dist/esm/vue/adapters/react/components/index.d.ts.map +1 -0
  393. package/dist/esm/vue/adapters/react/hooks/index.d.ts +7 -0
  394. package/dist/esm/vue/adapters/react/hooks/index.d.ts.map +1 -0
  395. package/dist/esm/vue/adapters/react/hooks/useAdaptiveLoading.d.ts +39 -0
  396. package/dist/esm/vue/adapters/react/hooks/useAdaptiveLoading.d.ts.map +1 -0
  397. package/dist/esm/vue/adapters/react/hooks/useIntelligentScroll.d.ts +37 -0
  398. package/dist/esm/vue/adapters/react/hooks/useIntelligentScroll.d.ts.map +1 -0
  399. package/dist/esm/vue/adapters/react/hooks/useSmartPagination.d.ts +57 -0
  400. package/dist/esm/vue/adapters/react/hooks/useSmartPagination.d.ts.map +1 -0
  401. package/dist/esm/vue/adapters/react/index.d.ts +2 -0
  402. package/dist/esm/vue/adapters/react/index.d.ts.map +1 -1
  403. package/dist/esm/vue/core/BatchSizeOptimizer.d.ts +84 -0
  404. package/dist/esm/vue/core/BatchSizeOptimizer.d.ts.map +1 -0
  405. package/dist/esm/vue/core/DynamicHeightEngine.d.ts +107 -0
  406. package/dist/esm/vue/core/DynamicHeightEngine.d.ts.map +1 -0
  407. package/dist/esm/vue/core/Engine.d.ts +3 -0
  408. package/dist/esm/vue/core/Engine.d.ts.map +1 -1
  409. package/dist/esm/vue/core/HeightMeasurementCache.d.ts +92 -0
  410. package/dist/esm/vue/core/HeightMeasurementCache.d.ts.map +1 -0
  411. package/dist/esm/vue/core/IntelligentPagination.d.ts +113 -0
  412. package/dist/esm/vue/core/IntelligentPagination.d.ts.map +1 -0
  413. package/dist/esm/vue/core/PreemptiveCache.d.ts +83 -0
  414. package/dist/esm/vue/core/PreemptiveCache.d.ts.map +1 -0
  415. package/dist/esm/vue/core/PriorityRequestQueue.d.ts +56 -0
  416. package/dist/esm/vue/core/PriorityRequestQueue.d.ts.map +1 -0
  417. package/dist/esm/vue/core/RequestDeduplicator.d.ts +35 -0
  418. package/dist/esm/vue/core/RequestDeduplicator.d.ts.map +1 -0
  419. package/dist/esm/vue/core/SmartPrefetchAlgorithm.d.ts +63 -0
  420. package/dist/esm/vue/core/SmartPrefetchAlgorithm.d.ts.map +1 -0
  421. package/dist/esm/vue/core/VariableHeightManager.d.ts +84 -0
  422. package/dist/esm/vue/core/VariableHeightManager.d.ts.map +1 -0
  423. package/dist/esm/vue/index.d.ts +9 -0
  424. package/dist/esm/vue/index.d.ts.map +1 -1
  425. package/dist/esm/vue/index.js +377 -0
  426. package/dist/esm/vue/index.js.map +1 -1
  427. package/dist/index.d.ts +681 -1
  428. 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazy-render-virtual-scroll",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "A framework-agnostic virtual scrolling and lazy rendering solution",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",