react-native-screens 4.12.0 → 4.13.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 (235) hide show
  1. package/RNScreens.podspec +29 -2
  2. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +4 -0
  3. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +9 -1
  4. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +0 -1
  5. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +4 -4
  6. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +1 -1
  7. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +4 -4
  8. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingViewManager.kt +8 -2
  9. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAnimationDelegate.kt +1 -2
  10. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenEventEmitter.kt +16 -13
  11. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/BaseEventEmitter.kt +22 -0
  12. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/FragmentProviding.kt +11 -0
  13. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/NamingAwareEventType.kt +13 -0
  14. package/android/src/main/java/com/swmansion/rnscreens/gamma/helpers/EventHelpers.kt +6 -0
  15. package/android/src/main/java/com/swmansion/rnscreens/gamma/helpers/FragmentManagerHelper.kt +76 -0
  16. package/android/src/main/java/com/swmansion/rnscreens/gamma/helpers/SystemDrawable.kt +33 -0
  17. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabScreen.kt +101 -0
  18. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabScreenDelegate.kt +17 -0
  19. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabScreenEventEmitter.kt +46 -0
  20. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabScreenFragment.kt +37 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabScreenViewManager.kt +178 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHost.kt +433 -0
  23. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHostEventEmitter.kt +14 -0
  24. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHostViewManager.kt +177 -0
  25. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabScreenDidAppearEvent.kt +30 -0
  26. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabScreenDidDisappearEvent.kt +30 -0
  27. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabScreenWillAppearEvent.kt +30 -0
  28. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabScreenWillDisappearEvent.kt +30 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabsHostNativeFocusChangeEvent.kt +36 -0
  30. package/android/src/main/java/com/swmansion/rnscreens/stack/views/ChildDrawingOrderStrategyImpl.kt +0 -1
  31. package/android/src/main/java/com/swmansion/rnscreens/transition/ExternalBoundaryValuesEvaluator.kt +9 -2
  32. package/android/src/main/java/com/swmansion/rnscreens/utils/FragmentTransactionKt.kt +4 -1
  33. package/android/src/main/jni/rnscreens.h +1 -0
  34. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerDelegate.java +76 -0
  35. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerInterface.java +33 -0
  36. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerDelegate.java +97 -0
  37. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerInterface.java +40 -0
  38. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +2 -2
  39. package/android/src/versioned/backgroundcolor/76/ViewBackgroundUtils.kt +0 -1
  40. package/android/src/versioned/backgroundcolor/latest/ViewBackgroundUtils.kt +0 -3
  41. package/android/src/versioned/pointerevents/77/com/swmansion/rnscreens/PointerEventsBoxNoneImpl.kt +1 -1
  42. package/android/src/versioned/pointerevents/latest/com/swmansion/rnscreens/PointerEventsBoxNoneImpl.kt +1 -1
  43. package/common/cpp/react/renderer/components/rnscreens/RNSBottomTabsComponentDescriptor.h +31 -0
  44. package/common/cpp/react/renderer/components/rnscreens/RNSBottomTabsShadowNode.cpp +20 -0
  45. package/common/cpp/react/renderer/components/rnscreens/RNSBottomTabsShadowNode.h +32 -0
  46. package/common/cpp/react/renderer/components/rnscreens/RNSBottomTabsState.cpp +22 -0
  47. package/common/cpp/react/renderer/components/rnscreens/RNSBottomTabsState.h +44 -0
  48. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +8 -0
  49. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenComponentDescriptor.h +40 -0
  50. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenShadowNode.cpp +13 -0
  51. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenShadowNode.h +36 -0
  52. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenState.h +32 -0
  53. package/cpp/RNScreensTurboModule.h +5 -0
  54. package/ios/RNSEnums.h +6 -0
  55. package/ios/RNSScreen.h +2 -1
  56. package/ios/RNSScreen.mm +48 -1
  57. package/ios/RNSScreenContainer.mm +6 -0
  58. package/ios/RNSScreenStack.h +3 -1
  59. package/ios/RNSScreenStack.mm +39 -2
  60. package/ios/RNSScreenStackHeaderConfig.mm +1 -1
  61. package/ios/RNSScrollViewBehaviorOverriding.h +24 -0
  62. package/ios/RNSScrollViewFinder.h +13 -0
  63. package/ios/RNSScrollViewFinder.mm +22 -0
  64. package/ios/RNSScrollViewHelper.h +10 -0
  65. package/ios/RNSScrollViewHelper.mm +15 -0
  66. package/ios/RNScreens-Bridging-Header.h +4 -0
  67. package/ios/UIScrollView+RNScreens.h +14 -0
  68. package/ios/UIScrollView+RNScreens.mm +15 -0
  69. package/ios/bottom-tabs/RCTConvert+RNSBottomTabs.h +18 -0
  70. package/ios/bottom-tabs/RCTConvert+RNSBottomTabs.mm +25 -0
  71. package/ios/bottom-tabs/RNSBottomTabsHostComponentView.h +80 -0
  72. package/ios/bottom-tabs/RNSBottomTabsHostComponentView.mm +486 -0
  73. package/ios/bottom-tabs/RNSBottomTabsHostComponentViewManager.h +11 -0
  74. package/ios/bottom-tabs/RNSBottomTabsHostComponentViewManager.mm +48 -0
  75. package/ios/bottom-tabs/RNSBottomTabsHostEventEmitter.h +53 -0
  76. package/ios/bottom-tabs/RNSBottomTabsHostEventEmitter.mm +57 -0
  77. package/ios/bottom-tabs/RNSBottomTabsScreenComponentView.h +95 -0
  78. package/ios/bottom-tabs/RNSBottomTabsScreenComponentView.mm +492 -0
  79. package/ios/bottom-tabs/RNSBottomTabsScreenComponentViewManager.h +9 -0
  80. package/ios/bottom-tabs/RNSBottomTabsScreenComponentViewManager.mm +55 -0
  81. package/ios/bottom-tabs/RNSBottomTabsScreenEventEmitter.h +53 -0
  82. package/ios/bottom-tabs/RNSBottomTabsScreenEventEmitter.mm +106 -0
  83. package/ios/bottom-tabs/RNSBottomTabsSpecialEffectsSupporting.h +17 -0
  84. package/ios/bottom-tabs/RNSTabBarAppearanceCoordinator.h +34 -0
  85. package/ios/bottom-tabs/RNSTabBarAppearanceCoordinator.mm +243 -0
  86. package/ios/bottom-tabs/RNSTabBarAppearanceProvider.h +23 -0
  87. package/ios/bottom-tabs/RNSTabBarController.h +132 -0
  88. package/ios/bottom-tabs/RNSTabBarController.mm +206 -0
  89. package/ios/bottom-tabs/RNSTabBarControllerDelegate.h +9 -0
  90. package/ios/bottom-tabs/RNSTabBarControllerDelegate.mm +63 -0
  91. package/ios/bottom-tabs/RNSTabsScreenViewController.h +42 -0
  92. package/ios/bottom-tabs/RNSTabsScreenViewController.mm +105 -0
  93. package/ios/bottom-tabs/extensions/RNSBottomTabsHostComponentView+RNSImageLoader.h +21 -0
  94. package/ios/bottom-tabs/extensions/RNSBottomTabsHostComponentView+RNSImageLoader.mm +22 -0
  95. package/ios/bridging/RNSReactBaseView.h +31 -0
  96. package/ios/bridging/RNSReactBaseView.mm +5 -0
  97. package/ios/bridging/Swift-Bridging.h +7 -0
  98. package/ios/conversion/RNSConversions-BottomTabs.mm +216 -0
  99. package/ios/conversion/RNSConversions-SplitView.mm +63 -0
  100. package/ios/conversion/RNSConversions.h +53 -0
  101. package/ios/gamma/ReactMountingTransactionObserving.swift +7 -0
  102. package/ios/gamma/split-view/RNSSplitViewHostComponentView.h +29 -0
  103. package/ios/gamma/split-view/RNSSplitViewHostComponentView.mm +209 -0
  104. package/ios/gamma/split-view/RNSSplitViewHostComponentViewManager.h +11 -0
  105. package/ios/gamma/split-view/RNSSplitViewHostComponentViewManager.mm +7 -0
  106. package/ios/gamma/split-view/RNSSplitViewHostController.swift +98 -0
  107. package/ios/gamma/split-view/RNSSplitViewNavigationController.swift +31 -0
  108. package/ios/gamma/split-view/RNSSplitViewScreenComponentView.h +24 -0
  109. package/ios/gamma/split-view/RNSSplitViewScreenComponentView.mm +106 -0
  110. package/ios/gamma/split-view/RNSSplitViewScreenComponentViewManager.h +11 -0
  111. package/ios/gamma/split-view/RNSSplitViewScreenComponentViewManager.mm +7 -0
  112. package/ios/gamma/split-view/RNSSplitViewScreenController.swift +86 -0
  113. package/ios/gamma/split-view/RNSSplitViewScreenShadowStateProxy.h +35 -0
  114. package/ios/gamma/split-view/RNSSplitViewScreenShadowStateProxy.mm +56 -0
  115. package/ios/gamma/stack/RNSScreenStackHostComponentView.h +16 -0
  116. package/ios/gamma/stack/RNSScreenStackHostComponentView.mm +143 -0
  117. package/ios/gamma/stack/RNSScreenStackHostComponentViewManager.h +11 -0
  118. package/ios/gamma/stack/RNSScreenStackHostComponentViewManager.mm +7 -0
  119. package/ios/gamma/stack/RNSStackController.swift +65 -0
  120. package/ios/gamma/stack/RNSStackScreenComponentEventEmitter.h +37 -0
  121. package/ios/gamma/stack/RNSStackScreenComponentEventEmitter.mm +60 -0
  122. package/ios/gamma/stack/RNSStackScreenComponentView.h +36 -0
  123. package/ios/gamma/stack/RNSStackScreenComponentView.mm +124 -0
  124. package/ios/gamma/stack/RNSStackScreenComponentViewManager.h +11 -0
  125. package/ios/gamma/stack/RNSStackScreenComponentViewManager.mm +7 -0
  126. package/ios/gamma/stack/RNSStackScreenController.swift +56 -0
  127. package/ios/utils/NSString+RNSUtility.h +17 -0
  128. package/ios/utils/NSString+RNSUtility.mm +37 -0
  129. package/lib/commonjs/components/BottomTabs.js +54 -0
  130. package/lib/commonjs/components/BottomTabs.js.map +1 -0
  131. package/lib/commonjs/components/BottomTabsScreen.js +149 -0
  132. package/lib/commonjs/components/BottomTabsScreen.js.map +1 -0
  133. package/lib/commonjs/components/gamma/ScreenStackHost.js +27 -0
  134. package/lib/commonjs/components/gamma/ScreenStackHost.js.map +1 -0
  135. package/lib/commonjs/components/gamma/SplitViewHost.js +57 -0
  136. package/lib/commonjs/components/gamma/SplitViewHost.js.map +1 -0
  137. package/lib/commonjs/components/gamma/SplitViewScreen.js +22 -0
  138. package/lib/commonjs/components/gamma/SplitViewScreen.js.map +1 -0
  139. package/lib/commonjs/components/gamma/StackScreen.js +51 -0
  140. package/lib/commonjs/components/gamma/StackScreen.js.map +1 -0
  141. package/lib/commonjs/fabric/BottomTabsNativeComponent.js +19 -0
  142. package/lib/commonjs/fabric/BottomTabsNativeComponent.js.map +1 -0
  143. package/lib/commonjs/fabric/BottomTabsScreenNativeComponent.js +14 -0
  144. package/lib/commonjs/fabric/BottomTabsScreenNativeComponent.js.map +1 -0
  145. package/lib/commonjs/fabric/gamma/ScreenStackHostNativeComponent.js +11 -0
  146. package/lib/commonjs/fabric/gamma/ScreenStackHostNativeComponent.js.map +1 -0
  147. package/lib/commonjs/fabric/gamma/SplitViewHostNativeComponent.js +11 -0
  148. package/lib/commonjs/fabric/gamma/SplitViewHostNativeComponent.js.map +1 -0
  149. package/lib/commonjs/fabric/gamma/SplitViewScreenNativeComponent.js +13 -0
  150. package/lib/commonjs/fabric/gamma/SplitViewScreenNativeComponent.js.map +1 -0
  151. package/lib/commonjs/fabric/gamma/StackScreenNativeComponent.js +12 -0
  152. package/lib/commonjs/fabric/gamma/StackScreenNativeComponent.js.map +1 -0
  153. package/lib/commonjs/flags.js +70 -0
  154. package/lib/commonjs/flags.js.map +1 -0
  155. package/lib/commonjs/index.js +66 -3
  156. package/lib/commonjs/index.js.map +1 -1
  157. package/lib/commonjs/utils.js +0 -28
  158. package/lib/commonjs/utils.js.map +1 -1
  159. package/lib/module/components/BottomTabs.js +48 -0
  160. package/lib/module/components/BottomTabs.js.map +1 -0
  161. package/lib/module/components/BottomTabsScreen.js +144 -0
  162. package/lib/module/components/BottomTabsScreen.js.map +1 -0
  163. package/lib/module/components/gamma/ScreenStackHost.js +20 -0
  164. package/lib/module/components/gamma/ScreenStackHost.js.map +1 -0
  165. package/lib/module/components/gamma/SplitViewHost.js +50 -0
  166. package/lib/module/components/gamma/SplitViewHost.js.map +1 -0
  167. package/lib/module/components/gamma/SplitViewScreen.js +15 -0
  168. package/lib/module/components/gamma/SplitViewScreen.js.map +1 -0
  169. package/lib/module/components/gamma/StackScreen.js +44 -0
  170. package/lib/module/components/gamma/StackScreen.js.map +1 -0
  171. package/lib/module/fabric/BottomTabsNativeComponent.js +15 -0
  172. package/lib/module/fabric/BottomTabsNativeComponent.js.map +1 -0
  173. package/lib/module/fabric/BottomTabsScreenNativeComponent.js +12 -0
  174. package/lib/module/fabric/BottomTabsScreenNativeComponent.js.map +1 -0
  175. package/lib/module/fabric/gamma/ScreenStackHostNativeComponent.js +5 -0
  176. package/lib/module/fabric/gamma/ScreenStackHostNativeComponent.js.map +1 -0
  177. package/lib/module/fabric/gamma/SplitViewHostNativeComponent.js +5 -0
  178. package/lib/module/fabric/gamma/SplitViewHostNativeComponent.js.map +1 -0
  179. package/lib/module/fabric/gamma/SplitViewScreenNativeComponent.js +7 -0
  180. package/lib/module/fabric/gamma/SplitViewScreenNativeComponent.js.map +1 -0
  181. package/lib/module/fabric/gamma/StackScreenNativeComponent.js +8 -0
  182. package/lib/module/fabric/gamma/StackScreenNativeComponent.js.map +1 -0
  183. package/lib/module/flags.js +64 -0
  184. package/lib/module/flags.js.map +1 -0
  185. package/lib/module/index.js +16 -1
  186. package/lib/module/index.js.map +1 -1
  187. package/lib/module/utils.js +0 -27
  188. package/lib/module/utils.js.map +1 -1
  189. package/lib/typescript/components/BottomTabs.d.ts +30 -0
  190. package/lib/typescript/components/BottomTabs.d.ts.map +1 -0
  191. package/lib/typescript/components/BottomTabsScreen.d.ts +56 -0
  192. package/lib/typescript/components/BottomTabsScreen.d.ts.map +1 -0
  193. package/lib/typescript/components/gamma/ScreenStackHost.d.ts +13 -0
  194. package/lib/typescript/components/gamma/ScreenStackHost.d.ts.map +1 -0
  195. package/lib/typescript/components/gamma/SplitViewHost.d.ts +13 -0
  196. package/lib/typescript/components/gamma/SplitViewHost.d.ts.map +1 -0
  197. package/lib/typescript/components/gamma/SplitViewScreen.d.ts +13 -0
  198. package/lib/typescript/components/gamma/SplitViewScreen.d.ts.map +1 -0
  199. package/lib/typescript/components/gamma/StackScreen.d.ts +21 -0
  200. package/lib/typescript/components/gamma/StackScreen.d.ts.map +1 -0
  201. package/lib/typescript/fabric/BottomTabsNativeComponent.d.ts +31 -0
  202. package/lib/typescript/fabric/BottomTabsNativeComponent.d.ts.map +1 -0
  203. package/lib/typescript/fabric/BottomTabsScreenNativeComponent.d.ts +51 -0
  204. package/lib/typescript/fabric/BottomTabsScreenNativeComponent.d.ts.map +1 -0
  205. package/lib/typescript/fabric/gamma/ScreenStackHostNativeComponent.d.ts +7 -0
  206. package/lib/typescript/fabric/gamma/ScreenStackHostNativeComponent.d.ts.map +1 -0
  207. package/lib/typescript/fabric/gamma/SplitViewHostNativeComponent.d.ts +16 -0
  208. package/lib/typescript/fabric/gamma/SplitViewHostNativeComponent.d.ts.map +1 -0
  209. package/lib/typescript/fabric/gamma/SplitViewScreenNativeComponent.d.ts +7 -0
  210. package/lib/typescript/fabric/gamma/SplitViewScreenNativeComponent.d.ts.map +1 -0
  211. package/lib/typescript/fabric/gamma/StackScreenNativeComponent.d.ts +15 -0
  212. package/lib/typescript/fabric/gamma/StackScreenNativeComponent.d.ts.map +1 -0
  213. package/lib/typescript/flags.d.ts +45 -0
  214. package/lib/typescript/flags.d.ts.map +1 -0
  215. package/lib/typescript/index.d.ts +14 -1
  216. package/lib/typescript/index.d.ts.map +1 -1
  217. package/lib/typescript/utils.d.ts +0 -26
  218. package/lib/typescript/utils.d.ts.map +1 -1
  219. package/package.json +34 -6
  220. package/react-native.config.js +2 -1
  221. package/src/components/BottomTabs.tsx +115 -0
  222. package/src/components/BottomTabsScreen.tsx +291 -0
  223. package/src/components/gamma/ScreenStackHost.tsx +32 -0
  224. package/src/components/gamma/SplitViewHost.tsx +84 -0
  225. package/src/components/gamma/SplitViewScreen.tsx +26 -0
  226. package/src/components/gamma/StackScreen.tsx +64 -0
  227. package/src/fabric/BottomTabsNativeComponent.ts +82 -0
  228. package/src/fabric/BottomTabsScreenNativeComponent.ts +107 -0
  229. package/src/fabric/gamma/ScreenStackHostNativeComponent.ts +8 -0
  230. package/src/fabric/gamma/SplitViewHostNativeComponent.ts +39 -0
  231. package/src/fabric/gamma/SplitViewScreenNativeComponent.ts +10 -0
  232. package/src/fabric/gamma/StackScreenNativeComponent.ts +25 -0
  233. package/src/flags.ts +72 -0
  234. package/src/index.tsx +18 -1
  235. package/src/utils.ts +0 -28
@@ -0,0 +1,177 @@
1
+ package com.swmansion.rnscreens.gamma.tabs
2
+
3
+ import android.view.View
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.module.annotations.ReactModule
6
+ import com.facebook.react.uimanager.ThemedReactContext
7
+ import com.facebook.react.uimanager.ViewGroupManager
8
+ import com.facebook.react.uimanager.ViewManagerDelegate
9
+ import com.facebook.react.uimanager.annotations.ReactProp
10
+ import com.facebook.react.viewmanagers.RNSBottomTabsManagerDelegate
11
+ import com.facebook.react.viewmanagers.RNSBottomTabsManagerInterface
12
+ import com.swmansion.rnscreens.gamma.helpers.makeEventRegistrationInfo
13
+ import com.swmansion.rnscreens.gamma.tabs.event.TabsHostNativeFocusChangeEvent
14
+
15
+ @ReactModule(name = TabsHostViewManager.REACT_CLASS)
16
+ class TabsHostViewManager :
17
+ ViewGroupManager<TabsHost>(),
18
+ RNSBottomTabsManagerInterface<TabsHost> {
19
+ private val delegate: ViewManagerDelegate<TabsHost> = RNSBottomTabsManagerDelegate<TabsHost, TabsHostViewManager>(this)
20
+
21
+ override fun getName() = REACT_CLASS
22
+
23
+ override fun createViewInstance(reactContext: ThemedReactContext) = TabsHost(reactContext)
24
+
25
+ protected override fun getDelegate(): ViewManagerDelegate<TabsHost> = delegate
26
+
27
+ override fun addView(
28
+ parent: TabsHost,
29
+ child: View,
30
+ index: Int,
31
+ ) {
32
+ require(child is TabScreen) { "[RNScreens] Attempt to attach child that is not of type ${TabScreen::javaClass.name}" }
33
+ parent.mountReactSubviewAt(child, index)
34
+ }
35
+
36
+ override fun removeView(
37
+ parent: TabsHost,
38
+ child: View,
39
+ ) {
40
+ require(child is TabScreen) { "[RNScreens] Attempt to detach child that is not of type ${TabScreen::javaClass.name}" }
41
+ parent.unmountReactSubview(child)
42
+ }
43
+
44
+ override fun removeViewAt(
45
+ parent: TabsHost,
46
+ index: Int,
47
+ ) {
48
+ parent.unmountReactSubviewAt(index)
49
+ }
50
+
51
+ override fun removeAllViews(parent: TabsHost) {
52
+ parent.unmountAllReactSubviews()
53
+ }
54
+
55
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any> =
56
+ mutableMapOf(
57
+ makeEventRegistrationInfo(TabsHostNativeFocusChangeEvent),
58
+ )
59
+
60
+ override fun addEventEmitters(
61
+ reactContext: ThemedReactContext,
62
+ view: TabsHost,
63
+ ) {
64
+ super.addEventEmitters(reactContext, view)
65
+ view.onViewManagerAddEventEmitters()
66
+ }
67
+
68
+ // These should be ignored or another component, dedicated for Android should be used
69
+
70
+ @ReactProp(name = "tabBarBackgroundColor", customType = "Color")
71
+ override fun setTabBarBackgroundColor(
72
+ view: TabsHost,
73
+ value: Int?,
74
+ ) {
75
+ view.tabBarBackgroundColor = value
76
+ }
77
+
78
+ override fun setTabBarBlurEffect(
79
+ view: TabsHost?,
80
+ value: String?,
81
+ ) = Unit
82
+
83
+ override fun setTabBarTintColor(
84
+ view: TabsHost,
85
+ value: Int?,
86
+ ) = Unit
87
+
88
+ @ReactProp(name = "tabBarItemTitleFontSize")
89
+ override fun setTabBarItemTitleFontSize(
90
+ view: TabsHost?,
91
+ value: Float,
92
+ ) {
93
+ view?.tabBarItemTitleFontSize = value
94
+ }
95
+
96
+ override fun setControlNavigationStateInJS(
97
+ view: TabsHost?,
98
+ value: Boolean,
99
+ ) = Unit
100
+
101
+ override fun setTabBarItemTitleFontFamily(
102
+ view: TabsHost,
103
+ value: String?,
104
+ ) {
105
+ view.tabBarItemTitleFontFamily = value
106
+ }
107
+
108
+ override fun setTabBarItemTitleFontWeight(
109
+ view: TabsHost,
110
+ value: String?,
111
+ ) {
112
+ view.tabBarItemTitleFontWeight = value
113
+ }
114
+
115
+ override fun setTabBarItemTitleFontStyle(
116
+ view: TabsHost,
117
+ value: String?,
118
+ ) {
119
+ view.tabBarItemTitleFontStyle = value
120
+ }
121
+
122
+ @ReactProp(name = "tabBarItemTitleFontColor", customType = "Color")
123
+ override fun setTabBarItemTitleFontColor(
124
+ view: TabsHost,
125
+ value: Int?,
126
+ ) {
127
+ view.tabBarItemTitleFontColor = value
128
+ }
129
+
130
+ override fun setTabBarItemBadgeBackgroundColor(
131
+ view: TabsHost,
132
+ value: Int?,
133
+ ) = Unit
134
+
135
+ override fun setTabBarItemTitlePositionAdjustment(
136
+ view: TabsHost?,
137
+ value: ReadableMap?,
138
+ ) = Unit
139
+
140
+ @ReactProp(name = "tabBarItemIconColor", customType = "Color")
141
+ override fun setTabBarItemIconColor(
142
+ view: TabsHost,
143
+ value: Int?,
144
+ ) {
145
+ view.tabBarItemIconColor = value
146
+ }
147
+
148
+ // Android additional
149
+
150
+ @ReactProp(name = "tabBarItemTitleFontColorActive", customType = "Color")
151
+ override fun setTabBarItemTitleFontColorActive(
152
+ view: TabsHost,
153
+ value: Int?,
154
+ ) {
155
+ view.tabBarItemTitleFontColorActive = value
156
+ }
157
+
158
+ @ReactProp(name = "tabBarItemIconColorActive", customType = "Color")
159
+ override fun setTabBarItemIconColorActive(
160
+ view: TabsHost,
161
+ value: Int?,
162
+ ) {
163
+ view.tabBarItemIconColorActive = value
164
+ }
165
+
166
+ @ReactProp(name = "tabBarItemTitleFontSizeActive")
167
+ override fun setTabBarItemTitleFontSizeActive(
168
+ view: TabsHost?,
169
+ value: Float,
170
+ ) {
171
+ view?.tabBarItemTitleFontSizeActive = value
172
+ }
173
+
174
+ companion object {
175
+ const val REACT_CLASS = "RNSBottomTabs"
176
+ }
177
+ }
@@ -0,0 +1,30 @@
1
+ package com.swmansion.rnscreens.gamma.tabs.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.gamma.common.NamingAwareEventType
7
+
8
+ class TabScreenDidAppearEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ ) : Event<TabScreenDidAppearEvent>(surfaceId, viewId),
12
+ NamingAwareEventType {
13
+ override fun getEventName() = EVENT_NAME
14
+
15
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
16
+
17
+ // All events for a given view can be coalesced.
18
+ override fun getCoalescingKey(): Short = 0
19
+
20
+ override fun getEventData(): WritableMap? = Arguments.createMap()
21
+
22
+ companion object : NamingAwareEventType {
23
+ const val EVENT_NAME = "topDidAppear"
24
+ const val EVENT_REGISTRATION_NAME = "onDidAppear"
25
+
26
+ override fun getEventName() = EVENT_NAME
27
+
28
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
29
+ }
30
+ }
@@ -0,0 +1,30 @@
1
+ package com.swmansion.rnscreens.gamma.tabs.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.gamma.common.NamingAwareEventType
7
+
8
+ class TabScreenDidDisappearEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ ) : Event<TabScreenDidDisappearEvent>(surfaceId, viewId),
12
+ NamingAwareEventType {
13
+ override fun getEventName() = EVENT_NAME
14
+
15
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
16
+
17
+ // All events for a given view can be coalesced.
18
+ override fun getCoalescingKey(): Short = 0
19
+
20
+ override fun getEventData(): WritableMap? = Arguments.createMap()
21
+
22
+ companion object : NamingAwareEventType {
23
+ const val EVENT_NAME = "topDidDisappear"
24
+ const val EVENT_REGISTRATION_NAME = "onDidDisappear"
25
+
26
+ override fun getEventName() = EVENT_NAME
27
+
28
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
29
+ }
30
+ }
@@ -0,0 +1,30 @@
1
+ package com.swmansion.rnscreens.gamma.tabs.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.gamma.common.NamingAwareEventType
7
+
8
+ class TabScreenWillAppearEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ ) : Event<TabScreenWillAppearEvent>(surfaceId, viewId),
12
+ NamingAwareEventType {
13
+ override fun getEventName() = EVENT_NAME
14
+
15
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
16
+
17
+ // All events for a given view can be coalesced.
18
+ override fun getCoalescingKey(): Short = 0
19
+
20
+ override fun getEventData(): WritableMap? = Arguments.createMap()
21
+
22
+ companion object : NamingAwareEventType {
23
+ const val EVENT_NAME = "topWillAppear"
24
+ const val EVENT_REGISTRATION_NAME = "onWillAppear"
25
+
26
+ override fun getEventName() = EVENT_NAME
27
+
28
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
29
+ }
30
+ }
@@ -0,0 +1,30 @@
1
+ package com.swmansion.rnscreens.gamma.tabs.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.gamma.common.NamingAwareEventType
7
+
8
+ class TabScreenWillDisappearEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ ) : Event<TabScreenWillDisappearEvent>(surfaceId, viewId),
12
+ NamingAwareEventType {
13
+ override fun getEventName() = EVENT_NAME
14
+
15
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
16
+
17
+ // All events for a given view can be coalesced.
18
+ override fun getCoalescingKey(): Short = 0
19
+
20
+ override fun getEventData(): WritableMap? = Arguments.createMap()
21
+
22
+ companion object : NamingAwareEventType {
23
+ const val EVENT_NAME = "topWillDisappear"
24
+ const val EVENT_REGISTRATION_NAME = "onWillDisappear"
25
+
26
+ override fun getEventName() = EVENT_NAME
27
+
28
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
29
+ }
30
+ }
@@ -0,0 +1,36 @@
1
+ package com.swmansion.rnscreens.gamma.tabs.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.gamma.common.NamingAwareEventType
7
+
8
+ class TabsHostNativeFocusChangeEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ val tabKey: String,
12
+ ) : Event<TabScreenDidAppearEvent>(surfaceId, viewId),
13
+ NamingAwareEventType {
14
+ override fun getEventName() = EVENT_NAME
15
+
16
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
17
+
18
+ // All events for a given view can be coalesced.
19
+ override fun getCoalescingKey(): Short = 0
20
+
21
+ override fun getEventData(): WritableMap? =
22
+ Arguments.createMap().apply {
23
+ putString(EVENT_KEY_TAB_KEY, tabKey)
24
+ }
25
+
26
+ companion object : NamingAwareEventType {
27
+ const val EVENT_NAME = "topNativeFocusChange"
28
+ const val EVENT_REGISTRATION_NAME = "onNativeFocusChange"
29
+
30
+ private const val EVENT_KEY_TAB_KEY = "tabKey"
31
+
32
+ override fun getEventName() = EVENT_NAME
33
+
34
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
35
+ }
36
+ }
@@ -17,7 +17,6 @@ internal abstract class ChildrenDrawingOrderStrategyBase(
17
17
  override fun isEnabled() = enabled
18
18
  }
19
19
 
20
-
21
20
  internal class ReverseFromIndex(
22
21
  val startIndex: Int,
23
22
  ) : ChildrenDrawingOrderStrategyBase() {
@@ -9,7 +9,10 @@ typealias BoundaryValueProviderFn = (Number?) -> Float?
9
9
  * not use boundary values used during value animator construction. This allows to defer computation
10
10
  * of animator boundary values to the moment when animation starts.
11
11
  */
12
- class ExternalBoundaryValuesEvaluator(val startValueProvider: BoundaryValueProviderFn, val endValueProvider: BoundaryValueProviderFn) : FloatEvaluator() {
12
+ class ExternalBoundaryValuesEvaluator(
13
+ val startValueProvider: BoundaryValueProviderFn,
14
+ val endValueProvider: BoundaryValueProviderFn,
15
+ ) : FloatEvaluator() {
13
16
  var startValueCache: Number? = null
14
17
  var endValueCache: Number? = null
15
18
 
@@ -27,7 +30,11 @@ class ExternalBoundaryValuesEvaluator(val startValueProvider: BoundaryValueProvi
27
30
  return endValueCache
28
31
  }
29
32
 
30
- override fun evaluate(fraction: Float, startValue: Number?, endValue: Number?): Float? {
33
+ override fun evaluate(
34
+ fraction: Float,
35
+ startValue: Number?,
36
+ endValue: Number?,
37
+ ): Float? {
31
38
  val realStartValue = getStartValue(startValue)
32
39
  val realEndValue = getEndValue(endValue)
33
40
  if (realStartValue == null || realEndValue == null) {
@@ -4,7 +4,10 @@ import androidx.fragment.app.FragmentTransaction
4
4
  import com.swmansion.rnscreens.R
5
5
  import com.swmansion.rnscreens.Screen.StackAnimation
6
6
 
7
- internal fun FragmentTransaction.setTweenAnimations(stackAnimation: StackAnimation, shouldUseOpenAnimation: Boolean) {
7
+ internal fun FragmentTransaction.setTweenAnimations(
8
+ stackAnimation: StackAnimation,
9
+ shouldUseOpenAnimation: Boolean,
10
+ ) {
8
11
  if (shouldUseOpenAnimation) {
9
12
  when (stackAnimation) {
10
13
  StackAnimation.DEFAULT ->
@@ -21,6 +21,7 @@
21
21
  #include <react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h>
22
22
  #include <react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h>
23
23
  #include <react/renderer/components/rnscreens/RNSFullWindowOverlayComponentDescriptor.h>
24
+ #include <react/renderer/components/rnscreens/RNSBottomTabsComponentDescriptor.h>
24
25
 
25
26
  namespace facebook {
26
27
  namespace react {
@@ -0,0 +1,76 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.ColorPropConverter;
15
+ import com.facebook.react.bridge.ReadableMap;
16
+ import com.facebook.react.uimanager.BaseViewManager;
17
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
18
+ import com.facebook.react.uimanager.LayoutShadowNode;
19
+
20
+ public class RNSBottomTabsManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSBottomTabsManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
21
+ public RNSBottomTabsManagerDelegate(U viewManager) {
22
+ super(viewManager);
23
+ }
24
+ @Override
25
+ public void setProperty(T view, String propName, @Nullable Object value) {
26
+ switch (propName) {
27
+ case "tabBarBackgroundColor":
28
+ mViewManager.setTabBarBackgroundColor(view, ColorPropConverter.getColor(value, view.getContext()));
29
+ break;
30
+ case "tabBarBlurEffect":
31
+ mViewManager.setTabBarBlurEffect(view, (String) value);
32
+ break;
33
+ case "tabBarTintColor":
34
+ mViewManager.setTabBarTintColor(view, ColorPropConverter.getColor(value, view.getContext()));
35
+ break;
36
+ case "tabBarItemTitleFontFamily":
37
+ mViewManager.setTabBarItemTitleFontFamily(view, value == null ? null : (String) value);
38
+ break;
39
+ case "tabBarItemTitleFontSize":
40
+ mViewManager.setTabBarItemTitleFontSize(view, value == null ? 0f : ((Double) value).floatValue());
41
+ break;
42
+ case "tabBarItemTitleFontWeight":
43
+ mViewManager.setTabBarItemTitleFontWeight(view, value == null ? null : (String) value);
44
+ break;
45
+ case "tabBarItemTitleFontStyle":
46
+ mViewManager.setTabBarItemTitleFontStyle(view, value == null ? null : (String) value);
47
+ break;
48
+ case "tabBarItemTitleFontColor":
49
+ mViewManager.setTabBarItemTitleFontColor(view, ColorPropConverter.getColor(value, view.getContext()));
50
+ break;
51
+ case "tabBarItemTitlePositionAdjustment":
52
+ mViewManager.setTabBarItemTitlePositionAdjustment(view, (ReadableMap) value);
53
+ break;
54
+ case "tabBarItemIconColor":
55
+ mViewManager.setTabBarItemIconColor(view, ColorPropConverter.getColor(value, view.getContext()));
56
+ break;
57
+ case "tabBarItemBadgeBackgroundColor":
58
+ mViewManager.setTabBarItemBadgeBackgroundColor(view, ColorPropConverter.getColor(value, view.getContext()));
59
+ break;
60
+ case "tabBarItemTitleFontColorActive":
61
+ mViewManager.setTabBarItemTitleFontColorActive(view, ColorPropConverter.getColor(value, view.getContext()));
62
+ break;
63
+ case "tabBarItemIconColorActive":
64
+ mViewManager.setTabBarItemIconColorActive(view, ColorPropConverter.getColor(value, view.getContext()));
65
+ break;
66
+ case "tabBarItemTitleFontSizeActive":
67
+ mViewManager.setTabBarItemTitleFontSizeActive(view, value == null ? 0f : ((Double) value).floatValue());
68
+ break;
69
+ case "controlNavigationStateInJS":
70
+ mViewManager.setControlNavigationStateInJS(view, value == null ? false : (boolean) value);
71
+ break;
72
+ default:
73
+ super.setProperty(view, propName, value);
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.ReadableMap;
15
+
16
+
17
+ public interface RNSBottomTabsManagerInterface<T extends View> {
18
+ void setTabBarBackgroundColor(T view, @Nullable Integer value);
19
+ void setTabBarBlurEffect(T view, @Nullable String value);
20
+ void setTabBarTintColor(T view, @Nullable Integer value);
21
+ void setTabBarItemTitleFontFamily(T view, @Nullable String value);
22
+ void setTabBarItemTitleFontSize(T view, float value);
23
+ void setTabBarItemTitleFontWeight(T view, @Nullable String value);
24
+ void setTabBarItemTitleFontStyle(T view, @Nullable String value);
25
+ void setTabBarItemTitleFontColor(T view, @Nullable Integer value);
26
+ void setTabBarItemTitlePositionAdjustment(T view, @Nullable ReadableMap value);
27
+ void setTabBarItemIconColor(T view, @Nullable Integer value);
28
+ void setTabBarItemBadgeBackgroundColor(T view, @Nullable Integer value);
29
+ void setTabBarItemTitleFontColorActive(T view, @Nullable Integer value);
30
+ void setTabBarItemIconColorActive(T view, @Nullable Integer value);
31
+ void setTabBarItemTitleFontSizeActive(T view, float value);
32
+ void setControlNavigationStateInJS(T view, boolean value);
33
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.ColorPropConverter;
15
+ import com.facebook.react.bridge.ReadableMap;
16
+ import com.facebook.react.uimanager.BaseViewManager;
17
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
18
+ import com.facebook.react.uimanager.LayoutShadowNode;
19
+
20
+ public class RNSBottomTabsScreenManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSBottomTabsScreenManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
21
+ public RNSBottomTabsScreenManagerDelegate(U viewManager) {
22
+ super(viewManager);
23
+ }
24
+ @Override
25
+ public void setProperty(T view, String propName, @Nullable Object value) {
26
+ switch (propName) {
27
+ case "isFocused":
28
+ mViewManager.setIsFocused(view, value == null ? false : (boolean) value);
29
+ break;
30
+ case "tabKey":
31
+ mViewManager.setTabKey(view, value == null ? null : (String) value);
32
+ break;
33
+ case "tabBarBackgroundColor":
34
+ mViewManager.setTabBarBackgroundColor(view, ColorPropConverter.getColor(value, view.getContext()));
35
+ break;
36
+ case "tabBarBlurEffect":
37
+ mViewManager.setTabBarBlurEffect(view, (String) value);
38
+ break;
39
+ case "tabBarItemTitleFontFamily":
40
+ mViewManager.setTabBarItemTitleFontFamily(view, value == null ? null : (String) value);
41
+ break;
42
+ case "tabBarItemTitleFontSize":
43
+ mViewManager.setTabBarItemTitleFontSize(view, value == null ? 0f : ((Double) value).floatValue());
44
+ break;
45
+ case "tabBarItemTitleFontWeight":
46
+ mViewManager.setTabBarItemTitleFontWeight(view, value == null ? null : (String) value);
47
+ break;
48
+ case "tabBarItemTitleFontStyle":
49
+ mViewManager.setTabBarItemTitleFontStyle(view, value == null ? null : (String) value);
50
+ break;
51
+ case "tabBarItemTitleFontColor":
52
+ mViewManager.setTabBarItemTitleFontColor(view, ColorPropConverter.getColor(value, view.getContext()));
53
+ break;
54
+ case "tabBarItemTitlePositionAdjustment":
55
+ mViewManager.setTabBarItemTitlePositionAdjustment(view, (ReadableMap) value);
56
+ break;
57
+ case "tabBarItemIconColor":
58
+ mViewManager.setTabBarItemIconColor(view, ColorPropConverter.getColor(value, view.getContext()));
59
+ break;
60
+ case "tabBarItemBadgeBackgroundColor":
61
+ mViewManager.setTabBarItemBadgeBackgroundColor(view, ColorPropConverter.getColor(value, view.getContext()));
62
+ break;
63
+ case "title":
64
+ mViewManager.setTitle(view, value == null ? null : (String) value);
65
+ break;
66
+ case "iconResourceName":
67
+ mViewManager.setIconResourceName(view, value == null ? null : (String) value);
68
+ break;
69
+ case "iconType":
70
+ mViewManager.setIconType(view, (String) value);
71
+ break;
72
+ case "iconImageSource":
73
+ mViewManager.setIconImageSource(view, (ReadableMap) value);
74
+ break;
75
+ case "iconSfSymbolName":
76
+ mViewManager.setIconSfSymbolName(view, value == null ? null : (String) value);
77
+ break;
78
+ case "selectedIconImageSource":
79
+ mViewManager.setSelectedIconImageSource(view, (ReadableMap) value);
80
+ break;
81
+ case "selectedIconSfSymbolName":
82
+ mViewManager.setSelectedIconSfSymbolName(view, value == null ? null : (String) value);
83
+ break;
84
+ case "badgeValue":
85
+ mViewManager.setBadgeValue(view, value == null ? null : (String) value);
86
+ break;
87
+ case "specialEffects":
88
+ mViewManager.setSpecialEffects(view, (ReadableMap) value);
89
+ break;
90
+ case "overrideScrollViewContentInsetAdjustmentBehavior":
91
+ mViewManager.setOverrideScrollViewContentInsetAdjustmentBehavior(view, value == null ? true : (boolean) value);
92
+ break;
93
+ default:
94
+ super.setProperty(view, propName, value);
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.ReadableMap;
15
+
16
+
17
+ public interface RNSBottomTabsScreenManagerInterface<T extends View> {
18
+ void setIsFocused(T view, boolean value);
19
+ void setTabKey(T view, @Nullable String value);
20
+ void setTabBarBackgroundColor(T view, @Nullable Integer value);
21
+ void setTabBarBlurEffect(T view, @Nullable String value);
22
+ void setTabBarItemTitleFontFamily(T view, @Nullable String value);
23
+ void setTabBarItemTitleFontSize(T view, float value);
24
+ void setTabBarItemTitleFontWeight(T view, @Nullable String value);
25
+ void setTabBarItemTitleFontStyle(T view, @Nullable String value);
26
+ void setTabBarItemTitleFontColor(T view, @Nullable Integer value);
27
+ void setTabBarItemTitlePositionAdjustment(T view, @Nullable ReadableMap value);
28
+ void setTabBarItemIconColor(T view, @Nullable Integer value);
29
+ void setTabBarItemBadgeBackgroundColor(T view, @Nullable Integer value);
30
+ void setTitle(T view, @Nullable String value);
31
+ void setIconResourceName(T view, @Nullable String value);
32
+ void setIconType(T view, @Nullable String value);
33
+ void setIconImageSource(T view, @Nullable ReadableMap value);
34
+ void setIconSfSymbolName(T view, @Nullable String value);
35
+ void setSelectedIconImageSource(T view, @Nullable ReadableMap value);
36
+ void setSelectedIconSfSymbolName(T view, @Nullable String value);
37
+ void setBadgeValue(T view, @Nullable String value);
38
+ void setSpecialEffects(T view, @Nullable ReadableMap value);
39
+ void setOverrideScrollViewContentInsetAdjustmentBehavior(T view, boolean value);
40
+ }
@@ -24,8 +24,8 @@ abstract class FabricEnabledHeaderConfigViewGroup(
24
24
  paddingStart: Int,
25
25
  paddingEnd: Int,
26
26
  ) {
27
- // Implementation of this method differs between Fabric & Paper!
28
- updateState(width, height, paddingStart, paddingEnd)
27
+ // Implementation of this method differs between Fabric & Paper!
28
+ updateState(width, height, paddingStart, paddingEnd)
29
29
  }
30
30
 
31
31
  // Implementation of this method differs between Fabric & Paper!
@@ -6,4 +6,3 @@ import com.facebook.react.views.view.ReactViewGroup
6
6
 
7
7
  @OptIn(UnstableReactNativeAPI::class)
8
8
  internal fun ReactViewGroup.resolveBackgroundColor(): Int? = (this.background as? CSSBackgroundDrawable)?.color
9
-
@@ -1,9 +1,6 @@
1
1
  package com.swmansion.rnscreens.utils
2
2
 
3
- import com.facebook.react.common.annotations.UnstableReactNativeAPI
4
3
  import com.facebook.react.uimanager.BackgroundStyleApplicator
5
- import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable
6
4
  import com.facebook.react.views.view.ReactViewGroup
7
5
 
8
6
  internal fun ReactViewGroup.resolveBackgroundColor(): Int? = BackgroundStyleApplicator.getBackgroundColor(this)
9
-