@shopify/flash-list 2.0.0-alpha.20 → 2.0.0-alpha.22

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 (294) hide show
  1. package/dist/AnimatedFlashList.js +2 -2
  2. package/dist/AnimatedFlashList.js.map +1 -1
  3. package/dist/FlashList.d.ts +1 -167
  4. package/dist/FlashList.d.ts.map +1 -1
  5. package/dist/FlashList.js +3 -595
  6. package/dist/FlashList.js.map +1 -1
  7. package/dist/FlashListProps.d.ts +3 -64
  8. package/dist/FlashListProps.d.ts.map +1 -1
  9. package/dist/FlashListProps.js.map +1 -1
  10. package/dist/__tests__/LayoutCommitObserver.test.d.ts +2 -0
  11. package/dist/__tests__/LayoutCommitObserver.test.d.ts.map +1 -0
  12. package/dist/__tests__/LayoutCommitObserver.test.js +35 -0
  13. package/dist/__tests__/LayoutCommitObserver.test.js.map +1 -0
  14. package/dist/__tests__/ViewabilityHelper.test.js +3 -4
  15. package/dist/__tests__/ViewabilityHelper.test.js.map +1 -1
  16. package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
  17. package/dist/benchmark/JSFPSMonitor.js +2 -1
  18. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  19. package/dist/benchmark/useBenchmark.d.ts +2 -4
  20. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  21. package/dist/benchmark/useBenchmark.js +12 -49
  22. package/dist/benchmark/useBenchmark.js.map +1 -1
  23. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  24. package/dist/benchmark/useFlatListBenchmark.js +2 -1
  25. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  26. package/dist/errors/ErrorMessages.d.ts +16 -0
  27. package/dist/errors/ErrorMessages.d.ts.map +1 -0
  28. package/dist/errors/ErrorMessages.js +19 -0
  29. package/dist/errors/ErrorMessages.js.map +1 -0
  30. package/dist/errors/WarningMessages.d.ts +4 -0
  31. package/dist/errors/WarningMessages.d.ts.map +1 -0
  32. package/dist/errors/WarningMessages.js +7 -0
  33. package/dist/errors/WarningMessages.js.map +1 -0
  34. package/dist/index.d.ts +4 -9
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +9 -29
  37. package/dist/index.js.map +1 -1
  38. package/dist/isNewArch.d.ts +2 -0
  39. package/dist/isNewArch.d.ts.map +1 -0
  40. package/dist/isNewArch.js +25 -0
  41. package/dist/isNewArch.js.map +1 -0
  42. package/dist/native/config/PlatformHelper.android.d.ts +1 -22
  43. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  44. package/dist/native/config/PlatformHelper.android.js +1 -16
  45. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  46. package/dist/native/config/PlatformHelper.d.ts +1 -22
  47. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  48. package/dist/native/config/PlatformHelper.ios.d.ts +1 -22
  49. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  50. package/dist/native/config/PlatformHelper.ios.js +1 -15
  51. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  52. package/dist/native/config/PlatformHelper.js +1 -16
  53. package/dist/native/config/PlatformHelper.js.map +1 -1
  54. package/dist/native/config/PlatformHelper.web.d.ts +1 -23
  55. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  56. package/dist/native/config/PlatformHelper.web.js +1 -18
  57. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  58. package/dist/recyclerview/LayoutCommitObserver.d.ts +12 -0
  59. package/dist/recyclerview/LayoutCommitObserver.d.ts.map +1 -0
  60. package/dist/recyclerview/LayoutCommitObserver.js +62 -0
  61. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -0
  62. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  63. package/dist/recyclerview/RecyclerView.js +5 -0
  64. package/dist/recyclerview/RecyclerView.js.map +1 -1
  65. package/dist/recyclerview/RecyclerViewManager.d.ts +4 -1
  66. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  67. package/dist/recyclerview/RecyclerViewManager.js +43 -34
  68. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  69. package/dist/recyclerview/RecyclerViewProps.d.ts +1 -8
  70. package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -1
  71. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  72. package/dist/recyclerview/hooks/useRecyclerViewController.js +16 -9
  73. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  74. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  75. package/dist/recyclerview/layout-managers/LayoutManager.js +2 -1
  76. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  77. package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
  78. package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
  79. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.d.ts +2 -2
  80. package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
  81. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js +2 -4
  82. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js.map +1 -1
  83. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.d.ts +3 -3
  84. package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
  85. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.js +16 -16
  86. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
  87. package/dist/tsconfig.tsbuildinfo +1 -1
  88. package/package.json +3 -14
  89. package/src/AnimatedFlashList.ts +2 -2
  90. package/src/FlashList.ts +1 -0
  91. package/src/FlashListProps.ts +4 -80
  92. package/src/__tests__/LayoutCommitObserver.test.tsx +60 -0
  93. package/src/__tests__/ViewabilityHelper.test.ts +13 -14
  94. package/src/benchmark/JSFPSMonitor.ts +3 -3
  95. package/src/benchmark/useBenchmark.ts +12 -77
  96. package/src/benchmark/useFlatListBenchmark.ts +3 -1
  97. package/src/errors/ErrorMessages.ts +26 -0
  98. package/src/errors/WarningMessages.ts +4 -0
  99. package/src/index.ts +11 -43
  100. package/src/isNewArch.ts +25 -0
  101. package/src/native/config/PlatformHelper.android.ts +1 -25
  102. package/src/native/config/PlatformHelper.ios.ts +1 -24
  103. package/src/native/config/PlatformHelper.ts +1 -25
  104. package/src/native/config/PlatformHelper.web.ts +1 -30
  105. package/src/recyclerview/LayoutCommitObserver.tsx +74 -0
  106. package/src/recyclerview/RecyclerView.tsx +5 -0
  107. package/src/recyclerview/RecyclerViewManager.ts +40 -40
  108. package/src/recyclerview/RecyclerViewProps.ts +1 -11
  109. package/src/recyclerview/hooks/useRecyclerViewController.tsx +19 -14
  110. package/src/recyclerview/layout-managers/LayoutManager.ts +2 -1
  111. package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -9
  112. package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +18 -20
  113. package/RNFlashList.podspec +0 -37
  114. package/android/build.gradle +0 -89
  115. package/android/src/main/AndroidManifest.xml +0 -3
  116. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutShadow.kt +0 -105
  117. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutView.kt +0 -158
  118. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutViewManager.kt +0 -70
  119. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/BlankAreaEvent.kt +0 -29
  120. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainer.java +0 -16
  121. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerImpl.kt +0 -16
  122. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerManager.kt +0 -34
  123. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/FlashListPackage.kt +0 -19
  124. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerDelegate.java +0 -47
  125. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerInterface.java +0 -21
  126. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerDelegate.java +0 -32
  127. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerInterface.java +0 -16
  128. package/android/src/test/java/com/shopify/reactnative/flash_list/AutoLayoutShadowTest.kt +0 -147
  129. package/android/src/test/java/com/shopify/reactnative/flash_list/models/Rect.kt +0 -61
  130. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestCollection.kt +0 -6
  131. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestDataModel.kt +0 -8
  132. package/android/src/test/resources/LayoutTestData.json +0 -788
  133. package/dist/GridLayoutProviderWithProps.d.ts +0 -42
  134. package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
  135. package/dist/GridLayoutProviderWithProps.js +0 -114
  136. package/dist/GridLayoutProviderWithProps.js.map +0 -1
  137. package/dist/MasonryFlashList.d.ts +0 -51
  138. package/dist/MasonryFlashList.d.ts.map +0 -1
  139. package/dist/MasonryFlashList.js +0 -252
  140. package/dist/MasonryFlashList.js.map +0 -1
  141. package/dist/PureComponentWrapper.d.ts +0 -22
  142. package/dist/PureComponentWrapper.d.ts.map +0 -1
  143. package/dist/PureComponentWrapper.js +0 -37
  144. package/dist/PureComponentWrapper.js.map +0 -1
  145. package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
  146. package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
  147. package/dist/__tests__/ContentContainerUtils.test.js +0 -85
  148. package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
  149. package/dist/__tests__/FlashList.test.d.ts +0 -2
  150. package/dist/__tests__/FlashList.test.d.ts.map +0 -1
  151. package/dist/__tests__/FlashList.test.js +0 -902
  152. package/dist/__tests__/FlashList.test.js.map +0 -1
  153. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
  154. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
  155. package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
  156. package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
  157. package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
  158. package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
  159. package/dist/__tests__/MasonryFlashList.test.js +0 -254
  160. package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
  161. package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
  162. package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
  163. package/dist/__tests__/PlatformHelper.web.test.js +0 -33
  164. package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
  165. package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
  166. package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
  167. package/dist/__tests__/helpers/mountFlashList.js +0 -44
  168. package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
  169. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
  170. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
  171. package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
  172. package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
  173. package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
  174. package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
  175. package/dist/__tests__/useBlankAreaTracker.test.js +0 -179
  176. package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
  177. package/dist/benchmark/useBlankAreaTracker.d.ts +0 -34
  178. package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
  179. package/dist/benchmark/useBlankAreaTracker.js +0 -66
  180. package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
  181. package/dist/enableNewCore.d.ts +0 -3
  182. package/dist/enableNewCore.d.ts.map +0 -1
  183. package/dist/enableNewCore.js +0 -25
  184. package/dist/enableNewCore.js.map +0 -1
  185. package/dist/errors/CustomError.d.ts +0 -8
  186. package/dist/errors/CustomError.d.ts.map +0 -1
  187. package/dist/errors/CustomError.js +0 -14
  188. package/dist/errors/CustomError.js.map +0 -1
  189. package/dist/errors/ExceptionList.d.ts +0 -24
  190. package/dist/errors/ExceptionList.d.ts.map +0 -1
  191. package/dist/errors/ExceptionList.js +0 -26
  192. package/dist/errors/ExceptionList.js.map +0 -1
  193. package/dist/errors/Warnings.d.ts +0 -9
  194. package/dist/errors/Warnings.d.ts.map +0 -1
  195. package/dist/errors/Warnings.js +0 -13
  196. package/dist/errors/Warnings.js.map +0 -1
  197. package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -22
  198. package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
  199. package/dist/native/auto-layout/AutoLayoutView.js +0 -48
  200. package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
  201. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -4
  202. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
  203. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -6
  204. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
  205. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -5
  206. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
  207. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -4
  208. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
  209. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -6
  210. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
  211. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -6
  212. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
  213. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -16
  214. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
  215. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -3
  216. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
  217. package/dist/native/cell-container/CellContainer.android.d.ts +0 -6
  218. package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
  219. package/dist/native/cell-container/CellContainer.android.js +0 -9
  220. package/dist/native/cell-container/CellContainer.android.js.map +0 -1
  221. package/dist/native/cell-container/CellContainer.d.ts +0 -8
  222. package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
  223. package/dist/native/cell-container/CellContainer.ios.d.ts +0 -6
  224. package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
  225. package/dist/native/cell-container/CellContainer.ios.js +0 -9
  226. package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
  227. package/dist/native/cell-container/CellContainer.js +0 -11
  228. package/dist/native/cell-container/CellContainer.js.map +0 -1
  229. package/dist/native/cell-container/CellContainer.web.d.ts +0 -7
  230. package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
  231. package/dist/native/cell-container/CellContainer.web.js +0 -13
  232. package/dist/native/cell-container/CellContainer.web.js.map +0 -1
  233. package/dist/specs/AutoLayoutNativeComponent.d.ts +0 -18
  234. package/dist/specs/AutoLayoutNativeComponent.d.ts.map +0 -1
  235. package/dist/specs/AutoLayoutNativeComponent.js +0 -6
  236. package/dist/specs/AutoLayoutNativeComponent.js.map +0 -1
  237. package/dist/specs/CellContainerNativeComponent.d.ts +0 -8
  238. package/dist/specs/CellContainerNativeComponent.d.ts.map +0 -1
  239. package/dist/specs/CellContainerNativeComponent.js +0 -6
  240. package/dist/specs/CellContainerNativeComponent.js.map +0 -1
  241. package/dist/utils/ContentContainerUtils.d.ts +0 -27
  242. package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
  243. package/dist/utils/ContentContainerUtils.js +0 -48
  244. package/dist/utils/ContentContainerUtils.js.map +0 -1
  245. package/dist/viewability/ViewToken.d.ts.map +0 -1
  246. package/dist/viewability/ViewToken.js.map +0 -1
  247. package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
  248. package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
  249. package/dist/viewability/ViewabilityManager.js.map +0 -1
  250. package/ios/RNFlashList.xcodeproj/project.pbxproj +0 -3
  251. package/ios/RNFlashList.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  252. package/ios/Sources/AutoLayoutView.swift +0 -294
  253. package/ios/Sources/AutoLayoutViewComponentView.h +0 -16
  254. package/ios/Sources/AutoLayoutViewComponentView.mm +0 -90
  255. package/ios/Sources/AutoLayoutViewManager.mm +0 -14
  256. package/ios/Sources/AutoLayoutViewManager.swift +0 -12
  257. package/ios/Sources/CellContainerComponentView.h +0 -18
  258. package/ios/Sources/CellContainerComponentView.mm +0 -62
  259. package/ios/Sources/CellContainerManager.mm +0 -8
  260. package/ios/Sources/CellContainerManager.swift +0 -12
  261. package/ios/Sources/FlatListPro-Bridging-Header.h +0 -11
  262. package/ios/Tests/AutoLayoutViewTests.swift +0 -113
  263. package/src/FlashList.tsx +0 -953
  264. package/src/GridLayoutProviderWithProps.ts +0 -180
  265. package/src/MasonryFlashList.tsx +0 -476
  266. package/src/PureComponentWrapper.tsx +0 -42
  267. package/src/__tests__/ContentContainerUtils.test.ts +0 -130
  268. package/src/__tests__/FlashList.test.tsx +0 -1001
  269. package/src/__tests__/GridLayoutProviderWithProps.test.ts +0 -179
  270. package/src/__tests__/MasonryFlashList.test.ts +0 -292
  271. package/src/__tests__/PlatformHelper.web.test.ts +0 -45
  272. package/src/__tests__/helpers/mountFlashList.tsx +0 -62
  273. package/src/__tests__/helpers/mountMasonryFlashList.tsx +0 -70
  274. package/src/__tests__/useBlankAreaTracker.test.tsx +0 -206
  275. package/src/benchmark/useBlankAreaTracker.ts +0 -117
  276. package/src/enableNewCore.ts +0 -24
  277. package/src/errors/CustomError.ts +0 -10
  278. package/src/errors/ExceptionList.ts +0 -28
  279. package/src/errors/Warnings.ts +0 -15
  280. package/src/native/auto-layout/AutoLayoutView.tsx +0 -73
  281. package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -7
  282. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -7
  283. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -7
  284. package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -17
  285. package/src/native/cell-container/CellContainer.android.ts +0 -7
  286. package/src/native/cell-container/CellContainer.ios.ts +0 -7
  287. package/src/native/cell-container/CellContainer.tsx +0 -14
  288. package/src/native/cell-container/CellContainer.web.tsx +0 -9
  289. package/src/specs/AutoLayoutNativeComponent.ts +0 -24
  290. package/src/specs/CellContainerNativeComponent.ts +0 -9
  291. package/src/utils/ContentContainerUtils.ts +0 -92
  292. /package/dist/{viewability → recyclerview/viewability}/ViewToken.d.ts +0 -0
  293. /package/dist/{viewability → recyclerview/viewability}/ViewToken.js +0 -0
  294. /package/src/{viewability → recyclerview/viewability}/ViewToken.ts +0 -0
@@ -1,92 +0,0 @@
1
- import { ViewStyle } from "react-native";
2
- import { Dimension } from "recyclerlistview";
3
-
4
- import { ContentStyle } from "../FlashListProps";
5
-
6
- export interface ContentStyleExplicit {
7
- paddingTop: number;
8
- paddingBottom: number;
9
- paddingLeft: number;
10
- paddingRight: number;
11
- backgroundColor?: string;
12
- }
13
-
14
- export const updateContentStyle = (
15
- contentStyle: ContentStyle,
16
- contentContainerStyleSource: ContentStyle | undefined
17
- ): ContentStyleExplicit => {
18
- const {
19
- paddingTop,
20
- paddingRight,
21
- paddingBottom,
22
- paddingLeft,
23
- padding,
24
- paddingVertical,
25
- paddingHorizontal,
26
- backgroundColor,
27
- } = (contentContainerStyleSource ?? {}) as ViewStyle;
28
- contentStyle.paddingLeft = Number(
29
- paddingLeft || paddingHorizontal || padding || 0
30
- );
31
- contentStyle.paddingRight = Number(
32
- paddingRight || paddingHorizontal || padding || 0
33
- );
34
- contentStyle.paddingTop = Number(
35
- paddingTop || paddingVertical || padding || 0
36
- );
37
- contentStyle.paddingBottom = Number(
38
- paddingBottom || paddingVertical || padding || 0
39
- );
40
- contentStyle.backgroundColor = backgroundColor;
41
- return contentStyle as ContentStyleExplicit;
42
- };
43
-
44
- export const hasUnsupportedKeysInContentContainerStyle = (
45
- contentContainerStyleSource: ViewStyle | undefined
46
- ) => {
47
- const {
48
- paddingTop,
49
- paddingRight,
50
- paddingBottom,
51
- paddingLeft,
52
- padding,
53
- paddingVertical,
54
- paddingHorizontal,
55
- backgroundColor,
56
- ...rest
57
- } = (contentContainerStyleSource ?? {}) as ViewStyle;
58
- return Object.keys(rest).length > 0;
59
- };
60
-
61
- /** Applies padding corrections to given dimension. Mutates the dim object that was passed and returns it. */
62
- export const applyContentContainerInsetForLayoutManager = (
63
- dim: Dimension,
64
- contentContainerStyle: ViewStyle | undefined,
65
- horizontal: boolean | undefined | null
66
- ) => {
67
- const contentStyle = updateContentStyle({}, contentContainerStyle);
68
- if (horizontal) {
69
- dim.height -= contentStyle.paddingTop + contentStyle.paddingBottom;
70
- } else {
71
- dim.width -= contentStyle.paddingLeft + contentStyle.paddingRight;
72
- }
73
- return dim;
74
- };
75
-
76
- /** Returns padding to be applied on content container and will ignore paddings that have already been handled. */
77
- export const getContentContainerPadding = (
78
- contentStyle: ContentStyleExplicit,
79
- horizontal: boolean | undefined | null
80
- ) => {
81
- if (horizontal) {
82
- return {
83
- paddingTop: contentStyle.paddingTop,
84
- paddingBottom: contentStyle.paddingBottom,
85
- };
86
- } else {
87
- return {
88
- paddingLeft: contentStyle.paddingLeft,
89
- paddingRight: contentStyle.paddingRight,
90
- };
91
- }
92
- };