@react-native-ohos/flash-list 1.8.3-rc.5 → 2.1.1-rc.1

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 (495) hide show
  1. package/LICENSE +1 -1
  2. package/README.OpenSource +1 -1
  3. package/dist/AnimatedFlashList.d.ts +4 -28
  4. package/dist/AnimatedFlashList.d.ts.map +1 -1
  5. package/dist/AnimatedFlashList.js +5 -30
  6. package/dist/AnimatedFlashList.js.map +1 -1
  7. package/dist/FlashList.d.ts +1 -179
  8. package/dist/FlashList.d.ts.map +1 -1
  9. package/dist/FlashList.js +1 -599
  10. package/dist/FlashList.js.map +1 -1
  11. package/dist/FlashListProps.d.ts +285 -278
  12. package/dist/FlashListProps.d.ts.map +1 -1
  13. package/dist/FlashListProps.js +5 -31
  14. package/dist/FlashListProps.js.map +1 -1
  15. package/dist/FlashListRef.d.ts +305 -0
  16. package/dist/FlashListRef.d.ts.map +1 -0
  17. package/dist/FlashListRef.js +2 -0
  18. package/dist/FlashListRef.js.map +1 -0
  19. package/dist/benchmark/AutoScrollHelper.d.ts +17 -40
  20. package/dist/benchmark/AutoScrollHelper.d.ts.map +1 -1
  21. package/dist/benchmark/AutoScrollHelper.js +59 -90
  22. package/dist/benchmark/AutoScrollHelper.js.map +1 -1
  23. package/dist/benchmark/JSFPSMonitor.d.ts +22 -45
  24. package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
  25. package/dist/benchmark/JSFPSMonitor.js +59 -87
  26. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  27. package/dist/benchmark/roundToDecimalPlaces.d.ts +1 -24
  28. package/dist/benchmark/roundToDecimalPlaces.d.ts.map +1 -1
  29. package/dist/benchmark/roundToDecimalPlaces.js +4 -31
  30. package/dist/benchmark/roundToDecimalPlaces.js.map +1 -1
  31. package/dist/benchmark/useBenchmark.d.ts +40 -57
  32. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  33. package/dist/benchmark/useBenchmark.js +119 -189
  34. package/dist/benchmark/useBenchmark.js.map +1 -1
  35. package/dist/benchmark/useDataMultiplier.d.ts +8 -31
  36. package/dist/benchmark/useDataMultiplier.d.ts.map +1 -1
  37. package/dist/benchmark/useDataMultiplier.js +19 -47
  38. package/dist/benchmark/useDataMultiplier.js.map +1 -1
  39. package/dist/benchmark/useFlatListBenchmark.d.ts +14 -35
  40. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  41. package/dist/benchmark/useFlatListBenchmark.js +92 -122
  42. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  43. package/dist/errors/ErrorMessages.d.ts +16 -0
  44. package/dist/errors/ErrorMessages.d.ts.map +1 -0
  45. package/dist/errors/ErrorMessages.js +16 -0
  46. package/dist/errors/ErrorMessages.js.map +1 -0
  47. package/dist/errors/WarningMessages.d.ts +6 -0
  48. package/dist/errors/WarningMessages.d.ts.map +1 -0
  49. package/dist/errors/WarningMessages.js +7 -0
  50. package/dist/errors/WarningMessages.js.map +1 -0
  51. package/dist/index.d.ts +15 -36
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +19 -54
  54. package/dist/index.js.map +1 -1
  55. package/dist/isNewArch.d.ts +2 -0
  56. package/dist/isNewArch.d.ts.map +1 -0
  57. package/dist/isNewArch.js +22 -0
  58. package/dist/isNewArch.js.map +1 -0
  59. package/dist/native/config/PlatformHelper.android.d.ts +6 -48
  60. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  61. package/dist/native/config/PlatformHelper.android.js +6 -45
  62. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  63. package/dist/native/config/PlatformHelper.d.ts +6 -48
  64. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  65. package/dist/native/config/PlatformHelper.harmony.d.ts +29 -48
  66. package/dist/native/config/PlatformHelper.harmony.d.ts.map +1 -1
  67. package/dist/native/config/PlatformHelper.harmony.js +29 -44
  68. package/dist/native/config/PlatformHelper.harmony.js.map +1 -1
  69. package/dist/native/config/PlatformHelper.ios.d.ts +6 -48
  70. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  71. package/dist/native/config/PlatformHelper.ios.js +6 -44
  72. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  73. package/dist/native/config/PlatformHelper.js +6 -45
  74. package/dist/native/config/PlatformHelper.js.map +1 -1
  75. package/dist/native/config/PlatformHelper.web.d.ts +6 -49
  76. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  77. package/dist/native/config/PlatformHelper.web.js +6 -47
  78. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  79. package/dist/recyclerview/LayoutCommitObserver.d.ts +12 -0
  80. package/dist/recyclerview/LayoutCommitObserver.d.ts.map +1 -0
  81. package/dist/recyclerview/LayoutCommitObserver.js +58 -0
  82. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -0
  83. package/dist/recyclerview/RecyclerView.d.ts +13 -0
  84. package/dist/recyclerview/RecyclerView.d.ts.map +1 -0
  85. package/dist/recyclerview/RecyclerView.js +368 -0
  86. package/dist/recyclerview/RecyclerView.js.map +1 -0
  87. package/dist/recyclerview/RecyclerViewContextProvider.d.ts +46 -0
  88. package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -0
  89. package/dist/recyclerview/RecyclerViewContextProvider.js +10 -0
  90. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -0
  91. package/dist/recyclerview/RecyclerViewManager.d.ts +78 -0
  92. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -0
  93. package/dist/recyclerview/RecyclerViewManager.js +343 -0
  94. package/dist/recyclerview/RecyclerViewManager.js.map +1 -0
  95. package/dist/recyclerview/RecyclerViewProps.d.ts +2 -0
  96. package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -0
  97. package/dist/recyclerview/RecyclerViewProps.js +2 -0
  98. package/dist/recyclerview/RecyclerViewProps.js.map +1 -0
  99. package/dist/recyclerview/RenderStackManager.d.ts +86 -0
  100. package/dist/recyclerview/RenderStackManager.d.ts.map +1 -0
  101. package/dist/recyclerview/RenderStackManager.js +252 -0
  102. package/dist/recyclerview/RenderStackManager.js.map +1 -0
  103. package/dist/recyclerview/ViewHolder.d.ts +45 -0
  104. package/dist/recyclerview/ViewHolder.d.ts.map +1 -0
  105. package/dist/recyclerview/ViewHolder.js +94 -0
  106. package/dist/recyclerview/ViewHolder.js.map +1 -0
  107. package/dist/recyclerview/ViewHolderCollection.d.ts +63 -0
  108. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -0
  109. package/dist/recyclerview/ViewHolderCollection.js +87 -0
  110. package/dist/recyclerview/ViewHolderCollection.js.map +1 -0
  111. package/dist/recyclerview/components/CompatScroller.d.ts +7 -0
  112. package/dist/recyclerview/components/CompatScroller.d.ts.map +1 -0
  113. package/dist/recyclerview/components/CompatScroller.js +7 -0
  114. package/dist/recyclerview/components/CompatScroller.js.map +1 -0
  115. package/dist/recyclerview/components/CompatView.d.ts +7 -0
  116. package/dist/recyclerview/components/CompatView.d.ts.map +1 -0
  117. package/dist/recyclerview/components/CompatView.js +7 -0
  118. package/dist/recyclerview/components/CompatView.js.map +1 -0
  119. package/dist/recyclerview/components/ScrollAnchor.d.ts +29 -0
  120. package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -0
  121. package/dist/recyclerview/components/ScrollAnchor.js +33 -0
  122. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -0
  123. package/dist/recyclerview/components/StickyHeaders.d.ts +38 -0
  124. package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -0
  125. package/dist/recyclerview/components/StickyHeaders.js +112 -0
  126. package/dist/recyclerview/components/StickyHeaders.js.map +1 -0
  127. package/dist/recyclerview/helpers/ConsecutiveNumbers.d.ts +51 -0
  128. package/dist/recyclerview/helpers/ConsecutiveNumbers.d.ts.map +1 -0
  129. package/dist/recyclerview/helpers/ConsecutiveNumbers.js +95 -0
  130. package/dist/recyclerview/helpers/ConsecutiveNumbers.js.map +1 -0
  131. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts +105 -0
  132. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -0
  133. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +202 -0
  134. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -0
  135. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +14 -0
  136. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -0
  137. package/dist/recyclerview/helpers/RenderTimeTracker.js +44 -0
  138. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -0
  139. package/dist/recyclerview/helpers/VelocityTracker.d.ts +29 -0
  140. package/dist/recyclerview/helpers/VelocityTracker.d.ts.map +1 -0
  141. package/dist/recyclerview/helpers/VelocityTracker.js +64 -0
  142. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -0
  143. package/dist/recyclerview/hooks/useBoundDetection.d.ts +17 -0
  144. package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -0
  145. package/dist/recyclerview/hooks/useBoundDetection.js +132 -0
  146. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -0
  147. package/dist/recyclerview/hooks/useLayoutState.d.ts +14 -0
  148. package/dist/recyclerview/hooks/useLayoutState.d.ts.map +1 -0
  149. package/dist/recyclerview/hooks/useLayoutState.js +38 -0
  150. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -0
  151. package/dist/recyclerview/hooks/useMappingHelper.d.ts +9 -0
  152. package/dist/recyclerview/hooks/useMappingHelper.d.ts.map +1 -0
  153. package/dist/recyclerview/hooks/useMappingHelper.js +15 -0
  154. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -0
  155. package/dist/recyclerview/hooks/useOnLoad.d.ts +25 -0
  156. package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -0
  157. package/dist/recyclerview/hooks/useOnLoad.js +67 -0
  158. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -0
  159. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +28 -0
  160. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -0
  161. package/dist/recyclerview/hooks/useRecyclerViewController.js +507 -0
  162. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -0
  163. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts +8 -0
  164. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -0
  165. package/dist/recyclerview/hooks/useRecyclerViewManager.js +32 -0
  166. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -0
  167. package/dist/recyclerview/hooks/useRecyclingState.d.ts +18 -0
  168. package/dist/recyclerview/hooks/useRecyclingState.d.ts.map +1 -0
  169. package/dist/recyclerview/hooks/useRecyclingState.js +49 -0
  170. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -0
  171. package/dist/recyclerview/hooks/useSecondaryProps.d.ts +27 -0
  172. package/dist/recyclerview/hooks/useSecondaryProps.d.ts.map +1 -0
  173. package/dist/recyclerview/hooks/useSecondaryProps.js +90 -0
  174. package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -0
  175. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts +15 -0
  176. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts.map +1 -0
  177. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +58 -0
  178. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -0
  179. package/dist/recyclerview/hooks/useUnmountFlag.d.ts +10 -0
  180. package/dist/recyclerview/hooks/useUnmountFlag.d.ts.map +1 -0
  181. package/dist/recyclerview/hooks/useUnmountFlag.js +25 -0
  182. package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -0
  183. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +79 -0
  184. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -0
  185. package/dist/recyclerview/layout-managers/GridLayoutManager.js +221 -0
  186. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -0
  187. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +296 -0
  188. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -0
  189. package/dist/recyclerview/layout-managers/LayoutManager.js +279 -0
  190. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -0
  191. package/dist/recyclerview/layout-managers/LinearLayoutManager.d.ts +51 -0
  192. package/dist/recyclerview/layout-managers/LinearLayoutManager.d.ts.map +1 -0
  193. package/dist/recyclerview/layout-managers/LinearLayoutManager.js +151 -0
  194. package/dist/recyclerview/layout-managers/LinearLayoutManager.js.map +1 -0
  195. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts +81 -0
  196. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts.map +1 -0
  197. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +269 -0
  198. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -0
  199. package/dist/recyclerview/utils/adjustOffsetForRTL.d.ts +12 -0
  200. package/dist/recyclerview/utils/adjustOffsetForRTL.d.ts.map +1 -0
  201. package/dist/recyclerview/utils/adjustOffsetForRTL.js +14 -0
  202. package/dist/recyclerview/utils/adjustOffsetForRTL.js.map +1 -0
  203. package/dist/recyclerview/utils/componentUtils.d.ts +19 -0
  204. package/dist/recyclerview/utils/componentUtils.d.ts.map +1 -0
  205. package/dist/recyclerview/utils/componentUtils.js +27 -0
  206. package/dist/recyclerview/utils/componentUtils.js.map +1 -0
  207. package/dist/recyclerview/utils/findVisibleIndex.d.ts +24 -0
  208. package/dist/recyclerview/utils/findVisibleIndex.d.ts.map +1 -0
  209. package/dist/recyclerview/utils/findVisibleIndex.js +76 -0
  210. package/dist/recyclerview/utils/findVisibleIndex.js.map +1 -0
  211. package/dist/recyclerview/utils/measureLayout.d.ts +52 -0
  212. package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -0
  213. package/dist/recyclerview/utils/measureLayout.js +99 -0
  214. package/dist/recyclerview/utils/measureLayout.js.map +1 -0
  215. package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
  216. package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
  217. package/dist/recyclerview/utils/measureLayout.web.js +79 -0
  218. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
  219. package/dist/recyclerview/viewability/ViewToken.d.ts +8 -0
  220. package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
  221. package/dist/recyclerview/viewability/ViewToken.js +2 -0
  222. package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
  223. package/dist/recyclerview/viewability/ViewabilityHelper.d.ts +26 -0
  224. package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
  225. package/dist/recyclerview/viewability/ViewabilityHelper.js +98 -0
  226. package/dist/recyclerview/viewability/ViewabilityHelper.js.map +1 -0
  227. package/dist/recyclerview/viewability/ViewabilityManager.d.ts +25 -0
  228. package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
  229. package/dist/recyclerview/viewability/ViewabilityManager.js +94 -0
  230. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
  231. package/dist/tsconfig.tsbuildinfo +1 -1
  232. package/dist/utils/AverageWindow.d.ts +33 -43
  233. package/dist/utils/AverageWindow.d.ts.map +1 -1
  234. package/dist/utils/AverageWindow.js +66 -71
  235. package/dist/utils/AverageWindow.js.map +1 -1
  236. package/jestSetup.js +23 -37
  237. package/package.json +15 -24
  238. package/src/AnimatedFlashList.ts +2 -25
  239. package/src/FlashList.ts +1 -0
  240. package/src/FlashListProps.ts +109 -100
  241. package/src/FlashListRef.ts +320 -0
  242. package/src/benchmark/AutoScrollHelper.ts +0 -24
  243. package/src/benchmark/JSFPSMonitor.ts +2 -26
  244. package/src/benchmark/roundToDecimalPlaces.ts +0 -24
  245. package/src/benchmark/useBenchmark.ts +59 -105
  246. package/src/benchmark/useDataMultiplier.ts +0 -24
  247. package/src/benchmark/useFlatListBenchmark.ts +43 -32
  248. package/src/errors/ErrorMessages.ts +26 -0
  249. package/src/errors/WarningMessages.ts +9 -0
  250. package/src/index.ts +18 -46
  251. package/src/isNewArch.ts +25 -0
  252. package/src/native/config/PlatformHelper.android.ts +3 -49
  253. package/src/native/config/PlatformHelper.harmony.ts +3 -24
  254. package/src/native/config/PlatformHelper.ios.ts +3 -48
  255. package/src/native/config/PlatformHelper.ts +3 -49
  256. package/src/native/config/PlatformHelper.web.ts +4 -55
  257. package/src/recyclerview/LayoutCommitObserver.tsx +74 -0
  258. package/src/recyclerview/RecyclerView.tsx +616 -0
  259. package/src/recyclerview/RecyclerViewContextProvider.ts +65 -0
  260. package/src/recyclerview/RecyclerViewManager.ts +461 -0
  261. package/src/recyclerview/RecyclerViewProps.ts +1 -0
  262. package/src/recyclerview/RenderStackManager.ts +317 -0
  263. package/src/recyclerview/ViewHolder.tsx +180 -0
  264. package/src/recyclerview/ViewHolderCollection.tsx +193 -0
  265. package/src/recyclerview/components/CompatScroller.ts +9 -0
  266. package/src/recyclerview/components/CompatView.ts +9 -0
  267. package/src/recyclerview/components/ScrollAnchor.tsx +66 -0
  268. package/src/recyclerview/components/StickyHeaders.tsx +222 -0
  269. package/src/recyclerview/helpers/ConsecutiveNumbers.ts +120 -0
  270. package/src/recyclerview/helpers/EngagedIndicesTracker.ts +301 -0
  271. package/src/recyclerview/helpers/RenderTimeTracker.ts +50 -0
  272. package/src/recyclerview/helpers/VelocityTracker.ts +77 -0
  273. package/src/recyclerview/hooks/useBoundDetection.ts +176 -0
  274. package/src/recyclerview/hooks/useLayoutState.ts +55 -0
  275. package/src/recyclerview/hooks/useMappingHelper.ts +20 -0
  276. package/src/recyclerview/hooks/useOnLoad.ts +80 -0
  277. package/src/recyclerview/hooks/useRecyclerViewController.tsx +633 -0
  278. package/src/recyclerview/hooks/useRecyclerViewManager.ts +42 -0
  279. package/src/recyclerview/hooks/useRecyclingState.ts +67 -0
  280. package/src/recyclerview/hooks/useSecondaryProps.tsx +124 -0
  281. package/src/recyclerview/hooks/useUnmountAwareCallbacks.ts +73 -0
  282. package/src/recyclerview/hooks/useUnmountFlag.ts +27 -0
  283. package/src/recyclerview/layout-managers/GridLayoutManager.ts +256 -0
  284. package/src/recyclerview/layout-managers/LayoutManager.ts +568 -0
  285. package/src/recyclerview/layout-managers/LinearLayoutManager.ts +171 -0
  286. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +323 -0
  287. package/src/recyclerview/utils/adjustOffsetForRTL.ts +17 -0
  288. package/src/recyclerview/utils/componentUtils.ts +28 -0
  289. package/src/recyclerview/utils/findVisibleIndex.ts +93 -0
  290. package/src/recyclerview/utils/measureLayout.ts +128 -0
  291. package/src/recyclerview/utils/measureLayout.web.ts +102 -0
  292. package/src/recyclerview/viewability/ViewToken.ts +7 -0
  293. package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -33
  294. package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +23 -46
  295. package/src/utils/AverageWindow.ts +33 -24
  296. package/dist/GridLayoutProviderWithProps.d.ts +0 -65
  297. package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
  298. package/dist/GridLayoutProviderWithProps.js +0 -138
  299. package/dist/GridLayoutProviderWithProps.js.map +0 -1
  300. package/dist/MasonryFlashList.d.ts +0 -74
  301. package/dist/MasonryFlashList.d.ts.map +0 -1
  302. package/dist/MasonryFlashList.js +0 -275
  303. package/dist/MasonryFlashList.js.map +0 -1
  304. package/dist/PureComponentWrapper.d.ts +0 -45
  305. package/dist/PureComponentWrapper.d.ts.map +0 -1
  306. package/dist/PureComponentWrapper.js +0 -60
  307. package/dist/PureComponentWrapper.js.map +0 -1
  308. package/dist/__tests__/AverageWindow.test.d.ts +0 -2
  309. package/dist/__tests__/AverageWindow.test.d.ts.map +0 -1
  310. package/dist/__tests__/AverageWindow.test.js +0 -69
  311. package/dist/__tests__/AverageWindow.test.js.map +0 -1
  312. package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
  313. package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
  314. package/dist/__tests__/ContentContainerUtils.test.js +0 -85
  315. package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
  316. package/dist/__tests__/FlashList.test.d.ts +0 -2
  317. package/dist/__tests__/FlashList.test.d.ts.map +0 -1
  318. package/dist/__tests__/FlashList.test.js +0 -792
  319. package/dist/__tests__/FlashList.test.js.map +0 -1
  320. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
  321. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
  322. package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
  323. package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
  324. package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
  325. package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
  326. package/dist/__tests__/MasonryFlashList.test.js +0 -254
  327. package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
  328. package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
  329. package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
  330. package/dist/__tests__/PlatformHelper.web.test.js +0 -33
  331. package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
  332. package/dist/__tests__/ViewabilityHelper.test.d.ts +0 -2
  333. package/dist/__tests__/ViewabilityHelper.test.d.ts.map +0 -1
  334. package/dist/__tests__/ViewabilityHelper.test.js +0 -187
  335. package/dist/__tests__/ViewabilityHelper.test.js.map +0 -1
  336. package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
  337. package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
  338. package/dist/__tests__/helpers/mountFlashList.js +0 -44
  339. package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
  340. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
  341. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
  342. package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
  343. package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
  344. package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
  345. package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
  346. package/dist/__tests__/useBlankAreaTracker.test.js +0 -177
  347. package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
  348. package/dist/benchmark/useBlankAreaTracker.d.ts +0 -57
  349. package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
  350. package/dist/benchmark/useBlankAreaTracker.js +0 -90
  351. package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
  352. package/dist/errors/CustomError.d.ts +0 -31
  353. package/dist/errors/CustomError.d.ts.map +0 -1
  354. package/dist/errors/CustomError.js +0 -37
  355. package/dist/errors/CustomError.js.map +0 -1
  356. package/dist/errors/ExceptionList.d.ts +0 -47
  357. package/dist/errors/ExceptionList.d.ts.map +0 -1
  358. package/dist/errors/ExceptionList.js +0 -49
  359. package/dist/errors/ExceptionList.js.map +0 -1
  360. package/dist/errors/Warnings.d.ts +0 -32
  361. package/dist/errors/Warnings.d.ts.map +0 -1
  362. package/dist/errors/Warnings.js +0 -36
  363. package/dist/errors/Warnings.js.map +0 -1
  364. package/dist/fabric/AutoLayoutNativeComponent.d.ts +0 -42
  365. package/dist/fabric/AutoLayoutNativeComponent.d.ts.map +0 -1
  366. package/dist/fabric/AutoLayoutNativeComponent.js +0 -29
  367. package/dist/fabric/AutoLayoutNativeComponent.js.map +0 -1
  368. package/dist/fabric/CellContainerNativeComponent.d.ts +0 -31
  369. package/dist/fabric/CellContainerNativeComponent.d.ts.map +0 -1
  370. package/dist/fabric/CellContainerNativeComponent.js +0 -29
  371. package/dist/fabric/CellContainerNativeComponent.js.map +0 -1
  372. package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -45
  373. package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
  374. package/dist/native/auto-layout/AutoLayoutView.js +0 -71
  375. package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
  376. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -27
  377. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
  378. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -29
  379. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
  380. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -28
  381. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
  382. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.d.ts +0 -27
  383. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.d.ts.map +0 -1
  384. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.js +0 -29
  385. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.js.map +0 -1
  386. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -27
  387. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
  388. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -29
  389. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
  390. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -29
  391. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
  392. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -39
  393. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
  394. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -26
  395. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
  396. package/dist/native/cell-container/CellContainer.android.d.ts +0 -29
  397. package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
  398. package/dist/native/cell-container/CellContainer.android.js +0 -32
  399. package/dist/native/cell-container/CellContainer.android.js.map +0 -1
  400. package/dist/native/cell-container/CellContainer.d.ts +0 -31
  401. package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
  402. package/dist/native/cell-container/CellContainer.harmony.d.ts +0 -29
  403. package/dist/native/cell-container/CellContainer.harmony.d.ts.map +0 -1
  404. package/dist/native/cell-container/CellContainer.harmony.js +0 -32
  405. package/dist/native/cell-container/CellContainer.harmony.js.map +0 -1
  406. package/dist/native/cell-container/CellContainer.ios.d.ts +0 -29
  407. package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
  408. package/dist/native/cell-container/CellContainer.ios.js +0 -32
  409. package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
  410. package/dist/native/cell-container/CellContainer.js +0 -34
  411. package/dist/native/cell-container/CellContainer.js.map +0 -1
  412. package/dist/native/cell-container/CellContainer.web.d.ts +0 -30
  413. package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
  414. package/dist/native/cell-container/CellContainer.web.js +0 -36
  415. package/dist/native/cell-container/CellContainer.web.js.map +0 -1
  416. package/dist/utils/ContentContainerUtils.d.ts +0 -50
  417. package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
  418. package/dist/utils/ContentContainerUtils.js +0 -71
  419. package/dist/utils/ContentContainerUtils.js.map +0 -1
  420. package/dist/viewability/ViewToken.d.ts +0 -31
  421. package/dist/viewability/ViewToken.d.ts.map +0 -1
  422. package/dist/viewability/ViewToken.js +0 -26
  423. package/dist/viewability/ViewToken.js.map +0 -1
  424. package/dist/viewability/ViewabilityHelper.d.ts +0 -49
  425. package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
  426. package/dist/viewability/ViewabilityHelper.js +0 -130
  427. package/dist/viewability/ViewabilityHelper.js.map +0 -1
  428. package/dist/viewability/ViewabilityManager.d.ts +0 -48
  429. package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
  430. package/dist/viewability/ViewabilityManager.js +0 -131
  431. package/dist/viewability/ViewabilityManager.js.map +0 -1
  432. package/harmony/flash_list/BuildProfile.ets +0 -17
  433. package/harmony/flash_list/LICENSE +0 -7
  434. package/harmony/flash_list/build-profile.json5 +0 -8
  435. package/harmony/flash_list/hvigorfile.ts +0 -1
  436. package/harmony/flash_list/index.ets +0 -27
  437. package/harmony/flash_list/obfuscation-rules.txt +0 -18
  438. package/harmony/flash_list/oh-package.json5 +0 -24
  439. package/harmony/flash_list/src/main/cpp/AutoLayoutNode.cpp +0 -63
  440. package/harmony/flash_list/src/main/cpp/AutoLayoutNode.h +0 -54
  441. package/harmony/flash_list/src/main/cpp/AutoLayoutShadow.cpp +0 -140
  442. package/harmony/flash_list/src/main/cpp/AutoLayoutShadow.h +0 -66
  443. package/harmony/flash_list/src/main/cpp/AutoLayoutViewComponentInstance.cpp +0 -208
  444. package/harmony/flash_list/src/main/cpp/AutoLayoutViewComponentInstance.h +0 -78
  445. package/harmony/flash_list/src/main/cpp/AutoLayoutViewEventEmitRequestHandler.h +0 -53
  446. package/harmony/flash_list/src/main/cpp/AutoLayoutViewJSIBinder.h +0 -50
  447. package/harmony/flash_list/src/main/cpp/CMakeLists.txt +0 -12
  448. package/harmony/flash_list/src/main/cpp/CellContainerComponentInstance.cpp +0 -80
  449. package/harmony/flash_list/src/main/cpp/CellContainerComponentInstance.h +0 -64
  450. package/harmony/flash_list/src/main/cpp/CellContainerJSIBinder.h +0 -39
  451. package/harmony/flash_list/src/main/cpp/ComponentDescriptors.h +0 -40
  452. package/harmony/flash_list/src/main/cpp/EventEmitters.cpp +0 -40
  453. package/harmony/flash_list/src/main/cpp/EventEmitters.h +0 -48
  454. package/harmony/flash_list/src/main/cpp/FlashListPackage.h +0 -85
  455. package/harmony/flash_list/src/main/cpp/FlashListStackNode.cpp +0 -87
  456. package/harmony/flash_list/src/main/cpp/FlashListStackNode.h +0 -57
  457. package/harmony/flash_list/src/main/cpp/Props.cpp +0 -52
  458. package/harmony/flash_list/src/main/cpp/Props.h +0 -64
  459. package/harmony/flash_list/src/main/cpp/ShadowNodes.cpp +0 -34
  460. package/harmony/flash_list/src/main/cpp/ShadowNodes.h +0 -48
  461. package/harmony/flash_list/src/main/ets/Logger.ets +0 -64
  462. package/harmony/flash_list/src/main/ets/RNAutoLayoutShadow.ets +0 -154
  463. package/harmony/flash_list/src/main/ets/RNAutoLayoutView.ets +0 -277
  464. package/harmony/flash_list/src/main/ets/RNCellContainer.ets +0 -113
  465. package/harmony/flash_list/src/main/module.json5 +0 -9
  466. package/harmony/flash_list/src/main/resources/base/element/color.json +0 -8
  467. package/harmony/flash_list/src/main/resources/base/element/string.json +0 -16
  468. package/harmony/flash_list/src/main/resources/base/media/icon.png +0 -0
  469. package/harmony/flash_list/src/main/resources/base/profile/main_pages.json +0 -5
  470. package/harmony/flash_list/src/main/resources/en_US/element/string.json +0 -16
  471. package/harmony/flash_list/src/main/resources/zh_CN/element/string.json +0 -16
  472. package/harmony/flash_list.har +0 -0
  473. package/src/FlashList.tsx +0 -949
  474. package/src/GridLayoutProviderWithProps.ts +0 -204
  475. package/src/MasonryFlashList.tsx +0 -499
  476. package/src/PureComponentWrapper.tsx +0 -65
  477. package/src/benchmark/useBlankAreaTracker.ts +0 -141
  478. package/src/errors/CustomError.ts +0 -34
  479. package/src/errors/ExceptionList.ts +0 -52
  480. package/src/errors/Warnings.ts +0 -39
  481. package/src/fabric/AutoLayoutNativeComponent.ts +0 -52
  482. package/src/fabric/CellContainerNativeComponent.ts +0 -35
  483. package/src/native/auto-layout/AutoLayoutView.tsx +0 -97
  484. package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -31
  485. package/src/native/auto-layout/AutoLayoutViewNativeComponent.harmony.ts +0 -31
  486. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -31
  487. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -31
  488. package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -41
  489. package/src/native/cell-container/CellContainer.android.ts +0 -31
  490. package/src/native/cell-container/CellContainer.harmony.ts +0 -31
  491. package/src/native/cell-container/CellContainer.ios.ts +0 -31
  492. package/src/native/cell-container/CellContainer.tsx +0 -38
  493. package/src/native/cell-container/CellContainer.web.tsx +0 -33
  494. package/src/utils/ContentContainerUtils.ts +0 -116
  495. package/src/viewability/ViewToken.ts +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecyclerViewController.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { RecyclerViewProps } from "../RecyclerViewProps";
2
+ import { RecyclerViewManager } from "../RecyclerViewManager";
3
+ import { VelocityTracker } from "../helpers/VelocityTracker";
4
+ export declare const useRecyclerViewManager: <T>(props: RecyclerViewProps<T>) => {
5
+ recyclerViewManager: RecyclerViewManager<T>;
6
+ velocityTracker: VelocityTracker<unknown>;
7
+ };
8
+ //# sourceMappingURL=useRecyclerViewManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecyclerViewManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC;;;CAmCpE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { useEffect, useMemo, useState } from "react";
2
+ import { RecyclerViewManager } from "../RecyclerViewManager";
3
+ import { VelocityTracker } from "../helpers/VelocityTracker";
4
+ export const useRecyclerViewManager = (props) => {
5
+ const [recyclerViewManager] = useState(() => new RecyclerViewManager(props));
6
+ const [velocityTracker] = useState(() => new VelocityTracker());
7
+ const { data } = props;
8
+ useMemo(() => {
9
+ recyclerViewManager.updateProps(props);
10
+ // used to update props so rule can be disabled
11
+ // eslint-disable-next-line react-hooks/exhaustive-deps
12
+ }, [props]);
13
+ /**
14
+ * When data changes, we need to process the data update before the render happens
15
+ */
16
+ useMemo(() => {
17
+ recyclerViewManager.processDataUpdate();
18
+ // used to process data update so rule can be disabled
19
+ // eslint-disable-next-line react-hooks/exhaustive-deps
20
+ }, [data]);
21
+ useEffect(() => {
22
+ recyclerViewManager.restoreIfNeeded();
23
+ return () => {
24
+ recyclerViewManager.dispose();
25
+ velocityTracker.cleanUp();
26
+ };
27
+ // Used to perform cleanup on unmount
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, []);
30
+ return { recyclerViewManager, velocityTracker };
31
+ };
32
+ //# sourceMappingURL=useRecyclerViewManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAI,KAA2B,EAAE,EAAE;IACvE,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CACpC,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CACrC,CAAC;IACF,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAEhE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,OAAO,CAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,+CAA+C;QAC/C,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACxC,sDAAsD;QACtD,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAEtC,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC9B,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,qCAAqC;QACrC,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAClD,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { LayoutStateSetter } from "./useLayoutState";
2
+ export type RecyclingStateSetter<T> = LayoutStateSetter<T>;
3
+ export type RecyclingStateInitialValue<T> = T | (() => T);
4
+ /**
5
+ * A custom hook that provides state management with automatic reset functionality.
6
+ * Similar to useState, but automatically resets the state when specified dependencies change.
7
+ * This is particularly useful for managing state that needs to be reset when certain props or values change when items are recycled.
8
+ * This also avoids another setState call on recycling and helps with performance.
9
+ *
10
+ * @param initialState - The initial state value or a function that returns the initial state
11
+ * @param deps - Array of dependencies that trigger a state reset when changed
12
+ * @param onReset - Optional callback function that is called when the state is reset
13
+ * @returns A tuple containing:
14
+ * - The current state value
15
+ * - A setState function that works like useState's setState
16
+ */
17
+ export declare function useRecyclingState<T>(initialState: RecyclingStateInitialValue<T>, deps: React.DependencyList, onReset?: () => void): [T, RecyclingStateSetter<T>];
18
+ //# sourceMappingURL=useRecyclingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecyclingState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAkB,MAAM,kBAAkB,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,YAAY,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAC3C,IAAI,EAAE,KAAK,CAAC,cAAc,EAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,GACnB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAyC9B"}
@@ -0,0 +1,49 @@
1
+ import { useCallback, useMemo, useRef } from "react";
2
+ import { useLayoutState } from "./useLayoutState";
3
+ /**
4
+ * A custom hook that provides state management with automatic reset functionality.
5
+ * Similar to useState, but automatically resets the state when specified dependencies change.
6
+ * This is particularly useful for managing state that needs to be reset when certain props or values change when items are recycled.
7
+ * This also avoids another setState call on recycling and helps with performance.
8
+ *
9
+ * @param initialState - The initial state value or a function that returns the initial state
10
+ * @param deps - Array of dependencies that trigger a state reset when changed
11
+ * @param onReset - Optional callback function that is called when the state is reset
12
+ * @returns A tuple containing:
13
+ * - The current state value
14
+ * - A setState function that works like useState's setState
15
+ */
16
+ export function useRecyclingState(initialState, deps, onReset) {
17
+ // Store the current state value in a ref to persist between renders
18
+ const valueStore = useRef();
19
+ // Use layoutState to trigger re-renders when state changes
20
+ const [_, setCounter] = useLayoutState(0);
21
+ // Reset state when dependencies change
22
+ useMemo(() => {
23
+ // Calculate initial value from function or direct value
24
+ const initialValue = typeof initialState === "function"
25
+ ? initialState()
26
+ : initialState;
27
+ valueStore.current = initialValue;
28
+ // Call onReset callback if provided
29
+ onReset === null || onReset === void 0 ? void 0 : onReset();
30
+ // eslint-disable-next-line react-hooks/exhaustive-deps
31
+ }, deps);
32
+ /**
33
+ * Proxy setState function that updates the stored value and triggers a re-render.
34
+ * Only triggers a re-render if the new value is different from the current value.
35
+ */
36
+ const setStateProxy = useCallback((newValue, skipParentLayout) => {
37
+ // Calculate next state value from function or direct value
38
+ const nextState = typeof newValue === "function"
39
+ ? newValue(valueStore.current)
40
+ : newValue;
41
+ // Only update and trigger re-render if value has changed
42
+ if (nextState !== valueStore.current) {
43
+ valueStore.current = nextState;
44
+ setCounter((prev) => prev + 1, skipParentLayout);
45
+ }
46
+ }, [setCounter]);
47
+ return [valueStore.current, setStateProxy];
48
+ }
49
+ //# sourceMappingURL=useRecyclingState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecyclingState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMrE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA2C,EAC3C,IAA0B,EAC1B,OAAoB;IAEpB,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,EAAK,CAAC;IAC/B,2DAA2D;IAC3D,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE1C,uCAAuC;IACvC,OAAO,CAAC,GAAG,EAAE;QACX,wDAAwD;QACxD,MAAM,YAAY,GAChB,OAAO,YAAY,KAAK,UAAU;YAChC,CAAC,CAAE,YAAwB,EAAE;YAC7B,CAAC,CAAC,YAAY,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QAClC,oCAAoC;QACpC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACZ,uDAAuD;IACzD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET;;;OAGG;IACH,MAAM,aAAa,GAA4B,WAAW,CACxD,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE;QAC7B,2DAA2D;QAC3D,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAAgC,CAAC,UAAU,CAAC,OAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC;QAEf,yDAAyD;QACzD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YAC/B,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,OAAQ,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Animated } from "react-native";
2
+ import React from "react";
3
+ import { RecyclerViewProps } from "../RecyclerViewProps";
4
+ /**
5
+ * Hook that manages secondary props and components for the RecyclerView.
6
+ * This hook handles the creation and management of:
7
+ * 1. Pull-to-refresh functionality
8
+ * 2. Header and footer components
9
+ * 3. Empty state component
10
+ * 4. Custom scroll component with animation support
11
+ *
12
+ * @param props - The RecyclerViewProps containing all configuration options
13
+ * @returns An object containing:
14
+ * - refreshControl: The pull-to-refresh control component
15
+ * - renderHeader: The header component renderer
16
+ * - renderFooter: The footer component renderer
17
+ * - renderEmpty: The empty state component renderer
18
+ * - CompatScrollView: The animated scroll component
19
+ */
20
+ export declare function useSecondaryProps<T>(props: RecyclerViewProps<T>): {
21
+ refreshControl: React.JSX.Element | undefined;
22
+ renderHeader: React.JSX.Element | null;
23
+ renderFooter: React.JSX.Element | null;
24
+ renderEmpty: React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
25
+ CompatScrollView: Animated.AnimatedComponent<Animated.AnimatedComponent<typeof import("react-native").ScrollView>>;
26
+ };
27
+ //# sourceMappingURL=useSecondaryProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSecondaryProps.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useSecondaryProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AACxD,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;;;EAmG/D"}
@@ -0,0 +1,90 @@
1
+ import { Animated, RefreshControl } from "react-native";
2
+ import React, { useMemo } from "react";
3
+ import { getValidComponent } from "../utils/componentUtils";
4
+ import { CompatView } from "../components/CompatView";
5
+ import { CompatAnimatedScroller } from "../components/CompatScroller";
6
+ /**
7
+ * Hook that manages secondary props and components for the RecyclerView.
8
+ * This hook handles the creation and management of:
9
+ * 1. Pull-to-refresh functionality
10
+ * 2. Header and footer components
11
+ * 3. Empty state component
12
+ * 4. Custom scroll component with animation support
13
+ *
14
+ * @param props - The RecyclerViewProps containing all configuration options
15
+ * @returns An object containing:
16
+ * - refreshControl: The pull-to-refresh control component
17
+ * - renderHeader: The header component renderer
18
+ * - renderFooter: The footer component renderer
19
+ * - renderEmpty: The empty state component renderer
20
+ * - CompatScrollView: The animated scroll component
21
+ */
22
+ export function useSecondaryProps(props) {
23
+ const { ListHeaderComponent, ListHeaderComponentStyle, ListFooterComponent, ListFooterComponentStyle, ListEmptyComponent, renderScrollComponent, refreshing, progressViewOffset, onRefresh, data, refreshControl: customRefreshControl, } = props;
24
+ /**
25
+ * Creates the refresh control component if onRefresh is provided.
26
+ */
27
+ const refreshControl = useMemo(() => {
28
+ if (customRefreshControl) {
29
+ return customRefreshControl;
30
+ }
31
+ else if (onRefresh) {
32
+ return (React.createElement(RefreshControl, { refreshing: Boolean(refreshing), progressViewOffset: progressViewOffset, onRefresh: onRefresh }));
33
+ }
34
+ return undefined;
35
+ }, [onRefresh, refreshing, progressViewOffset, customRefreshControl]);
36
+ /**
37
+ * Creates the header component with optional styling.
38
+ */
39
+ const renderHeader = useMemo(() => {
40
+ if (!ListHeaderComponent) {
41
+ return null;
42
+ }
43
+ return (React.createElement(CompatView, { style: ListHeaderComponentStyle }, getValidComponent(ListHeaderComponent)));
44
+ }, [ListHeaderComponent, ListHeaderComponentStyle]);
45
+ /**
46
+ * Creates the footer component with optional styling.
47
+ */
48
+ const renderFooter = useMemo(() => {
49
+ if (!ListFooterComponent) {
50
+ return null;
51
+ }
52
+ return (React.createElement(CompatView, { style: ListFooterComponentStyle }, getValidComponent(ListFooterComponent)));
53
+ }, [ListFooterComponent, ListFooterComponentStyle]);
54
+ /**
55
+ * Creates the empty state component when there's no data.
56
+ * Only rendered when ListEmptyComponent is provided and data is empty.
57
+ */
58
+ const renderEmpty = useMemo(() => {
59
+ if (!ListEmptyComponent || (data && data.length > 0)) {
60
+ return null;
61
+ }
62
+ return getValidComponent(ListEmptyComponent);
63
+ }, [ListEmptyComponent, data]);
64
+ /**
65
+ * Creates an animated scroll component based on the provided renderScrollComponent.
66
+ * If no custom component is provided, uses the default CompatAnimatedScroller.
67
+ */
68
+ const CompatScrollView = useMemo(() => {
69
+ let scrollComponent = CompatAnimatedScroller;
70
+ if (typeof renderScrollComponent === "function") {
71
+ // Create a forwarded ref wrapper for the custom scroll component
72
+ const ForwardedScrollComponent = React.forwardRef((_props, ref) => renderScrollComponent({ ..._props, ref }));
73
+ ForwardedScrollComponent.displayName = "CustomScrollView";
74
+ scrollComponent = ForwardedScrollComponent;
75
+ }
76
+ else if (renderScrollComponent) {
77
+ scrollComponent = renderScrollComponent;
78
+ }
79
+ // Wrap the scroll component with Animated.createAnimatedComponent
80
+ return Animated.createAnimatedComponent(scrollComponent);
81
+ }, [renderScrollComponent]);
82
+ return {
83
+ refreshControl,
84
+ renderHeader,
85
+ renderFooter,
86
+ renderEmpty,
87
+ CompatScrollView,
88
+ };
89
+ }
90
+ //# sourceMappingURL=useSecondaryProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSecondaryProps.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useSecondaryProps.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Hook that provides a setTimeout which is aware of component unmount state.
3
+ * Any timeouts created with this hook will be automatically cleared when the component unmounts.
4
+ */
5
+ export declare function useUnmountAwareTimeout(): {
6
+ setTimeout: (callback: () => void, delay: number) => void;
7
+ };
8
+ /**
9
+ * Hook that provides a requestAnimationFrame which is aware of component unmount state.
10
+ * Any animation frames requested with this hook will be automatically canceled when the component unmounts.
11
+ */
12
+ export declare function useUnmountAwareAnimationFrame(): {
13
+ requestAnimationFrame: (callback: FrameRequestCallback) => void;
14
+ };
15
+ //# sourceMappingURL=useUnmountAwareCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB;2BAcvB,MAAM,IAAI,SAAS,MAAM,KAAG,IAAI;EAgB9C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B;sCAc9B,oBAAoB,KAAG,IAAI;EAgBzC"}
@@ -0,0 +1,58 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ /**
3
+ * Hook that provides a setTimeout which is aware of component unmount state.
4
+ * Any timeouts created with this hook will be automatically cleared when the component unmounts.
5
+ */
6
+ export function useUnmountAwareTimeout() {
7
+ // Store active timeout IDs in a Set for more efficient add/remove operations
8
+ const [timeoutIds] = useState(() => new Set());
9
+ // Clear all timeouts on unmount
10
+ useEffect(() => {
11
+ return () => {
12
+ timeoutIds.forEach((id) => global.clearTimeout(id));
13
+ timeoutIds.clear();
14
+ };
15
+ }, [timeoutIds]);
16
+ // Create a safe setTimeout that will be cleared on unmount
17
+ const setTimeout = useCallback((callback, delay) => {
18
+ const id = global.setTimeout(() => {
19
+ // Remove this timeout ID from the tracking set
20
+ timeoutIds.delete(id);
21
+ callback();
22
+ }, delay);
23
+ // Track this timeout ID
24
+ timeoutIds.add(id);
25
+ }, [timeoutIds]);
26
+ return {
27
+ setTimeout,
28
+ };
29
+ }
30
+ /**
31
+ * Hook that provides a requestAnimationFrame which is aware of component unmount state.
32
+ * Any animation frames requested with this hook will be automatically canceled when the component unmounts.
33
+ */
34
+ export function useUnmountAwareAnimationFrame() {
35
+ // Store active animation frame request IDs in a Set for more efficient add/remove operations
36
+ const [requestIds] = useState(() => new Set());
37
+ // Cancel all animation frame requests on unmount
38
+ useEffect(() => {
39
+ return () => {
40
+ requestIds.forEach((id) => cancelAnimationFrame(id));
41
+ requestIds.clear();
42
+ };
43
+ }, [requestIds]);
44
+ // Create a safe requestAnimationFrame that will be canceled on unmount
45
+ const requestAnimationFrame = useCallback((callback) => {
46
+ const id = global.requestAnimationFrame((timestamp) => {
47
+ // Remove this request ID from the tracking set
48
+ requestIds.delete(id);
49
+ callback(timestamp);
50
+ });
51
+ // Track this request ID
52
+ requestIds.add(id);
53
+ }, [requestIds]);
54
+ return {
55
+ requestAnimationFrame,
56
+ };
57
+ }
58
+ //# sourceMappingURL=useUnmountAwareCallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,6EAA6E;IAC7E,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAsB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAEpE,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,QAAoB,EAAE,KAAa,EAAQ,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAChC,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,6FAA6F;IAC7F,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAE5D,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,uEAAuE;IACvE,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,QAA8B,EAAQ,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,EAAE,EAAE;YACpD,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Hook that provides a way to track component unmounting state.
3
+ * This hook is particularly useful for preventing state updates or side effects
4
+ * after a component has unmounted, helping to avoid memory leaks and race conditions.
5
+ *
6
+ * @returns A ref containing a boolean flag that indicates whether the component is unmounted
7
+ * (true) or mounted (false)
8
+ */
9
+ export declare const useUnmountFlag: () => import("react").MutableRefObject<boolean>;
10
+ //# sourceMappingURL=useUnmountFlag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnmountFlag.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountFlag.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,iDAgB1B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { useRef, useLayoutEffect } from "react";
2
+ /**
3
+ * Hook that provides a way to track component unmounting state.
4
+ * This hook is particularly useful for preventing state updates or side effects
5
+ * after a component has unmounted, helping to avoid memory leaks and race conditions.
6
+ *
7
+ * @returns A ref containing a boolean flag that indicates whether the component is unmounted
8
+ * (true) or mounted (false)
9
+ */
10
+ export const useUnmountFlag = () => {
11
+ // Create a ref to store the unmount state
12
+ // Using ref ensures the value persists between renders without causing re-renders
13
+ const isUnmounted = useRef(false);
14
+ // Use layoutEffect to set up cleanup on unmount
15
+ // This ensures the flag is set before any other cleanup effects run
16
+ useLayoutEffect(() => {
17
+ isUnmounted.current = false;
18
+ // Cleanup function that runs when the component unmounts
19
+ return () => {
20
+ isUnmounted.current = true;
21
+ };
22
+ }, []);
23
+ return isUnmounted;
24
+ };
25
+ //# sourceMappingURL=useUnmountFlag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnmountFlag.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountFlag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,0CAA0C;IAC1C,kFAAkF;IAClF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,gDAAgD;IAChD,oEAAoE;IACpE,eAAe,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,yDAAyD;QACzD,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { LayoutParams, RVDimension, RVLayoutInfo, RVLayoutManager } from "./LayoutManager";
2
+ /**
3
+ * GridLayoutManager implementation that arranges items in a grid pattern.
4
+ * Items are placed in rows and columns, with support for items spanning multiple columns.
5
+ */
6
+ export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
7
+ /** The width of the bounded area for the grid */
8
+ private boundedSize;
9
+ /** If there's a span change for grid layout, we need to recompute all the widths */
10
+ private fullRelayoutRequired;
11
+ constructor(params: LayoutParams, previousLayoutManager?: RVLayoutManager);
12
+ /**
13
+ * Updates layout parameters and triggers recomputation if necessary.
14
+ * @param params New layout parameters
15
+ */
16
+ updateLayoutParams(params: LayoutParams): void;
17
+ /**
18
+ * Processes layout information for items, updating their dimensions.
19
+ * @param layoutInfo Array of layout information for items
20
+ * @param itemCount Total number of items in the list
21
+ */
22
+ processLayoutInfo(layoutInfo: RVLayoutInfo[], itemCount: number): 0 | undefined;
23
+ /**
24
+ * Estimates layout dimensions for an item at the given index.
25
+ * @param index Index of the item to estimate layout for
26
+ */
27
+ estimateLayout(index: number): void;
28
+ /**
29
+ * Handles span change for an item.
30
+ * @param index Index of the item
31
+ */
32
+ handleSpanChange(index: number): void;
33
+ /**
34
+ * Returns the total size of the layout area.
35
+ * @returns RVDimension containing width and height of the layout
36
+ */
37
+ getLayoutSize(): RVDimension;
38
+ /**
39
+ * Recomputes layouts for items in the given range.
40
+ * @param startIndex Starting index of items to recompute
41
+ * @param endIndex Ending index of items to recompute
42
+ */
43
+ recomputeLayouts(startIndex: number, endIndex: number): void;
44
+ /**
45
+ * Calculates the width of an item based on its span.
46
+ * @param index Index of the item
47
+ * @returns Width of the item
48
+ */
49
+ private getWidth;
50
+ /**
51
+ * Processes items in a row and returns the tallest item.
52
+ * Also handles height normalization for items in the same row.
53
+ * Tallest item per row helps in forcing tallest items height on neighbouring items.
54
+ * @param endIndex Index of the last item in the row
55
+ * @returns The tallest item in the row
56
+ */
57
+ private processAndReturnTallestItemInRow;
58
+ /**
59
+ * Computes the total height of the layout.
60
+ * @param endIndex Index of the last item in the row
61
+ * @returns Total height of the layout
62
+ */
63
+ private computeTotalHeightTillRow;
64
+ private updateAllWidths;
65
+ /**
66
+ * Checks if an item can fit within the bounded width.
67
+ * @param itemX Starting X position of the item
68
+ * @param width Width of the item
69
+ * @returns True if the item fits within bounds
70
+ */
71
+ private checkBounds;
72
+ /**
73
+ * Locates the index of the first item in the current row.
74
+ * @param itemIndex Index to start searching from
75
+ * @returns Index of the first item in the row
76
+ */
77
+ private locateFirstIndexInRow;
78
+ }
79
+ //# sourceMappingURL=GridLayoutManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;IAE5B,oFAAoF;IACpF,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAkB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAiB/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAS5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAqDxC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,eAAe;IAMvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}