react-native-nitro-list 0.0.1 → 0.1.2

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 (417) hide show
  1. package/README.md +250 -16
  2. package/android/build.gradle +5 -4
  3. package/android/src/main/java/com/nitrolist/HybridNitroRecyclerView.kt +26 -0
  4. package/android/src/main/java/com/nitrolist/HybridNitroRecyclerViewManager.kt +29 -0
  5. package/android/src/main/java/com/nitrolist/NitroListPackage.kt +13 -24
  6. package/android/src/main/java/com/nitrolist/NitroRecyclerAdapter.kt +32 -0
  7. package/android/src/main/java/com/nitrolist/NitroRecyclerViewHolder.kt +8 -0
  8. package/ios/HybridNitroList.swift +28 -15
  9. package/lib/commonjs/NitroList.js +9 -0
  10. package/lib/commonjs/NitroList.js.map +1 -0
  11. package/lib/commonjs/ReusableView.js +2 -0
  12. package/lib/commonjs/ReusableView.js.map +1 -0
  13. package/lib/commonjs/cell/Cell.js +2 -0
  14. package/lib/{module/specs/nitro-list.nitro.js.map → commonjs/cell/Cell.js.map} +1 -1
  15. package/lib/commonjs/cell/CellKeyGenerator.js +21 -0
  16. package/lib/commonjs/cell/CellKeyGenerator.js.map +1 -0
  17. package/lib/commonjs/cell/CellRecycler.js +70 -0
  18. package/lib/commonjs/cell/CellRecycler.js.map +1 -0
  19. package/lib/commonjs/cell/createCell.js +21 -0
  20. package/lib/commonjs/cell/createCell.js.map +1 -0
  21. package/lib/commonjs/cell/index.js +20 -0
  22. package/lib/commonjs/cell/index.js.map +1 -0
  23. package/lib/commonjs/debug/useDebugOverlay.js +15 -0
  24. package/lib/commonjs/debug/useDebugOverlay.js.map +1 -0
  25. package/lib/commonjs/getVisibleIndices.js +38 -0
  26. package/lib/commonjs/getVisibleIndices.js.map +1 -0
  27. package/lib/commonjs/hooks/usePersistentCallback.js +36 -0
  28. package/lib/commonjs/hooks/usePersistentCallback.js.map +1 -0
  29. package/lib/commonjs/index.js +7 -5
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/layout/MutableLinearLayout.js +104 -0
  32. package/lib/commonjs/layout/MutableLinearLayout.js.map +1 -0
  33. package/lib/commonjs/layout/constants/layoutDefaults.js +19 -0
  34. package/lib/commonjs/layout/constants/layoutDefaults.js.map +1 -0
  35. package/lib/commonjs/layout/index.js +2 -0
  36. package/lib/commonjs/{specs/nitro-list.nitro.js.map → layout/index.js.map} +1 -1
  37. package/lib/commonjs/measurement/MeasureLayout.js +20 -0
  38. package/lib/commonjs/measurement/MeasureLayout.js.map +1 -0
  39. package/lib/commonjs/measurement/useItemMeasurement.js +28 -0
  40. package/lib/commonjs/measurement/useItemMeasurement.js.map +1 -0
  41. package/lib/commonjs/native/NitroLayoutEngine.js +9 -0
  42. package/lib/commonjs/native/NitroLayoutEngine.js.map +1 -0
  43. package/lib/commonjs/{specs/nitro-list.nitro.js → native/NitroList.types.js} +1 -1
  44. package/lib/commonjs/native/NitroList.types.js.map +1 -0
  45. package/lib/commonjs/native/NitroRecyclerView.js +9 -0
  46. package/lib/commonjs/native/NitroRecyclerView.js.map +1 -0
  47. package/lib/commonjs/prefetch/PrefetchHelper.js +39 -0
  48. package/lib/commonjs/prefetch/PrefetchHelper.js.map +1 -0
  49. package/lib/commonjs/recycler/CellPool.js +46 -0
  50. package/lib/commonjs/recycler/CellPool.js.map +1 -0
  51. package/lib/commonjs/recycler/RecyclerList.js +224 -0
  52. package/lib/commonjs/recycler/RecyclerList.js.map +1 -0
  53. package/lib/commonjs/specs/nitro-layout-engine.nitro.js +6 -0
  54. package/lib/commonjs/specs/nitro-layout-engine.nitro.js.map +1 -0
  55. package/lib/commonjs/types/Axis.js +2 -0
  56. package/lib/commonjs/types/Axis.js.map +1 -0
  57. package/lib/commonjs/types/CellKey.js +2 -0
  58. package/lib/commonjs/types/CellKey.js.map +1 -0
  59. package/lib/commonjs/types/CellType.js +2 -0
  60. package/lib/commonjs/types/CellType.js.map +1 -0
  61. package/lib/commonjs/types/VisibleRange.js +2 -0
  62. package/lib/commonjs/types/VisibleRange.js.map +1 -0
  63. package/lib/commonjs/types/VisibleRangeInput.js +6 -0
  64. package/lib/commonjs/types/VisibleRangeInput.js.map +1 -0
  65. package/lib/commonjs/types/index.js +13 -0
  66. package/lib/commonjs/types/index.js.map +1 -0
  67. package/lib/commonjs/types/layout/LayoutRect.js +2 -0
  68. package/lib/commonjs/types/layout/LayoutRect.js.map +1 -0
  69. package/lib/commonjs/types/layout/LinearLayoutInput.js +6 -0
  70. package/lib/commonjs/types/layout/LinearLayoutInput.js.map +1 -0
  71. package/lib/commonjs/types/layout/MainAxisPadding.js +26 -0
  72. package/lib/commonjs/types/layout/MainAxisPadding.js.map +1 -0
  73. package/lib/commonjs/types/layout/index.js +2 -0
  74. package/lib/commonjs/types/layout/index.js.map +1 -0
  75. package/lib/commonjs/types/recycler/RecyclerCellInstance.js +6 -0
  76. package/lib/commonjs/types/recycler/RecyclerCellInstance.js.map +1 -0
  77. package/lib/commonjs/types/recycler/RecyclerItemRenderer.js +6 -0
  78. package/lib/commonjs/types/recycler/RecyclerItemRenderer.js.map +1 -0
  79. package/lib/commonjs/types/recycler/RecyclerListProps.js +6 -0
  80. package/lib/commonjs/types/recycler/RecyclerListProps.js.map +1 -0
  81. package/lib/commonjs/types/recycler/index.js +2 -0
  82. package/lib/commonjs/types/recycler/index.js.map +1 -0
  83. package/lib/commonjs/types/scroll/ScrollMetrics.js +6 -0
  84. package/lib/commonjs/types/scroll/ScrollMetrics.js.map +1 -0
  85. package/lib/commonjs/types/scroll/index.js +2 -0
  86. package/lib/commonjs/types/scroll/index.js.map +1 -0
  87. package/lib/commonjs/utils/arrayEqual.js +15 -0
  88. package/lib/commonjs/utils/arrayEqual.js.map +1 -0
  89. package/lib/commonjs/utils/assertNever.js +10 -0
  90. package/lib/commonjs/utils/assertNever.js.map +1 -0
  91. package/lib/commonjs/utils/clamp.js +10 -0
  92. package/lib/commonjs/utils/clamp.js.map +1 -0
  93. package/lib/commonjs/utils/devAssert.js +12 -0
  94. package/lib/commonjs/utils/devAssert.js.map +1 -0
  95. package/lib/commonjs/utils/invariant.js +12 -0
  96. package/lib/commonjs/utils/invariant.js.map +1 -0
  97. package/lib/commonjs/utils/isDefined.js +10 -0
  98. package/lib/commonjs/utils/isDefined.js.map +1 -0
  99. package/lib/commonjs/utils/isNumber.js +10 -0
  100. package/lib/commonjs/utils/isNumber.js.map +1 -0
  101. package/lib/commonjs/utils/noop.js +10 -0
  102. package/lib/commonjs/utils/noop.js.map +1 -0
  103. package/lib/commonjs/utils/shallowEqual.js +22 -0
  104. package/lib/commonjs/utils/shallowEqual.js.map +1 -0
  105. package/lib/commonjs/utils/throttle.js +17 -0
  106. package/lib/commonjs/utils/throttle.js.map +1 -0
  107. package/lib/commonjs/windowing/ScrollMetrics.js +2 -0
  108. package/lib/commonjs/windowing/ScrollMetrics.js.map +1 -0
  109. package/lib/commonjs/windowing/computeVisibleItemRange.js +71 -0
  110. package/lib/commonjs/windowing/computeVisibleItemRange.js.map +1 -0
  111. package/lib/commonjs/windowing/index.js +20 -0
  112. package/lib/commonjs/windowing/index.js.map +1 -0
  113. package/lib/commonjs/windowing/useScrollMetrics.js +39 -0
  114. package/lib/commonjs/windowing/useScrollMetrics.js.map +1 -0
  115. package/lib/module/NitroList.js +5 -0
  116. package/lib/module/NitroList.js.map +1 -0
  117. package/lib/module/ReusableView.js +2 -0
  118. package/lib/module/ReusableView.js.map +1 -0
  119. package/lib/module/cell/Cell.js +2 -0
  120. package/lib/module/cell/Cell.js.map +1 -0
  121. package/lib/module/cell/CellKeyGenerator.js +16 -0
  122. package/lib/module/cell/CellKeyGenerator.js.map +1 -0
  123. package/lib/module/cell/CellRecycler.js +66 -0
  124. package/lib/module/cell/CellRecycler.js.map +1 -0
  125. package/lib/module/cell/createCell.js +17 -0
  126. package/lib/module/cell/createCell.js.map +1 -0
  127. package/lib/module/cell/index.js +7 -0
  128. package/lib/module/cell/index.js.map +1 -0
  129. package/lib/module/debug/useDebugOverlay.js +11 -0
  130. package/lib/module/debug/useDebugOverlay.js.map +1 -0
  131. package/lib/module/getVisibleIndices.js +34 -0
  132. package/lib/module/getVisibleIndices.js.map +1 -0
  133. package/lib/module/hooks/usePersistentCallback.js +33 -0
  134. package/lib/module/hooks/usePersistentCallback.js.map +1 -0
  135. package/lib/module/index.js +1 -3
  136. package/lib/module/index.js.map +1 -1
  137. package/lib/module/layout/MutableLinearLayout.js +100 -0
  138. package/lib/module/layout/MutableLinearLayout.js.map +1 -0
  139. package/lib/module/layout/constants/layoutDefaults.js +15 -0
  140. package/lib/module/layout/constants/layoutDefaults.js.map +1 -0
  141. package/lib/module/layout/index.js +2 -0
  142. package/lib/module/layout/index.js.map +1 -0
  143. package/lib/module/measurement/MeasureLayout.js +16 -0
  144. package/lib/module/measurement/MeasureLayout.js.map +1 -0
  145. package/lib/module/measurement/useItemMeasurement.js +24 -0
  146. package/lib/module/measurement/useItemMeasurement.js.map +1 -0
  147. package/lib/module/native/NitroLayoutEngine.js +5 -0
  148. package/lib/module/native/NitroLayoutEngine.js.map +1 -0
  149. package/lib/module/native/NitroList.types.js +4 -0
  150. package/lib/module/native/NitroList.types.js.map +1 -0
  151. package/lib/module/native/NitroRecyclerView.js +5 -0
  152. package/lib/module/native/NitroRecyclerView.js.map +1 -0
  153. package/lib/module/prefetch/PrefetchHelper.js +34 -0
  154. package/lib/module/prefetch/PrefetchHelper.js.map +1 -0
  155. package/lib/module/recycler/CellPool.js +41 -0
  156. package/lib/module/recycler/CellPool.js.map +1 -0
  157. package/lib/module/recycler/RecyclerList.js +221 -0
  158. package/lib/module/recycler/RecyclerList.js.map +1 -0
  159. package/lib/module/specs/nitro-layout-engine.nitro.js +4 -0
  160. package/lib/module/specs/nitro-layout-engine.nitro.js.map +1 -0
  161. package/lib/module/types/Axis.js +2 -0
  162. package/lib/module/types/Axis.js.map +1 -0
  163. package/lib/module/types/CellKey.js +2 -0
  164. package/lib/module/types/CellKey.js.map +1 -0
  165. package/lib/module/types/CellType.js +2 -0
  166. package/lib/module/types/CellType.js.map +1 -0
  167. package/lib/module/types/VisibleRange.js +2 -0
  168. package/lib/module/types/VisibleRange.js.map +1 -0
  169. package/lib/module/types/VisibleRangeInput.js +4 -0
  170. package/lib/module/types/VisibleRangeInput.js.map +1 -0
  171. package/lib/module/types/index.js +4 -0
  172. package/lib/module/types/index.js.map +1 -0
  173. package/lib/module/types/layout/LayoutRect.js +2 -0
  174. package/lib/module/types/layout/LayoutRect.js.map +1 -0
  175. package/lib/module/types/layout/LinearLayoutInput.js +4 -0
  176. package/lib/module/types/layout/LinearLayoutInput.js.map +1 -0
  177. package/lib/module/types/layout/MainAxisPadding.js +22 -0
  178. package/lib/module/types/layout/MainAxisPadding.js.map +1 -0
  179. package/lib/module/types/layout/index.js +2 -0
  180. package/lib/module/types/layout/index.js.map +1 -0
  181. package/lib/module/types/recycler/RecyclerCellInstance.js +4 -0
  182. package/lib/module/types/recycler/RecyclerCellInstance.js.map +1 -0
  183. package/lib/module/types/recycler/RecyclerItemRenderer.js +4 -0
  184. package/lib/module/types/recycler/RecyclerItemRenderer.js.map +1 -0
  185. package/lib/module/types/recycler/RecyclerListProps.js +4 -0
  186. package/lib/module/types/recycler/RecyclerListProps.js.map +1 -0
  187. package/lib/module/types/recycler/index.js +2 -0
  188. package/lib/module/types/recycler/index.js.map +1 -0
  189. package/lib/module/types/scroll/ScrollMetrics.js +4 -0
  190. package/lib/module/types/scroll/ScrollMetrics.js.map +1 -0
  191. package/lib/module/types/scroll/index.js +2 -0
  192. package/lib/module/types/scroll/index.js.map +1 -0
  193. package/lib/module/utils/arrayEqual.js +11 -0
  194. package/lib/module/utils/arrayEqual.js.map +1 -0
  195. package/lib/module/utils/assertNever.js +6 -0
  196. package/lib/module/utils/assertNever.js.map +1 -0
  197. package/lib/module/utils/clamp.js +6 -0
  198. package/lib/module/utils/clamp.js.map +1 -0
  199. package/lib/module/utils/devAssert.js +8 -0
  200. package/lib/module/utils/devAssert.js.map +1 -0
  201. package/lib/module/utils/invariant.js +8 -0
  202. package/lib/module/utils/invariant.js.map +1 -0
  203. package/lib/module/utils/isDefined.js +6 -0
  204. package/lib/module/utils/isDefined.js.map +1 -0
  205. package/lib/module/utils/isNumber.js +6 -0
  206. package/lib/module/utils/isNumber.js.map +1 -0
  207. package/lib/module/utils/noop.js +6 -0
  208. package/lib/module/utils/noop.js.map +1 -0
  209. package/lib/module/utils/shallowEqual.js +18 -0
  210. package/lib/module/utils/shallowEqual.js.map +1 -0
  211. package/lib/module/utils/throttle.js +13 -0
  212. package/lib/module/utils/throttle.js.map +1 -0
  213. package/lib/module/windowing/ScrollMetrics.js +2 -0
  214. package/lib/module/windowing/ScrollMetrics.js.map +1 -0
  215. package/lib/module/windowing/computeVisibleItemRange.js +67 -0
  216. package/lib/module/windowing/computeVisibleItemRange.js.map +1 -0
  217. package/lib/module/windowing/index.js +5 -0
  218. package/lib/module/windowing/index.js.map +1 -0
  219. package/lib/module/windowing/useScrollMetrics.js +35 -0
  220. package/lib/module/windowing/useScrollMetrics.js.map +1 -0
  221. package/lib/typescript/src/NitroList.d.ts +5 -0
  222. package/lib/typescript/src/NitroList.d.ts.map +1 -0
  223. package/lib/typescript/src/ReusableView.d.ts +9 -0
  224. package/lib/typescript/src/ReusableView.d.ts.map +1 -0
  225. package/lib/typescript/src/cell/Cell.d.ts +22 -0
  226. package/lib/typescript/src/cell/Cell.d.ts.map +1 -0
  227. package/lib/typescript/src/cell/CellKeyGenerator.d.ts +11 -0
  228. package/lib/typescript/src/cell/CellKeyGenerator.d.ts.map +1 -0
  229. package/lib/typescript/src/cell/CellRecycler.d.ts +27 -0
  230. package/lib/typescript/src/cell/CellRecycler.d.ts.map +1 -0
  231. package/lib/typescript/src/cell/createCell.d.ts +7 -0
  232. package/lib/typescript/src/cell/createCell.d.ts.map +1 -0
  233. package/lib/typescript/src/cell/index.d.ts +4 -0
  234. package/lib/typescript/src/cell/index.d.ts.map +1 -0
  235. package/lib/typescript/src/debug/useDebugOverlay.d.ts +2 -0
  236. package/lib/typescript/src/debug/useDebugOverlay.d.ts.map +1 -0
  237. package/lib/typescript/src/getVisibleIndices.d.ts +8 -0
  238. package/lib/typescript/src/getVisibleIndices.d.ts.map +1 -0
  239. package/lib/typescript/src/hooks/usePersistentCallback.d.ts +16 -0
  240. package/lib/typescript/src/hooks/usePersistentCallback.d.ts.map +1 -0
  241. package/lib/typescript/src/index.d.ts +1 -4
  242. package/lib/typescript/src/index.d.ts.map +1 -1
  243. package/lib/typescript/src/layout/MutableLinearLayout.d.ts +54 -0
  244. package/lib/typescript/src/layout/MutableLinearLayout.d.ts.map +1 -0
  245. package/lib/typescript/src/layout/constants/layoutDefaults.d.ts +13 -0
  246. package/lib/typescript/src/layout/constants/layoutDefaults.d.ts.map +1 -0
  247. package/lib/typescript/src/layout/index.d.ts +2 -0
  248. package/lib/typescript/src/layout/index.d.ts.map +1 -0
  249. package/lib/typescript/src/measurement/MeasureLayout.d.ts +10 -0
  250. package/lib/typescript/src/measurement/MeasureLayout.d.ts.map +1 -0
  251. package/lib/typescript/src/measurement/useItemMeasurement.d.ts +11 -0
  252. package/lib/typescript/src/measurement/useItemMeasurement.d.ts.map +1 -0
  253. package/lib/typescript/src/native/NitroLayoutEngine.d.ts +3 -0
  254. package/lib/typescript/src/native/NitroLayoutEngine.d.ts.map +1 -0
  255. package/lib/typescript/src/native/NitroList.types.d.ts +9 -0
  256. package/lib/typescript/src/native/NitroList.types.d.ts.map +1 -0
  257. package/lib/typescript/src/native/NitroRecyclerView.d.ts +5 -0
  258. package/lib/typescript/src/native/NitroRecyclerView.d.ts.map +1 -0
  259. package/lib/typescript/src/prefetch/PrefetchHelper.d.ts +17 -0
  260. package/lib/typescript/src/prefetch/PrefetchHelper.d.ts.map +1 -0
  261. package/lib/typescript/src/recycler/CellPool.d.ts +14 -0
  262. package/lib/typescript/src/recycler/CellPool.d.ts.map +1 -0
  263. package/lib/typescript/src/recycler/RecyclerList.d.ts +4 -0
  264. package/lib/typescript/src/recycler/RecyclerList.d.ts.map +1 -0
  265. package/lib/typescript/src/specs/nitro-layout-engine.nitro.d.ts +14 -0
  266. package/lib/typescript/src/specs/nitro-layout-engine.nitro.d.ts.map +1 -0
  267. package/lib/typescript/src/types/Axis.d.ts +11 -0
  268. package/lib/typescript/src/types/Axis.d.ts.map +1 -0
  269. package/lib/typescript/src/types/CellKey.d.ts +10 -0
  270. package/lib/typescript/src/types/CellKey.d.ts.map +1 -0
  271. package/lib/typescript/src/types/CellType.d.ts +11 -0
  272. package/lib/typescript/src/types/CellType.d.ts.map +1 -0
  273. package/lib/typescript/src/types/VisibleRange.d.ts +10 -0
  274. package/lib/typescript/src/types/VisibleRange.d.ts.map +1 -0
  275. package/lib/typescript/src/types/VisibleRangeInput.d.ts +35 -0
  276. package/lib/typescript/src/types/VisibleRangeInput.d.ts.map +1 -0
  277. package/lib/typescript/src/types/index.d.ts +8 -0
  278. package/lib/typescript/src/types/index.d.ts.map +1 -0
  279. package/lib/typescript/src/types/layout/LayoutRect.d.ts +15 -0
  280. package/lib/typescript/src/types/layout/LayoutRect.d.ts.map +1 -0
  281. package/lib/typescript/src/types/layout/LinearLayoutInput.d.ts +10 -0
  282. package/lib/typescript/src/types/layout/LinearLayoutInput.d.ts.map +1 -0
  283. package/lib/typescript/src/types/layout/MainAxisPadding.d.ts +20 -0
  284. package/lib/typescript/src/types/layout/MainAxisPadding.d.ts.map +1 -0
  285. package/lib/typescript/src/types/layout/index.d.ts +4 -0
  286. package/lib/typescript/src/types/layout/index.d.ts.map +1 -0
  287. package/lib/typescript/src/types/recycler/RecyclerCellInstance.d.ts +37 -0
  288. package/lib/typescript/src/types/recycler/RecyclerCellInstance.d.ts.map +1 -0
  289. package/lib/typescript/src/types/recycler/RecyclerItemRenderer.d.ts +8 -0
  290. package/lib/typescript/src/types/recycler/RecyclerItemRenderer.d.ts.map +1 -0
  291. package/lib/typescript/src/types/recycler/RecyclerListProps.d.ts +66 -0
  292. package/lib/typescript/src/types/recycler/RecyclerListProps.d.ts.map +1 -0
  293. package/lib/typescript/src/types/recycler/index.d.ts +4 -0
  294. package/lib/typescript/src/types/recycler/index.d.ts.map +1 -0
  295. package/lib/typescript/src/types/scroll/ScrollMetrics.d.ts +15 -0
  296. package/lib/typescript/src/types/scroll/ScrollMetrics.d.ts.map +1 -0
  297. package/lib/typescript/src/types/scroll/index.d.ts +2 -0
  298. package/lib/typescript/src/types/scroll/index.d.ts.map +1 -0
  299. package/lib/typescript/src/utils/arrayEqual.d.ts +2 -0
  300. package/lib/typescript/src/utils/arrayEqual.d.ts.map +1 -0
  301. package/lib/typescript/src/utils/assertNever.d.ts +2 -0
  302. package/lib/typescript/src/utils/assertNever.d.ts.map +1 -0
  303. package/lib/typescript/src/utils/clamp.d.ts +2 -0
  304. package/lib/typescript/src/utils/clamp.d.ts.map +1 -0
  305. package/lib/typescript/src/utils/devAssert.d.ts +2 -0
  306. package/lib/typescript/src/utils/devAssert.d.ts.map +1 -0
  307. package/lib/typescript/src/utils/invariant.d.ts +2 -0
  308. package/lib/typescript/src/utils/invariant.d.ts.map +1 -0
  309. package/lib/typescript/src/utils/isDefined.d.ts +2 -0
  310. package/lib/typescript/src/utils/isDefined.d.ts.map +1 -0
  311. package/lib/typescript/src/utils/isNumber.d.ts +2 -0
  312. package/lib/typescript/src/utils/isNumber.d.ts.map +1 -0
  313. package/lib/typescript/src/utils/noop.d.ts +2 -0
  314. package/lib/typescript/src/utils/noop.d.ts.map +1 -0
  315. package/lib/typescript/src/utils/shallowEqual.d.ts +2 -0
  316. package/lib/typescript/src/utils/shallowEqual.d.ts.map +1 -0
  317. package/lib/typescript/src/utils/throttle.d.ts +2 -0
  318. package/lib/typescript/src/utils/throttle.d.ts.map +1 -0
  319. package/lib/typescript/src/windowing/ScrollMetrics.d.ts +11 -0
  320. package/lib/typescript/src/windowing/ScrollMetrics.d.ts.map +1 -0
  321. package/lib/typescript/src/windowing/computeVisibleItemRange.d.ts +15 -0
  322. package/lib/typescript/src/windowing/computeVisibleItemRange.d.ts.map +1 -0
  323. package/lib/typescript/src/windowing/index.d.ts +4 -0
  324. package/lib/typescript/src/windowing/index.d.ts.map +1 -0
  325. package/lib/typescript/src/windowing/useScrollMetrics.d.ts +14 -0
  326. package/lib/typescript/src/windowing/useScrollMetrics.d.ts.map +1 -0
  327. package/nitro.json +20 -13
  328. package/nitrogen/generated/android/NitroList+autolinking.cmake +2 -4
  329. package/nitrogen/generated/android/NitroListOnLoad.cpp +3 -13
  330. package/nitrogen/generated/android/c++/JHybridNitroLayoutEngineSpec.cpp +69 -0
  331. package/nitrogen/generated/android/c++/{JHybridNitroListSpec.hpp → JHybridNitroLayoutEngineSpec.hpp} +12 -13
  332. package/nitrogen/generated/android/c++/JLayoutRect.hpp +69 -0
  333. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrolist/{HybridNitroListSpec.kt → HybridNitroLayoutEngineSpec.kt} +11 -13
  334. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrolist/LayoutRect.kt +47 -0
  335. package/nitrogen/generated/ios/NitroList-Swift-Cxx-Bridge.cpp +9 -9
  336. package/nitrogen/generated/ios/NitroList-Swift-Cxx-Bridge.hpp +50 -13
  337. package/nitrogen/generated/ios/NitroList-Swift-Cxx-Umbrella.hpp +11 -5
  338. package/nitrogen/generated/ios/c++/{HybridNitroListSpecSwift.cpp → HybridNitroLayoutEngineSpecSwift.cpp} +2 -2
  339. package/nitrogen/generated/ios/c++/HybridNitroLayoutEngineSpecSwift.hpp +78 -0
  340. package/nitrogen/generated/ios/swift/HybridNitroLayoutEngineSpec.swift +56 -0
  341. package/nitrogen/generated/ios/swift/{HybridNitroListSpec_cxx.swift → HybridNitroLayoutEngineSpec_cxx.swift} +35 -38
  342. package/nitrogen/generated/ios/swift/LayoutRect.swift +45 -0
  343. package/nitrogen/generated/shared/c++/{HybridNitroListSpec.cpp → HybridNitroLayoutEngineSpec.cpp} +4 -5
  344. package/nitrogen/generated/shared/c++/{HybridNitroListSpec.hpp → HybridNitroLayoutEngineSpec.hpp} +15 -14
  345. package/nitrogen/generated/shared/c++/LayoutRect.hpp +95 -0
  346. package/package.json +12 -4
  347. package/src/NitroList.ts +8 -0
  348. package/src/ReusableView.ts +12 -0
  349. package/src/cell/Cell.ts +23 -0
  350. package/src/cell/CellKeyGenerator.ts +17 -0
  351. package/src/cell/CellRecycler.ts +76 -0
  352. package/src/cell/createCell.ts +15 -0
  353. package/src/cell/index.ts +5 -0
  354. package/src/debug/useDebugOverlay.ts +14 -0
  355. package/src/getVisibleIndices.ts +55 -0
  356. package/src/hooks/usePersistentCallback.ts +37 -0
  357. package/src/index.ts +1 -14
  358. package/src/layout/MutableLinearLayout.ts +112 -0
  359. package/src/layout/constants/layoutDefaults.ts +12 -0
  360. package/src/layout/index.ts +1 -0
  361. package/src/measurement/MeasureLayout.ts +20 -0
  362. package/src/measurement/useItemMeasurement.ts +32 -0
  363. package/src/native/NitroLayoutEngine.ts +7 -0
  364. package/src/native/NitroList.types.ts +13 -0
  365. package/src/native/NitroRecyclerView.ts +8 -0
  366. package/src/prefetch/PrefetchHelper.ts +47 -0
  367. package/src/recycler/CellPool.ts +47 -0
  368. package/src/recycler/RecyclerList.tsx +304 -0
  369. package/src/specs/nitro-layout-engine.nitro.ts +17 -0
  370. package/src/types/Axis.ts +10 -0
  371. package/src/types/CellKey.ts +9 -0
  372. package/src/types/CellType.ts +10 -0
  373. package/src/types/VisibleRange.ts +9 -0
  374. package/src/types/VisibleRangeInput.ts +39 -0
  375. package/src/types/index.ts +15 -0
  376. package/src/types/layout/LayoutRect.ts +14 -0
  377. package/src/types/layout/LinearLayoutInput.ts +12 -0
  378. package/src/types/layout/MainAxisPadding.ts +23 -0
  379. package/src/types/layout/index.ts +3 -0
  380. package/src/types/recycler/RecyclerCellInstance.ts +40 -0
  381. package/src/types/recycler/RecyclerItemRenderer.ts +8 -0
  382. package/src/types/recycler/RecyclerListProps.ts +74 -0
  383. package/src/types/recycler/index.ts +3 -0
  384. package/src/types/scroll/ScrollMetrics.ts +18 -0
  385. package/src/types/scroll/index.ts +1 -0
  386. package/src/utils/arrayEqual.ts +13 -0
  387. package/src/utils/assertNever.ts +3 -0
  388. package/src/utils/clamp.ts +7 -0
  389. package/src/utils/devAssert.ts +8 -0
  390. package/src/utils/invariant.ts +8 -0
  391. package/src/utils/isDefined.ts +5 -0
  392. package/src/utils/isNumber.ts +3 -0
  393. package/src/utils/noop.ts +3 -0
  394. package/src/utils/shallowEqual.ts +34 -0
  395. package/src/utils/throttle.ts +13 -0
  396. package/src/windowing/ScrollMetrics.ts +11 -0
  397. package/src/windowing/computeVisibleItemRange.ts +78 -0
  398. package/src/windowing/index.ts +3 -0
  399. package/src/windowing/useScrollMetrics.ts +56 -0
  400. package/android/src/main/java/com/nitrolist/HybridNitroList.kt +0 -27
  401. package/lib/module/specs/nitro-list.nitro.js +0 -4
  402. package/lib/typescript/src/specs/nitro-list.nitro.d.ts +0 -11
  403. package/lib/typescript/src/specs/nitro-list.nitro.d.ts.map +0 -1
  404. package/nitrogen/generated/android/c++/JHybridNitroListSpec.cpp +0 -56
  405. package/nitrogen/generated/android/c++/views/JHybridNitroListStateUpdater.cpp +0 -56
  406. package/nitrogen/generated/android/c++/views/JHybridNitroListStateUpdater.hpp +0 -49
  407. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrolist/views/HybridNitroListManager.kt +0 -50
  408. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrolist/views/HybridNitroListStateUpdater.kt +0 -23
  409. package/nitrogen/generated/ios/NitroListAutolinking.mm +0 -33
  410. package/nitrogen/generated/ios/NitroListAutolinking.swift +0 -25
  411. package/nitrogen/generated/ios/c++/HybridNitroListSpecSwift.hpp +0 -74
  412. package/nitrogen/generated/ios/c++/views/HybridNitroListComponent.mm +0 -96
  413. package/nitrogen/generated/ios/swift/HybridNitroListSpec.swift +0 -56
  414. package/nitrogen/generated/shared/c++/views/HybridNitroListComponent.cpp +0 -88
  415. package/nitrogen/generated/shared/c++/views/HybridNitroListComponent.hpp +0 -107
  416. package/nitrogen/generated/shared/json/NitroListConfig.json +0 -10
  417. package/src/specs/nitro-list.nitro.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"names":["throttle","fn","ms","last","args","now","Date"],"sourceRoot":"../../../src","sources":["utils/throttle.ts"],"mappings":";;AAAA,OAAO,SAASA,QAAQA,CACtBC,EAAK,EACLC,EAAU,EACP;EACH,IAAIC,IAAI,GAAG,CAAC;EACZ,OAAQ,CAAC,GAAGC,IAAa,KAAK;IAC5B,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,IAAIA,GAAG,GAAGF,IAAI,GAAGD,EAAE,EAAE;MACnBC,IAAI,GAAGE,GAAG;MACVJ,EAAE,CAAC,GAAGG,IAAI,CAAC;IACb;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ScrollMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["windowing/ScrollMetrics.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Computes the visible item index range using binary search.
5
+ *
6
+ * Responsibilities:
7
+ * - Determine which items intersect the visible window
8
+ * - Stay independent of rendering and recycling
9
+ *
10
+ * Performance:
11
+ * - O(log n) to locate the first visible item
12
+ * - O(k) to expand to the last visible item (k = visible count)
13
+ */
14
+ export function computeVisibleItemRange(input) {
15
+ const {
16
+ layouts,
17
+ offset,
18
+ viewportSize,
19
+ buffer,
20
+ isVertical
21
+ } = input;
22
+ const itemCount = layouts.length;
23
+ if (itemCount === 0) return null;
24
+ const windowStart = Math.max(0, offset - buffer);
25
+ const windowEnd = offset + viewportSize + buffer;
26
+
27
+ // --------------------------------------------------
28
+ // Binary search:
29
+ // First item whose END >= windowStart
30
+ // --------------------------------------------------
31
+ let low = 0;
32
+ let high = itemCount - 1;
33
+ let firstVisibleIndex = itemCount;
34
+ while (low <= high) {
35
+ const mid = low + high >>> 1;
36
+ const rect = layouts[mid];
37
+ const start = isVertical ? rect.y : rect.x;
38
+ const size = isVertical ? rect.height : rect.width;
39
+ const end = start + size;
40
+ if (end >= windowStart) {
41
+ firstVisibleIndex = mid;
42
+ high = mid - 1;
43
+ } else {
44
+ low = mid + 1;
45
+ }
46
+ }
47
+ if (firstVisibleIndex === itemCount) {
48
+ return null;
49
+ }
50
+
51
+ // --------------------------------------------------
52
+ // Linear scan forward:
53
+ // Last item whose START <= windowEnd
54
+ // --------------------------------------------------
55
+ let lastVisibleIndex = firstVisibleIndex;
56
+ for (let i = firstVisibleIndex + 1; i < itemCount; i++) {
57
+ const rect = layouts[i];
58
+ const start = isVertical ? rect.y : rect.x;
59
+ if (start > windowEnd) break;
60
+ lastVisibleIndex = i;
61
+ }
62
+ return {
63
+ startIndex: firstVisibleIndex,
64
+ endIndex: lastVisibleIndex
65
+ };
66
+ }
67
+ //# sourceMappingURL=computeVisibleItemRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computeVisibleItemRange","input","layouts","offset","viewportSize","buffer","isVertical","itemCount","length","windowStart","Math","max","windowEnd","low","high","firstVisibleIndex","mid","rect","start","y","x","size","height","width","end","lastVisibleIndex","i","startIndex","endIndex"],"sourceRoot":"../../../src","sources":["windowing/computeVisibleItemRange.ts"],"mappings":";;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,uBAAuBA,CACrCC,KAAwB,EACH;EACrB,MAAM;IACJC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,MAAM;IACNC;EACF,CAAC,GAAGL,KAAK;EAET,MAAMM,SAAS,GAAGL,OAAO,CAACM,MAAM;EAChC,IAAID,SAAS,KAAK,CAAC,EAAE,OAAO,IAAI;EAEhC,MAAME,WAAW,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAER,MAAM,GAAGE,MAAM,CAAC;EAChD,MAAMO,SAAS,GAAGT,MAAM,GAAGC,YAAY,GAAGC,MAAM;;EAEhD;EACA;EACA;EACA;EACA,IAAIQ,GAAG,GAAG,CAAC;EACX,IAAIC,IAAI,GAAGP,SAAS,GAAG,CAAC;EACxB,IAAIQ,iBAAiB,GAAGR,SAAS;EAEjC,OAAOM,GAAG,IAAIC,IAAI,EAAE;IAClB,MAAME,GAAG,GAAIH,GAAG,GAAGC,IAAI,KAAM,CAAC;IAC9B,MAAMG,IAAI,GAAGf,OAAO,CAACc,GAAG,CAAE;IAE1B,MAAME,KAAK,GAAGZ,UAAU,GAAGW,IAAI,CAACE,CAAC,GAAGF,IAAI,CAACG,CAAC;IAC1C,MAAMC,IAAI,GAAGf,UAAU,GAAGW,IAAI,CAACK,MAAM,GAAGL,IAAI,CAACM,KAAK;IAClD,MAAMC,GAAG,GAAGN,KAAK,GAAGG,IAAI;IAExB,IAAIG,GAAG,IAAIf,WAAW,EAAE;MACtBM,iBAAiB,GAAGC,GAAG;MACvBF,IAAI,GAAGE,GAAG,GAAG,CAAC;IAChB,CAAC,MAAM;MACLH,GAAG,GAAGG,GAAG,GAAG,CAAC;IACf;EACF;EAEA,IAAID,iBAAiB,KAAKR,SAAS,EAAE;IACnC,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA;EACA,IAAIkB,gBAAgB,GAAGV,iBAAiB;EAExC,KAAK,IAAIW,CAAC,GAAGX,iBAAiB,GAAG,CAAC,EAAEW,CAAC,GAAGnB,SAAS,EAAEmB,CAAC,EAAE,EAAE;IACtD,MAAMT,IAAI,GAAGf,OAAO,CAACwB,CAAC,CAAE;IACxB,MAAMR,KAAK,GAAGZ,UAAU,GAAGW,IAAI,CAACE,CAAC,GAAGF,IAAI,CAACG,CAAC;IAE1C,IAAIF,KAAK,GAAGN,SAAS,EAAE;IACvBa,gBAAgB,GAAGC,CAAC;EACtB;EAEA,OAAO;IACLC,UAAU,EAAEZ,iBAAiB;IAC7Ba,QAAQ,EAAEH;EACZ,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { useScrollMetrics } from './useScrollMetrics';
4
+ export { computeVisibleItemRange } from './computeVisibleItemRange';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useScrollMetrics","computeVisibleItemRange"],"sourceRoot":"../../../src","sources":["windowing/index.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,uBAAuB,QAAQ,2BAA2B","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useState } from 'react';
4
+ /**
5
+ * Scroll metrics hook.
6
+ * Provides stable scroll snapshot + handlers.
7
+ *
8
+ * FlashList equivalent: useScrollMetrics
9
+ */
10
+ export function useScrollMetrics() {
11
+ const [metrics, setMetrics] = useState({
12
+ offsetY: 0,
13
+ height: 0
14
+ });
15
+ const onScroll = useCallback(e => {
16
+ const offsetY = e.nativeEvent.contentOffset.y;
17
+ setMetrics(prev => prev.offsetY === offsetY ? prev : {
18
+ ...prev,
19
+ offsetY
20
+ });
21
+ }, []);
22
+ const onLayout = useCallback(e => {
23
+ const height = e.nativeEvent.layout.height;
24
+ setMetrics(prev => prev.height === height ? prev : {
25
+ ...prev,
26
+ height
27
+ });
28
+ }, []);
29
+ return {
30
+ metrics,
31
+ onScroll,
32
+ onLayout
33
+ };
34
+ }
35
+ //# sourceMappingURL=useScrollMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useState","useScrollMetrics","metrics","setMetrics","offsetY","height","onScroll","e","nativeEvent","contentOffset","y","prev","onLayout","layout"],"sourceRoot":"../../../src","sources":["windowing/useScrollMetrics.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAQ7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAI9B;EACA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGH,QAAQ,CAAgB;IACpDI,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAGP,WAAW,CACzBQ,CAA0C,IAAK;IAC9C,MAAMH,OAAO,GAAGG,CAAC,CAACC,WAAW,CAACC,aAAa,CAACC,CAAC;IAE7CP,UAAU,CAACQ,IAAI,IACbA,IAAI,CAACP,OAAO,KAAKA,OAAO,GACpBO,IAAI,GACJ;MAAE,GAAGA,IAAI;MAAEP;IAAQ,CACzB,CAAC;EACH,CAAC,EACD,EACF,CAAC;EAED,MAAMQ,QAAQ,GAAGb,WAAW,CACzBQ,CAAoB,IAAK;IACxB,MAAMF,MAAM,GAAGE,CAAC,CAACC,WAAW,CAACK,MAAM,CAACR,MAAM;IAE1CF,UAAU,CAACQ,IAAI,IACbA,IAAI,CAACN,MAAM,KAAKA,MAAM,GAClBM,IAAI,GACJ;MAAE,GAAGA,IAAI;MAAEN;IAAO,CACxB,CAAC;EACH,CAAC,EACD,EACF,CAAC;EAED,OAAO;IACLH,OAAO;IACPI,QAAQ;IACRM;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export type NitroRecyclerViewProps = {
2
+ itemCount: number;
3
+ };
4
+ export declare const NitroRecyclerView: import("react-native").HostComponent<NitroRecyclerViewProps>;
5
+ //# sourceMappingURL=NitroList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroList.d.ts","sourceRoot":"","sources":["../../../src/NitroList.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,8DACuC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export type ReusableView = {
2
+ /** Stable identity for React */
3
+ readonly key: string;
4
+ /** Current data index bound to this slot */
5
+ index: number;
6
+ /** Optional type (header, row, etc — future) */
7
+ type?: string;
8
+ };
9
+ //# sourceMappingURL=ReusableView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReusableView.d.ts","sourceRoot":"","sources":["../../../src/ReusableView.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAA;IAEb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Physical reusable cell.
3
+ * Represents a single mounted view instance.
4
+ */
5
+ export interface Cell {
6
+ /**
7
+ * Stable physical identity.
8
+ * Used as React key. NEVER changes.
9
+ */
10
+ readonly key: string;
11
+ /**
12
+ * Logical data index currently bound.
13
+ * Changes as the cell is recycled.
14
+ */
15
+ index: number;
16
+ /**
17
+ * Compatibility type (row, header, etc).
18
+ * Determines reuse eligibility.
19
+ */
20
+ readonly type: string;
21
+ }
22
+ //# sourceMappingURL=Cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../src/cell/Cell.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB"}
@@ -0,0 +1,11 @@
1
+ import type { CellKey } from '../types/CellKey';
2
+ /**
3
+ * Monotonic key generator for physical cell instances.
4
+ * Guarantees stable keys across the lifetime of the list.
5
+ */
6
+ export declare class CellKeyGenerator {
7
+ private nextId;
8
+ next(): CellKey;
9
+ reset(): void;
10
+ }
11
+ //# sourceMappingURL=CellKeyGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellKeyGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cell/CellKeyGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAI;IAElB,IAAI,IAAI,OAAO;IAIf,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,27 @@
1
+ import type { Cell } from './Cell';
2
+ /**
3
+ * Manages physical cell reuse.
4
+ * Imperative and stateful by design.
5
+ * This is NOT React code.
6
+ */
7
+ export declare class CellRecycler {
8
+ /**
9
+ * Active cells mapped by logical index.
10
+ */
11
+ private readonly indexToCell;
12
+ /**
13
+ * Pool of detached reusable cells.
14
+ */
15
+ private readonly recycledCells;
16
+ /**
17
+ * Reconcile a contiguous visible index range
18
+ * into a stable list of physical cells.
19
+ *
20
+ * HOT PATH:
21
+ * - No index arrays
22
+ * - Minimal allocations
23
+ * - Deterministic
24
+ */
25
+ reconcileRange(startIndex: number, endIndex: number, resolveCellType: (index: number) => string): readonly Cell[];
26
+ }
27
+ //# sourceMappingURL=CellRecycler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellRecycler.d.ts","sourceRoot":"","sources":["../../../../src/cell/CellRecycler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAGlC;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAE3C;;;;;;;;OAQG;IACH,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACzC,SAAS,IAAI,EAAE;CA2CnB"}
@@ -0,0 +1,7 @@
1
+ import type { Cell } from './Cell';
2
+ /**
3
+ * Creates a new physical cell with a stable identity.
4
+ * The key is generated ONCE and never changes.
5
+ */
6
+ export declare function createCell(type: string): Cell;
7
+ //# sourceMappingURL=createCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCell.d.ts","sourceRoot":"","sources":["../../../../src/cell/createCell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIlC;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM7C"}
@@ -0,0 +1,4 @@
1
+ export type { Cell } from './Cell';
2
+ export { CellRecycler } from './CellRecycler';
3
+ export { createCell } from './createCell';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cell/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function useDebugOverlay(enabled: boolean, visibleCount: number): void;
2
+ //# sourceMappingURL=useDebugOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebugOverlay.d.ts","sourceRoot":"","sources":["../../../../src/debug/useDebugOverlay.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CAQN"}
@@ -0,0 +1,8 @@
1
+ import type { LayoutRect } from './types/layout';
2
+ import type { ScrollMetrics } from './windowing/ScrollMetrics';
3
+ /**
4
+ * Binary-search based windowing.
5
+ * Returns indices intersecting viewport ± buffer.
6
+ */
7
+ export declare function getVisibleRange(layouts: readonly LayoutRect[], metrics: ScrollMetrics, bufferPx: number): readonly number[];
8
+ //# sourceMappingURL=getVisibleIndices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVisibleIndices.d.ts","sourceRoot":"","sources":["../../../src/getVisibleIndices.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GACf,SAAS,MAAM,EAAE,CAyCnB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Returns a function whose identity is stable across renders,
3
+ * but always invokes the latest provided implementation.
4
+ *
5
+ * Invariants:
6
+ * - Function reference NEVER changes
7
+ * - Logic is ALWAYS up to date
8
+ *
9
+ * This is critical for long-lived systems such as:
10
+ * - Recyclers
11
+ * - Effects
12
+ * - Native bridges
13
+ * - Event pipelines
14
+ */
15
+ export declare function usePersistentCallback<T extends (...args: never[]) => unknown>(fn: T): T;
16
+ //# sourceMappingURL=usePersistentCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePersistentCallback.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePersistentCallback.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EACvC,EAAE,EAAE,CAAC,GAAG,CAAC,CAkBV"}
@@ -1,5 +1,2 @@
1
- import { type HybridRef } from 'react-native-nitro-modules';
2
- import type { NitroListProps, NitroListMethods } from './specs/nitro-list.nitro';
3
- export declare const NitroList: import("react-native-nitro-modules").ReactNativeView<NitroListProps, NitroListMethods>;
4
- export type NitroListRef = HybridRef<NitroListProps, NitroListMethods>;
1
+ export { RecyclerList } from './recycler/RecyclerList';
5
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE7E,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,0BAA0B,CAAA;AAGjC,eAAO,MAAM,SAAS,wFAGrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,54 @@
1
+ import type { Axis } from '../types/Axis';
2
+ import type { LinearLayoutInput } from '../types/layout';
3
+ import type { LayoutRect } from '../types/layout/LayoutRect';
4
+ /**
5
+ * Mutable, deterministic linear layout engine.
6
+ *
7
+ * Responsibilities:
8
+ * - Compute absolute item geometry
9
+ * - Own layout truth (no React, no scroll state)
10
+ * - Guarantee monotonic ordering along the main axis
11
+ *
12
+ * Cross-platform equivalents:
13
+ * - Flutter: RenderSliver / SliverList
14
+ * - Android: LinearLayoutManager
15
+ * - iOS: UICollectionViewFlowLayout (linear)
16
+ */
17
+ export declare class MutableLinearLayout {
18
+ private readonly isVertical;
19
+ /** Absolute item layouts in index order */
20
+ private layouts;
21
+ /** Total scrollable size along main axis */
22
+ private contentSize;
23
+ constructor(axis: Axis);
24
+ /**
25
+ * Computes layout synchronously from input.
26
+ *
27
+ * This method is intentionally parameter-object based
28
+ * to allow future extension without breaking API.
29
+ *
30
+ * Invariants:
31
+ * - Layouts are monotonic along main axis
32
+ * - No gaps except explicit spacing
33
+ * - Deterministic for identical inputs
34
+ */
35
+ compute(input: LinearLayoutInput): void;
36
+ /**
37
+ * Returns computed item layouts.
38
+ *
39
+ * Order is guaranteed monotonic along the main axis,
40
+ * which is required for binary-search-based windowing.
41
+ */
42
+ getLayouts(): readonly LayoutRect[];
43
+ /**
44
+ * Returns total scrollable size along the main axis,
45
+ * including padding and inter-item spacing.
46
+ */
47
+ getContentSize(): number;
48
+ /**
49
+ * Clears internal layout state.
50
+ * Call on severe invalidation or teardown.
51
+ */
52
+ reset(): void;
53
+ }
54
+ //# sourceMappingURL=MutableLinearLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutableLinearLayout.d.ts","sourceRoot":"","sources":["../../../../src/layout/MutableLinearLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAI5D;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,2CAA2C;IAC3C,OAAO,CAAC,OAAO,CAAmB;IAElC,4CAA4C;IAC5C,OAAO,CAAC,WAAW,CAAI;gBAEX,IAAI,EAAE,IAAI;IAItB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IA0CvC;;;;;OAKG;IACH,UAAU,IAAI,SAAS,UAAU,EAAE;IAInC;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Default spacing between items along the main axis.
3
+ *
4
+ * This value is used by layout engines when no explicit
5
+ * itemSpacing is provided.
6
+ *
7
+ * Mirrors:
8
+ * - Android RecyclerView ItemDecoration (typical 8–16dp)
9
+ * - iOS UICollectionViewFlowLayout minimumLineSpacing
10
+ * - Flutter SliverList spacing conventions
11
+ */
12
+ export declare const DEFAULT_ITEM_SPACING = 12;
13
+ //# sourceMappingURL=layoutDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutDefaults.d.ts","sourceRoot":"","sources":["../../../../../src/layout/constants/layoutDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type { MutableLinearLayout } from './MutableLinearLayout';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { LayoutChangeEvent } from 'react-native';
2
+ export interface MeasuredLayout {
3
+ readonly width: number;
4
+ readonly height: number;
5
+ }
6
+ /**
7
+ * Extracts stable layout measurements from RN onLayout event.
8
+ */
9
+ export declare function measureLayout(event: LayoutChangeEvent): MeasuredLayout;
10
+ //# sourceMappingURL=MeasureLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasureLayout.d.ts","sourceRoot":"","sources":["../../../../src/measurement/MeasureLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,iBAAiB,GACvB,cAAc,CAOhB"}
@@ -0,0 +1,11 @@
1
+ import type { LayoutChangeEvent } from 'react-native';
2
+ /**
3
+ * Hook to measure a rendered item safely.
4
+ *
5
+ * Guarantees:
6
+ * - No duplicate height reports
7
+ * - No render loops
8
+ * - Stable callback identity
9
+ */
10
+ export declare function useItemMeasurement(index: number, onMeasured: (index: number, height: number) => void): (e: LayoutChangeEvent) => void;
11
+ //# sourceMappingURL=useItemMeasurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useItemMeasurement.d.ts","sourceRoot":"","sources":["../../../../src/measurement/useItemMeasurement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,OAK7C,iBAAiB,UAaxB"}
@@ -0,0 +1,3 @@
1
+ import type { NitroLayoutEngine as NitroLayoutEngineSpec } from '../specs/nitro-layout-engine.nitro';
2
+ export declare const NitroLayoutEngine: NitroLayoutEngineSpec;
3
+ //# sourceMappingURL=NitroLayoutEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroLayoutEngine.d.ts","sourceRoot":"","sources":["../../../../src/native/NitroLayoutEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAEpG,eAAO,MAAM,iBAAiB,uBAG3B,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { LayoutRect } from "../types/layout";
2
+ /**
3
+ * JS runtime interface backed by Nitro (JSI).
4
+ * Must match native HybridNitroList exactly.
5
+ */
6
+ export interface NitroList {
7
+ computeLayout(containerWidth: number, itemHeights: readonly number[]): readonly LayoutRect[];
8
+ }
9
+ //# sourceMappingURL=NitroList.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroList.types.d.ts","sourceRoot":"","sources":["../../../../src/native/NitroList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,SAAS,UAAU,EAAE,CAAA;CACzB"}
@@ -0,0 +1,5 @@
1
+ export type NitroRecyclerViewProps = {
2
+ itemCount: number;
3
+ };
4
+ export declare const NitroRecyclerView: import("react-native").HostComponent<NitroRecyclerViewProps>;
5
+ //# sourceMappingURL=NitroRecyclerView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroRecyclerView.d.ts","sourceRoot":"","sources":["../../../../src/native/NitroRecyclerView.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,8DACuC,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Callback invoked when new items should be prefetched.
3
+ */
4
+ export type PrefetchCallback = (indices: number[]) => void;
5
+ /**
6
+ * PrefetchHelper
7
+ *
8
+ * Stateless with respect to layout.
9
+ * Only tracks what has already been prefetched to avoid duplication.
10
+ *
11
+ * Designed to be driven by *visible window*, not scroll events.
12
+ */
13
+ export declare class PrefetchHelper {
14
+ private lastPrefetched;
15
+ runPrefetch(visibleIndices: readonly number[], itemCount: number, aheadCount: number, onPrefetch: PrefetchCallback): void;
16
+ }
17
+ //# sourceMappingURL=PrefetchHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrefetchHelper.d.ts","sourceRoot":"","sources":["../../../../src/prefetch/PrefetchHelper.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;AAE1D;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAoB;IAE1C,WAAW,CACT,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB;CA0B/B"}
@@ -0,0 +1,14 @@
1
+ import type { CellType } from '../types/CellType';
2
+ import type { RecyclerCellInstance } from '../types/recycler';
3
+ export declare class CellPool {
4
+ private readonly pools;
5
+ private readonly maxPerType;
6
+ /** ✅ NEW: check if a type is registered */
7
+ hasType(type: CellType): boolean;
8
+ registerType(type: CellType, maxCount: number): void;
9
+ acquire(type: CellType): RecyclerCellInstance | null;
10
+ release(cell: RecyclerCellInstance): void;
11
+ clear(): void;
12
+ getPoolSize(type: CellType): number;
13
+ }
14
+ //# sourceMappingURL=CellPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellPool.d.ts","sourceRoot":"","sources":["../../../../src/recycler/CellPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD,2CAA2C;IAC3C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAIhC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMpD,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,GAAG,IAAI;IAMpD,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAazC,KAAK,IAAI,IAAI;IAMb,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;CAGpC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { RecyclerListProps } from '../types/recycler';
3
+ export declare function RecyclerList<T>(props: RecyclerListProps<T>): React.ReactElement;
4
+ //# sourceMappingURL=RecyclerList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecyclerList.d.ts","sourceRoot":"","sources":["../../../../src/recycler/RecyclerList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAU1D,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAmB1B,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,KAAK,CAAC,YAAY,CAmQpB"}
@@ -0,0 +1,14 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+ export interface LayoutRect {
3
+ readonly x: number;
4
+ readonly y: number;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ }
8
+ export interface NitroLayoutEngine extends HybridObject<{
9
+ ios: 'swift';
10
+ android: 'kotlin';
11
+ }> {
12
+ computeLayout(containerWidth: number, itemHeights: readonly number[]): readonly LayoutRect[];
13
+ }
14
+ //# sourceMappingURL=nitro-layout-engine.nitro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nitro-layout-engine.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/nitro-layout-engine.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IAEzD,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,SAAS,UAAU,EAAE,CAAA;CACzB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Axis along which scrolling and layout occur.
3
+ *
4
+ * Matches Flutter's Axis:
5
+ * - vertical → Y axis
6
+ * - horizontal → X axis
7
+ *
8
+ * This is NOT gesture direction.
9
+ */
10
+ export type Axis = 'vertical' | 'horizontal';
11
+ //# sourceMappingURL=Axis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../src/types/Axis.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Stable identifier for a cell.
3
+ *
4
+ * Cross-platform equivalent:
5
+ * - Flutter: Key
6
+ * - Android: stableId
7
+ * - iOS: reuseIdentifier (logical)
8
+ */
9
+ export type CellKey = string | number;
10
+ //# sourceMappingURL=CellKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellKey.d.ts","sourceRoot":"","sources":["../../../../src/types/CellKey.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Logical cell type.
3
+ *
4
+ * Used to group compatible cells for recycling.
5
+ *
6
+ * Cross-platform equivalent:
7
+ * - Android: viewType
8
+ * - iOS: reuseIdentifier
9
+ */
10
+ export type CellType = string | number;
11
+ //# sourceMappingURL=CellType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellType.d.ts","sourceRoot":"","sources":["../../../../src/types/CellType.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Visible item index range.
3
+ *
4
+ * Indices are inclusive.
5
+ */
6
+ export interface VisibleRange {
7
+ readonly startIndex: number;
8
+ readonly endIndex: number;
9
+ }
10
+ //# sourceMappingURL=VisibleRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisibleRange.d.ts","sourceRoot":"","sources":["../../../../src/types/VisibleRange.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B"}