@shopify/flash-list 2.0.0-rc.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +27 -97
  2. package/dist/AnimatedFlashList.js +2 -2
  3. package/dist/AnimatedFlashList.js.map +1 -1
  4. package/dist/FlashList.d.ts +1 -167
  5. package/dist/FlashList.d.ts.map +1 -1
  6. package/dist/FlashList.js +3 -595
  7. package/dist/FlashList.js.map +1 -1
  8. package/dist/FlashListProps.d.ts +7 -63
  9. package/dist/FlashListProps.d.ts.map +1 -1
  10. package/dist/FlashListProps.js.map +1 -1
  11. package/dist/__tests__/LayoutCommitObserver.test.d.ts +2 -0
  12. package/dist/__tests__/LayoutCommitObserver.test.d.ts.map +1 -0
  13. package/dist/__tests__/LayoutCommitObserver.test.js +35 -0
  14. package/dist/__tests__/LayoutCommitObserver.test.js.map +1 -0
  15. package/dist/__tests__/ViewabilityHelper.test.js +3 -4
  16. package/dist/__tests__/ViewabilityHelper.test.js.map +1 -1
  17. package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
  18. package/dist/benchmark/JSFPSMonitor.js +2 -1
  19. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  20. package/dist/benchmark/useBenchmark.d.ts +2 -4
  21. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  22. package/dist/benchmark/useBenchmark.js +12 -49
  23. package/dist/benchmark/useBenchmark.js.map +1 -1
  24. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  25. package/dist/benchmark/useFlatListBenchmark.js +2 -1
  26. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  27. package/dist/errors/ErrorMessages.d.ts +16 -0
  28. package/dist/errors/ErrorMessages.d.ts.map +1 -0
  29. package/dist/errors/ErrorMessages.js +19 -0
  30. package/dist/errors/ErrorMessages.js.map +1 -0
  31. package/dist/errors/WarningMessages.d.ts +4 -0
  32. package/dist/errors/WarningMessages.d.ts.map +1 -0
  33. package/dist/errors/WarningMessages.js +7 -0
  34. package/dist/errors/WarningMessages.js.map +1 -0
  35. package/dist/index.d.ts +4 -9
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +9 -29
  38. package/dist/index.js.map +1 -1
  39. package/dist/isNewArch.d.ts +2 -0
  40. package/dist/isNewArch.d.ts.map +1 -0
  41. package/dist/isNewArch.js +25 -0
  42. package/dist/isNewArch.js.map +1 -0
  43. package/dist/native/config/PlatformHelper.android.d.ts +1 -22
  44. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  45. package/dist/native/config/PlatformHelper.android.js +1 -16
  46. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  47. package/dist/native/config/PlatformHelper.d.ts +1 -22
  48. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  49. package/dist/native/config/PlatformHelper.ios.d.ts +1 -22
  50. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  51. package/dist/native/config/PlatformHelper.ios.js +1 -15
  52. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  53. package/dist/native/config/PlatformHelper.js +1 -16
  54. package/dist/native/config/PlatformHelper.js.map +1 -1
  55. package/dist/native/config/PlatformHelper.web.d.ts +1 -23
  56. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  57. package/dist/native/config/PlatformHelper.web.js +1 -18
  58. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  59. package/dist/recyclerview/LayoutCommitObserver.d.ts +12 -0
  60. package/dist/recyclerview/LayoutCommitObserver.d.ts.map +1 -0
  61. package/dist/recyclerview/LayoutCommitObserver.js +62 -0
  62. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -0
  63. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  64. package/dist/recyclerview/RecyclerView.js +20 -9
  65. package/dist/recyclerview/RecyclerView.js.map +1 -1
  66. package/dist/recyclerview/RecyclerViewManager.d.ts +4 -1
  67. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  68. package/dist/recyclerview/RecyclerViewManager.js +43 -34
  69. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  70. package/dist/recyclerview/RecyclerViewProps.d.ts +1 -8
  71. package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -1
  72. package/dist/recyclerview/ViewHolderCollection.d.ts +6 -2
  73. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  74. package/dist/recyclerview/ViewHolderCollection.js +3 -1
  75. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  76. package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -1
  77. package/dist/recyclerview/hooks/useBoundDetection.js +38 -7
  78. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  79. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  80. package/dist/recyclerview/hooks/useRecyclerViewController.js +16 -9
  81. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  82. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  83. package/dist/recyclerview/layout-managers/LayoutManager.js +2 -1
  84. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  85. package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
  86. package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
  87. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.d.ts +2 -2
  88. package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
  89. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js +2 -4
  90. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js.map +1 -1
  91. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.d.ts +3 -3
  92. package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
  93. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.js +16 -16
  94. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +3 -14
  97. package/src/AnimatedFlashList.ts +2 -2
  98. package/src/FlashList.ts +1 -0
  99. package/src/FlashListProps.ts +8 -79
  100. package/src/__tests__/LayoutCommitObserver.test.tsx +60 -0
  101. package/src/__tests__/ViewabilityHelper.test.ts +13 -14
  102. package/src/benchmark/JSFPSMonitor.ts +3 -3
  103. package/src/benchmark/useBenchmark.ts +12 -77
  104. package/src/benchmark/useFlatListBenchmark.ts +3 -1
  105. package/src/errors/ErrorMessages.ts +26 -0
  106. package/src/errors/WarningMessages.ts +4 -0
  107. package/src/index.ts +11 -43
  108. package/src/isNewArch.ts +25 -0
  109. package/src/native/config/PlatformHelper.android.ts +1 -25
  110. package/src/native/config/PlatformHelper.ios.ts +1 -24
  111. package/src/native/config/PlatformHelper.ts +1 -25
  112. package/src/native/config/PlatformHelper.web.ts +1 -30
  113. package/src/recyclerview/LayoutCommitObserver.tsx +74 -0
  114. package/src/recyclerview/RecyclerView.tsx +25 -12
  115. package/src/recyclerview/RecyclerViewManager.ts +40 -40
  116. package/src/recyclerview/RecyclerViewProps.ts +1 -11
  117. package/src/recyclerview/ViewHolderCollection.tsx +9 -2
  118. package/src/recyclerview/hooks/useBoundDetection.ts +48 -6
  119. package/src/recyclerview/hooks/useRecyclerViewController.tsx +19 -14
  120. package/src/recyclerview/layout-managers/LayoutManager.ts +2 -1
  121. package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -9
  122. package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +18 -20
  123. package/RNFlashList.podspec +0 -37
  124. package/android/build.gradle +0 -89
  125. package/android/src/main/AndroidManifest.xml +0 -3
  126. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutShadow.kt +0 -105
  127. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutView.kt +0 -158
  128. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutViewManager.kt +0 -70
  129. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/BlankAreaEvent.kt +0 -29
  130. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainer.java +0 -16
  131. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerImpl.kt +0 -16
  132. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerManager.kt +0 -34
  133. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/FlashListPackage.kt +0 -19
  134. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerDelegate.java +0 -47
  135. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerInterface.java +0 -21
  136. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerDelegate.java +0 -32
  137. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerInterface.java +0 -16
  138. package/android/src/test/java/com/shopify/reactnative/flash_list/AutoLayoutShadowTest.kt +0 -147
  139. package/android/src/test/java/com/shopify/reactnative/flash_list/models/Rect.kt +0 -61
  140. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestCollection.kt +0 -6
  141. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestDataModel.kt +0 -8
  142. package/android/src/test/resources/LayoutTestData.json +0 -788
  143. package/dist/GridLayoutProviderWithProps.d.ts +0 -42
  144. package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
  145. package/dist/GridLayoutProviderWithProps.js +0 -114
  146. package/dist/GridLayoutProviderWithProps.js.map +0 -1
  147. package/dist/MasonryFlashList.d.ts +0 -51
  148. package/dist/MasonryFlashList.d.ts.map +0 -1
  149. package/dist/MasonryFlashList.js +0 -252
  150. package/dist/MasonryFlashList.js.map +0 -1
  151. package/dist/PureComponentWrapper.d.ts +0 -22
  152. package/dist/PureComponentWrapper.d.ts.map +0 -1
  153. package/dist/PureComponentWrapper.js +0 -37
  154. package/dist/PureComponentWrapper.js.map +0 -1
  155. package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
  156. package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
  157. package/dist/__tests__/ContentContainerUtils.test.js +0 -85
  158. package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
  159. package/dist/__tests__/FlashList.test.d.ts +0 -2
  160. package/dist/__tests__/FlashList.test.d.ts.map +0 -1
  161. package/dist/__tests__/FlashList.test.js +0 -902
  162. package/dist/__tests__/FlashList.test.js.map +0 -1
  163. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
  164. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
  165. package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
  166. package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
  167. package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
  168. package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
  169. package/dist/__tests__/MasonryFlashList.test.js +0 -254
  170. package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
  171. package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
  172. package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
  173. package/dist/__tests__/PlatformHelper.web.test.js +0 -33
  174. package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
  175. package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
  176. package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
  177. package/dist/__tests__/helpers/mountFlashList.js +0 -44
  178. package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
  179. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
  180. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
  181. package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
  182. package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
  183. package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
  184. package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
  185. package/dist/__tests__/useBlankAreaTracker.test.js +0 -179
  186. package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
  187. package/dist/benchmark/useBlankAreaTracker.d.ts +0 -34
  188. package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
  189. package/dist/benchmark/useBlankAreaTracker.js +0 -66
  190. package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
  191. package/dist/enableNewCore.d.ts +0 -3
  192. package/dist/enableNewCore.d.ts.map +0 -1
  193. package/dist/enableNewCore.js +0 -25
  194. package/dist/enableNewCore.js.map +0 -1
  195. package/dist/errors/CustomError.d.ts +0 -8
  196. package/dist/errors/CustomError.d.ts.map +0 -1
  197. package/dist/errors/CustomError.js +0 -14
  198. package/dist/errors/CustomError.js.map +0 -1
  199. package/dist/errors/ExceptionList.d.ts +0 -24
  200. package/dist/errors/ExceptionList.d.ts.map +0 -1
  201. package/dist/errors/ExceptionList.js +0 -26
  202. package/dist/errors/ExceptionList.js.map +0 -1
  203. package/dist/errors/Warnings.d.ts +0 -9
  204. package/dist/errors/Warnings.d.ts.map +0 -1
  205. package/dist/errors/Warnings.js +0 -13
  206. package/dist/errors/Warnings.js.map +0 -1
  207. package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -22
  208. package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
  209. package/dist/native/auto-layout/AutoLayoutView.js +0 -48
  210. package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
  211. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -4
  212. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
  213. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -6
  214. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
  215. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -5
  216. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
  217. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -4
  218. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
  219. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -6
  220. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
  221. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -6
  222. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
  223. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -16
  224. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
  225. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -3
  226. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
  227. package/dist/native/cell-container/CellContainer.android.d.ts +0 -6
  228. package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
  229. package/dist/native/cell-container/CellContainer.android.js +0 -9
  230. package/dist/native/cell-container/CellContainer.android.js.map +0 -1
  231. package/dist/native/cell-container/CellContainer.d.ts +0 -8
  232. package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
  233. package/dist/native/cell-container/CellContainer.ios.d.ts +0 -6
  234. package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
  235. package/dist/native/cell-container/CellContainer.ios.js +0 -9
  236. package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
  237. package/dist/native/cell-container/CellContainer.js +0 -11
  238. package/dist/native/cell-container/CellContainer.js.map +0 -1
  239. package/dist/native/cell-container/CellContainer.web.d.ts +0 -7
  240. package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
  241. package/dist/native/cell-container/CellContainer.web.js +0 -13
  242. package/dist/native/cell-container/CellContainer.web.js.map +0 -1
  243. package/dist/specs/AutoLayoutNativeComponent.d.ts +0 -18
  244. package/dist/specs/AutoLayoutNativeComponent.d.ts.map +0 -1
  245. package/dist/specs/AutoLayoutNativeComponent.js +0 -6
  246. package/dist/specs/AutoLayoutNativeComponent.js.map +0 -1
  247. package/dist/specs/CellContainerNativeComponent.d.ts +0 -8
  248. package/dist/specs/CellContainerNativeComponent.d.ts.map +0 -1
  249. package/dist/specs/CellContainerNativeComponent.js +0 -6
  250. package/dist/specs/CellContainerNativeComponent.js.map +0 -1
  251. package/dist/utils/ContentContainerUtils.d.ts +0 -27
  252. package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
  253. package/dist/utils/ContentContainerUtils.js +0 -48
  254. package/dist/utils/ContentContainerUtils.js.map +0 -1
  255. package/dist/viewability/ViewToken.d.ts.map +0 -1
  256. package/dist/viewability/ViewToken.js.map +0 -1
  257. package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
  258. package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
  259. package/dist/viewability/ViewabilityManager.js.map +0 -1
  260. package/ios/RNFlashList.xcodeproj/project.pbxproj +0 -3
  261. package/ios/RNFlashList.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  262. package/ios/Sources/AutoLayoutView.swift +0 -294
  263. package/ios/Sources/AutoLayoutViewComponentView.h +0 -16
  264. package/ios/Sources/AutoLayoutViewComponentView.mm +0 -90
  265. package/ios/Sources/AutoLayoutViewManager.mm +0 -14
  266. package/ios/Sources/AutoLayoutViewManager.swift +0 -12
  267. package/ios/Sources/CellContainerComponentView.h +0 -18
  268. package/ios/Sources/CellContainerComponentView.mm +0 -62
  269. package/ios/Sources/CellContainerManager.mm +0 -8
  270. package/ios/Sources/CellContainerManager.swift +0 -12
  271. package/ios/Sources/FlatListPro-Bridging-Header.h +0 -11
  272. package/ios/Tests/AutoLayoutViewTests.swift +0 -113
  273. package/src/FlashList.tsx +0 -953
  274. package/src/GridLayoutProviderWithProps.ts +0 -180
  275. package/src/MasonryFlashList.tsx +0 -476
  276. package/src/PureComponentWrapper.tsx +0 -42
  277. package/src/__tests__/ContentContainerUtils.test.ts +0 -130
  278. package/src/__tests__/FlashList.test.tsx +0 -1001
  279. package/src/__tests__/GridLayoutProviderWithProps.test.ts +0 -179
  280. package/src/__tests__/MasonryFlashList.test.ts +0 -292
  281. package/src/__tests__/PlatformHelper.web.test.ts +0 -45
  282. package/src/__tests__/helpers/mountFlashList.tsx +0 -62
  283. package/src/__tests__/helpers/mountMasonryFlashList.tsx +0 -70
  284. package/src/__tests__/useBlankAreaTracker.test.tsx +0 -206
  285. package/src/benchmark/useBlankAreaTracker.ts +0 -117
  286. package/src/enableNewCore.ts +0 -24
  287. package/src/errors/CustomError.ts +0 -10
  288. package/src/errors/ExceptionList.ts +0 -28
  289. package/src/errors/Warnings.ts +0 -15
  290. package/src/native/auto-layout/AutoLayoutView.tsx +0 -73
  291. package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -7
  292. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -7
  293. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -7
  294. package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -17
  295. package/src/native/cell-container/CellContainer.android.ts +0 -7
  296. package/src/native/cell-container/CellContainer.ios.ts +0 -7
  297. package/src/native/cell-container/CellContainer.tsx +0 -14
  298. package/src/native/cell-container/CellContainer.web.tsx +0 -9
  299. package/src/specs/AutoLayoutNativeComponent.ts +0 -24
  300. package/src/specs/CellContainerNativeComponent.ts +0 -9
  301. package/src/utils/ContentContainerUtils.ts +0 -92
  302. /package/dist/{viewability → recyclerview/viewability}/ViewToken.d.ts +0 -0
  303. /package/dist/{viewability → recyclerview/viewability}/ViewToken.js +0 -0
  304. /package/src/{viewability → recyclerview/viewability}/ViewToken.ts +0 -0
@@ -1,130 +0,0 @@
1
- import {
2
- applyContentContainerInsetForLayoutManager,
3
- getContentContainerPadding,
4
- hasUnsupportedKeysInContentContainerStyle,
5
- updateContentStyle,
6
- } from "../utils/ContentContainerUtils";
7
-
8
- describe("ContentContainerUtils", () => {
9
- it("detects unsupported keys in style", () => {
10
- expect(hasUnsupportedKeysInContentContainerStyle({ flex: 1 })).toBe(true);
11
- expect(hasUnsupportedKeysInContentContainerStyle({ paddingTop: 0 })).toBe(
12
- false
13
- );
14
- expect(
15
- hasUnsupportedKeysInContentContainerStyle({
16
- paddingTop: 1,
17
- paddingVertical: 1,
18
- })
19
- ).toBe(false);
20
- expect(
21
- hasUnsupportedKeysInContentContainerStyle({
22
- paddingTop: 1,
23
- paddingVertical: 1,
24
- padding: 1,
25
- paddingLeft: 1,
26
- paddingRight: 1,
27
- paddingBottom: 1,
28
- backgroundColor: "red",
29
- paddingHorizontal: 1,
30
- })
31
- ).toBe(false);
32
- expect(hasUnsupportedKeysInContentContainerStyle({ margin: 1 })).toBe(true);
33
- expect(hasUnsupportedKeysInContentContainerStyle({ padding: 1 })).toBe(
34
- false
35
- );
36
- expect(
37
- hasUnsupportedKeysInContentContainerStyle({ backgroundColor: "red" })
38
- ).toBe(false);
39
- });
40
- it("updated content style to have all supported styles defined", () => {
41
- expect(
42
- updateContentStyle({}, { padding: 1, backgroundColor: "red" })
43
- ).toEqual({
44
- paddingTop: 1,
45
- paddingBottom: 1,
46
- paddingLeft: 1,
47
- paddingRight: 1,
48
- backgroundColor: "red",
49
- });
50
- expect(updateContentStyle({}, { paddingHorizontal: 1 })).toEqual({
51
- paddingTop: 0,
52
- paddingBottom: 0,
53
- paddingLeft: 1,
54
- paddingRight: 1,
55
- });
56
- expect(updateContentStyle({}, { paddingVertical: 1 })).toEqual({
57
- paddingTop: 1,
58
- paddingBottom: 1,
59
- paddingLeft: 0,
60
- paddingRight: 0,
61
- });
62
- expect(
63
- updateContentStyle({}, { paddingLeft: 1, paddingVertical: 1 })
64
- ).toEqual({
65
- paddingTop: 1,
66
- paddingBottom: 1,
67
- paddingLeft: 1,
68
- paddingRight: 0,
69
- });
70
- });
71
- it("computes correct layout manager insets", () => {
72
- expect(
73
- applyContentContainerInsetForLayoutManager(
74
- { height: 0, width: 0 },
75
- { padding: 1 },
76
- false
77
- )
78
- ).toEqual({ height: 0, width: -2 });
79
- expect(
80
- applyContentContainerInsetForLayoutManager(
81
- { height: 0, width: 0 },
82
- { padding: 1 },
83
- true
84
- )
85
- ).toEqual({ height: -2, width: 0 });
86
- expect(
87
- applyContentContainerInsetForLayoutManager(
88
- { height: 0, width: 0 },
89
- { paddingVertical: 1 },
90
- true
91
- )
92
- ).toEqual({ height: -2, width: 0 });
93
- });
94
- it("calculated correct padding for scrollview content", () => {
95
- expect(
96
- getContentContainerPadding(
97
- {
98
- paddingLeft: 1,
99
- paddingTop: 1,
100
- paddingBottom: 1,
101
- paddingRight: 1,
102
- backgroundColor: "red",
103
- },
104
- true
105
- )
106
- ).toEqual({
107
- paddingTop: 1,
108
- paddingBottom: 1,
109
- paddingLeft: undefined,
110
- paddingRight: undefined,
111
- });
112
- expect(
113
- getContentContainerPadding(
114
- {
115
- paddingLeft: 1,
116
- paddingTop: 1,
117
- paddingBottom: 1,
118
- paddingRight: 1,
119
- backgroundColor: "red",
120
- },
121
- false
122
- )
123
- ).toEqual({
124
- paddingTop: undefined,
125
- paddingBottom: undefined,
126
- paddingLeft: 1,
127
- paddingRight: 1,
128
- });
129
- });
130
- });