react-native-screens 3.31.0 → 3.32.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.
- package/README.md +6 -0
- package/RNScreens.podspec +1 -0
- package/android/build.gradle +83 -4
- package/android/src/main/cpp/jni-adapter.cpp +86 -93
- package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +17 -3
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +14 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +3 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +6 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +4 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +5 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +19 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +82 -27
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +0 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +1 -1
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +25 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +3 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +1 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +3 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +1 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +99 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +37 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +8 -9
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +8 -7
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +7 -9
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +6 -6
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +2 -1
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +8 -10
- package/cpp/RNScreensTurboModule.cpp +31 -23
- package/cpp/RNScreensTurboModule.h +17 -20
- package/ios/RNSConvert.h +6 -0
- package/ios/RNSConvert.mm +24 -0
- package/ios/RNSModule.mm +1 -2
- package/ios/RNSScreen.mm +8 -0
- package/ios/RNSScreenContainer.mm +1 -1
- package/ios/RNSScreenStack.mm +71 -13
- package/ios/RNSScreenStackHeaderConfig.h +2 -0
- package/ios/RNSScreenStackHeaderConfig.mm +44 -17
- package/ios/RNSSearchBar.h +5 -5
- package/ios/RNSSearchBar.mm +11 -11
- package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.h +15 -0
- package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.mm +14 -0
- package/ios/utils/RCTTouchHandler+RNSUtility.h +15 -0
- package/ios/utils/RCTTouchHandler+RNSUtility.mm +15 -0
- package/lib/commonjs/components/Screen.js +119 -127
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/commonjs/components/SearchBar.js +39 -36
- package/lib/commonjs/components/SearchBar.js.map +1 -1
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/native-stack/views/HeaderConfig.js +2 -0
- package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +2 -0
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/components/Screen.js +118 -126
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/components/SearchBar.js +39 -36
- package/lib/module/components/SearchBar.js.map +1 -1
- package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/native-stack/views/HeaderConfig.js +2 -0
- package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +2 -0
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/typescript/TransitionProgressContext.d.ts +1 -1
- package/lib/typescript/TransitionProgressContext.d.ts.map +1 -1
- package/lib/typescript/components/Screen.d.ts +3 -14
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/lib/typescript/components/SearchBar.d.ts +14 -21
- package/lib/typescript/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +11 -10
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +11 -10
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +5 -3
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +9 -9
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -1
- package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts +1 -1
- package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +29 -14
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +1 -1
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts.map +1 -1
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +1 -1
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -1
- package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +1 -1
- package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts +2 -2
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +1 -1
- package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +29 -13
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useTransitionProgress.d.ts +3 -3
- package/native-stack/README.md +7 -0
- package/package.json +13 -7
- package/src/components/Screen.tsx +27 -33
- package/src/components/SearchBar.tsx +77 -65
- package/src/fabric/ModalScreenNativeComponent.ts +1 -0
- package/src/fabric/ScreenNativeComponent.ts +1 -0
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +3 -0
- package/src/fabric/SearchBarNativeComponent.ts +6 -6
- package/src/native-stack/types.tsx +15 -0
- package/src/native-stack/views/HeaderConfig.tsx +2 -0
- package/src/native-stack/views/NativeStackView.tsx +2 -0
- package/src/types.tsx +16 -0
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
package com.swmansion.rnscreens
|
|
2
2
|
|
|
3
|
+
import android.util.Log
|
|
3
4
|
import com.facebook.react.bridge.JSApplicationIllegalArgumentException
|
|
4
|
-
import com.facebook.react.bridge.ReadableArray
|
|
5
5
|
import com.facebook.react.common.MapBuilder
|
|
6
6
|
import com.facebook.react.module.annotations.ReactModule
|
|
7
7
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
8
|
import com.facebook.react.uimanager.ViewGroupManager
|
|
9
|
+
import com.facebook.react.uimanager.ViewManagerDelegate
|
|
9
10
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
11
|
+
import com.facebook.react.viewmanagers.RNSSearchBarManagerDelegate
|
|
12
|
+
import com.facebook.react.viewmanagers.RNSSearchBarManagerInterface
|
|
10
13
|
import com.swmansion.rnscreens.events.SearchBarBlurEvent
|
|
11
14
|
import com.swmansion.rnscreens.events.SearchBarChangeTextEvent
|
|
12
15
|
import com.swmansion.rnscreens.events.SearchBarCloseEvent
|
|
@@ -15,7 +18,17 @@ import com.swmansion.rnscreens.events.SearchBarOpenEvent
|
|
|
15
18
|
import com.swmansion.rnscreens.events.SearchBarSearchButtonPressEvent
|
|
16
19
|
|
|
17
20
|
@ReactModule(name = SearchBarManager.REACT_CLASS)
|
|
18
|
-
class SearchBarManager : ViewGroupManager<SearchBarView>() {
|
|
21
|
+
class SearchBarManager : ViewGroupManager<SearchBarView>(), RNSSearchBarManagerInterface<SearchBarView> {
|
|
22
|
+
private val delegate: ViewManagerDelegate<SearchBarView>
|
|
23
|
+
|
|
24
|
+
init {
|
|
25
|
+
delegate = RNSSearchBarManagerDelegate<SearchBarView, SearchBarManager>(this)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
protected override fun getDelegate(): ViewManagerDelegate<SearchBarView> {
|
|
29
|
+
return delegate
|
|
30
|
+
}
|
|
31
|
+
|
|
19
32
|
override fun getName(): String {
|
|
20
33
|
return REACT_CLASS
|
|
21
34
|
}
|
|
@@ -30,7 +43,7 @@ class SearchBarManager : ViewGroupManager<SearchBarView>() {
|
|
|
30
43
|
}
|
|
31
44
|
|
|
32
45
|
@ReactProp(name = "autoCapitalize")
|
|
33
|
-
fun setAutoCapitalize(view: SearchBarView, autoCapitalize: String?) {
|
|
46
|
+
override fun setAutoCapitalize(view: SearchBarView, autoCapitalize: String?) {
|
|
34
47
|
view.autoCapitalize = when (autoCapitalize) {
|
|
35
48
|
null, "none" -> SearchBarView.SearchBarAutoCapitalize.NONE
|
|
36
49
|
"words" -> SearchBarView.SearchBarAutoCapitalize.WORDS
|
|
@@ -48,17 +61,17 @@ class SearchBarManager : ViewGroupManager<SearchBarView>() {
|
|
|
48
61
|
}
|
|
49
62
|
|
|
50
63
|
@ReactProp(name = "barTintColor", customType = "Color")
|
|
51
|
-
fun
|
|
64
|
+
override fun setBarTintColor(view: SearchBarView, color: Int?) {
|
|
52
65
|
view.tintColor = color
|
|
53
66
|
}
|
|
54
67
|
|
|
55
68
|
@ReactProp(name = "disableBackButtonOverride")
|
|
56
|
-
fun setDisableBackButtonOverride(view: SearchBarView, disableBackButtonOverride: Boolean
|
|
69
|
+
override fun setDisableBackButtonOverride(view: SearchBarView, disableBackButtonOverride: Boolean) {
|
|
57
70
|
view.shouldOverrideBackButton = disableBackButtonOverride != true
|
|
58
71
|
}
|
|
59
72
|
|
|
60
73
|
@ReactProp(name = "inputType")
|
|
61
|
-
fun setInputType(view: SearchBarView, inputType: String?) {
|
|
74
|
+
override fun setInputType(view: SearchBarView, inputType: String?) {
|
|
62
75
|
view.inputType = when (inputType) {
|
|
63
76
|
null, "text" -> SearchBarView.SearchBarInputTypes.TEXT
|
|
64
77
|
"phone" -> SearchBarView.SearchBarInputTypes.PHONE
|
|
@@ -71,56 +84,42 @@ class SearchBarManager : ViewGroupManager<SearchBarView>() {
|
|
|
71
84
|
}
|
|
72
85
|
|
|
73
86
|
@ReactProp(name = "placeholder")
|
|
74
|
-
fun setPlaceholder(view: SearchBarView, placeholder: String?) {
|
|
87
|
+
override fun setPlaceholder(view: SearchBarView, placeholder: String?) {
|
|
75
88
|
if (placeholder != null) {
|
|
76
89
|
view.placeholder = placeholder
|
|
77
90
|
}
|
|
78
91
|
}
|
|
79
92
|
|
|
80
93
|
@ReactProp(name = "textColor", customType = "Color")
|
|
81
|
-
fun setTextColor(view: SearchBarView, color: Int?) {
|
|
94
|
+
override fun setTextColor(view: SearchBarView, color: Int?) {
|
|
82
95
|
view.textColor = color
|
|
83
96
|
}
|
|
84
97
|
|
|
85
98
|
@ReactProp(name = "headerIconColor", customType = "Color")
|
|
86
|
-
fun setHeaderIconColor(view: SearchBarView, color: Int?) {
|
|
99
|
+
override fun setHeaderIconColor(view: SearchBarView, color: Int?) {
|
|
87
100
|
view.headerIconColor = color
|
|
88
101
|
}
|
|
89
102
|
|
|
90
103
|
@ReactProp(name = "hintTextColor", customType = "Color")
|
|
91
|
-
fun setHintTextColor(view: SearchBarView, color: Int?) {
|
|
104
|
+
override fun setHintTextColor(view: SearchBarView, color: Int?) {
|
|
92
105
|
view.hintTextColor = color
|
|
93
106
|
}
|
|
94
107
|
|
|
95
108
|
@ReactProp(name = "shouldShowHintSearchIcon")
|
|
96
|
-
fun setShouldShowHintSearchIcon(view: SearchBarView, shouldShowHintSearchIcon: Boolean
|
|
109
|
+
override fun setShouldShowHintSearchIcon(view: SearchBarView, shouldShowHintSearchIcon: Boolean) {
|
|
97
110
|
view.shouldShowHintSearchIcon = shouldShowHintSearchIcon ?: true
|
|
98
111
|
}
|
|
99
112
|
|
|
100
|
-
fun setPlacement(view: SearchBarView, placeholder: String?) = Unit
|
|
101
|
-
|
|
102
|
-
override fun receiveCommand(root: SearchBarView, commandId: String?, args: ReadableArray?) {
|
|
103
|
-
when (commandId) {
|
|
104
|
-
"focus" -> root.handleFocusJsRequest()
|
|
105
|
-
"blur" -> root.handleBlurJsRequest()
|
|
106
|
-
"clearText" -> root.handleClearTextJsRequest()
|
|
107
|
-
"toggleCancelButton" -> root.handleToggleCancelButtonJsRequest(false) // just a dummy argument
|
|
108
|
-
"setText" -> root.handleSetTextJsRequest(args?.getString(0))
|
|
109
|
-
"cancelSearch" -> root.handleCancelSearchJsRequest()
|
|
110
|
-
else -> throw JSApplicationIllegalArgumentException("Unsupported native command received: $commandId")
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
113
|
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
|
|
115
114
|
return MapBuilder.of(
|
|
116
115
|
SearchBarBlurEvent.EVENT_NAME,
|
|
117
|
-
MapBuilder.of("registrationName", "
|
|
116
|
+
MapBuilder.of("registrationName", "onSearchBlur"),
|
|
118
117
|
SearchBarChangeTextEvent.EVENT_NAME,
|
|
119
118
|
MapBuilder.of("registrationName", "onChangeText"),
|
|
120
119
|
SearchBarCloseEvent.EVENT_NAME,
|
|
121
120
|
MapBuilder.of("registrationName", "onClose"),
|
|
122
121
|
SearchBarFocusEvent.EVENT_NAME,
|
|
123
|
-
MapBuilder.of("registrationName", "
|
|
122
|
+
MapBuilder.of("registrationName", "onSearchFocus"),
|
|
124
123
|
SearchBarOpenEvent.EVENT_NAME,
|
|
125
124
|
MapBuilder.of("registrationName", "onOpen"),
|
|
126
125
|
SearchBarSearchButtonPressEvent.EVENT_NAME,
|
|
@@ -131,4 +130,60 @@ class SearchBarManager : ViewGroupManager<SearchBarView>() {
|
|
|
131
130
|
companion object {
|
|
132
131
|
const val REACT_CLASS = "RNSSearchBar"
|
|
133
132
|
}
|
|
133
|
+
|
|
134
|
+
private fun logNotAvailable(propName: String) {
|
|
135
|
+
Log.w("RN SCREENS", "$propName prop is not available on Android")
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// NativeCommands
|
|
139
|
+
|
|
140
|
+
override fun blur(view: SearchBarView?) {
|
|
141
|
+
view?.handleBlurJsRequest()
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
override fun focus(view: SearchBarView?) {
|
|
145
|
+
view?.handleFocusJsRequest()
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
override fun clearText(view: SearchBarView?) {
|
|
149
|
+
view?.handleClearTextJsRequest()
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
override fun toggleCancelButton(view: SearchBarView?, flag: Boolean) {
|
|
153
|
+
view?.handleToggleCancelButtonJsRequest(flag)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
override fun setText(view: SearchBarView?, text: String?) {
|
|
157
|
+
view?.handleSetTextJsRequest(text)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
override fun cancelSearch(view: SearchBarView?) {
|
|
161
|
+
view?.handleFocusJsRequest()
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// iOS only
|
|
165
|
+
|
|
166
|
+
override fun setPlacement(view: SearchBarView, placeholder: String?) {
|
|
167
|
+
logNotAvailable("setPlacement")
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
override fun setHideWhenScrolling(view: SearchBarView?, value: Boolean) {
|
|
171
|
+
logNotAvailable("hideWhenScrolling")
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
override fun setObscureBackground(view: SearchBarView?, value: Boolean) {
|
|
175
|
+
logNotAvailable("hideNavigationBar")
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
override fun setHideNavigationBar(view: SearchBarView?, value: Boolean) {
|
|
179
|
+
logNotAvailable("hideNavigationBar")
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
override fun setCancelButtonText(view: SearchBarView?, value: String?) {
|
|
183
|
+
logNotAvailable("cancelButtonText")
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
override fun setTintColor(view: SearchBarView?, value: Int?) {
|
|
187
|
+
logNotAvailable("tintColor")
|
|
188
|
+
}
|
|
134
189
|
}
|
|
@@ -3,7 +3,6 @@ package com.swmansion.rnscreens.events
|
|
|
3
3
|
import com.facebook.react.bridge.Arguments
|
|
4
4
|
import com.facebook.react.bridge.WritableMap
|
|
5
5
|
import com.facebook.react.uimanager.events.Event
|
|
6
|
-
import com.facebook.react.uimanager.events.RCTEventEmitter
|
|
7
6
|
|
|
8
7
|
class HeaderHeightChangeEvent(
|
|
9
8
|
surfaceId: Int,
|
|
@@ -13,6 +13,6 @@ class SearchBarFocusEvent(surfaceId: Int, viewId: Int) : Event<SearchBarFocusEve
|
|
|
13
13
|
override fun getEventData(): WritableMap? = Arguments.createMap()
|
|
14
14
|
|
|
15
15
|
companion object {
|
|
16
|
-
const val EVENT_NAME = "
|
|
16
|
+
const val EVENT_NAME = "topSearchFocus"
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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.uimanager.BaseViewManagerDelegate;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManagerInterface;
|
|
16
|
+
|
|
17
|
+
public class RNSScreenContainerManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNSScreenContainerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
|
+
public RNSScreenContainerManagerDelegate(U viewManager) {
|
|
19
|
+
super(viewManager);
|
|
20
|
+
}
|
|
21
|
+
@Override
|
|
22
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
23
|
+
super.setProperty(view, propName, value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
|
|
14
|
+
public interface RNSScreenContainerManagerInterface<T extends View> {
|
|
15
|
+
// No props
|
|
16
|
+
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java
CHANGED
|
@@ -98,6 +98,9 @@ public class RNSScreenManagerDelegate<T extends View, U extends BaseViewManagerI
|
|
|
98
98
|
case "navigationBarColor":
|
|
99
99
|
mViewManager.setNavigationBarColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
100
100
|
break;
|
|
101
|
+
case "navigationBarTranslucent":
|
|
102
|
+
mViewManager.setNavigationBarTranslucent(view, value == null ? false : (boolean) value);
|
|
103
|
+
break;
|
|
101
104
|
case "navigationBarHidden":
|
|
102
105
|
mViewManager.setNavigationBarHidden(view, value == null ? false : (boolean) value);
|
|
103
106
|
break;
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java
CHANGED
|
@@ -39,6 +39,7 @@ public interface RNSScreenManagerInterface<T extends View> {
|
|
|
39
39
|
void setHideKeyboardOnSwipe(T view, boolean value);
|
|
40
40
|
void setActivityState(T view, float value);
|
|
41
41
|
void setNavigationBarColor(T view, @Nullable Integer value);
|
|
42
|
+
void setNavigationBarTranslucent(T view, boolean value);
|
|
42
43
|
void setNavigationBarHidden(T view, boolean value);
|
|
43
44
|
void setNativeBackButtonDismissalEnabled(T view, boolean value);
|
|
44
45
|
}
|
|
@@ -91,6 +91,9 @@ public class RNSScreenStackHeaderConfigManagerDelegate<T extends View, U extends
|
|
|
91
91
|
case "disableBackButtonMenu":
|
|
92
92
|
mViewManager.setDisableBackButtonMenu(view, value == null ? false : (boolean) value);
|
|
93
93
|
break;
|
|
94
|
+
case "backButtonDisplayMode":
|
|
95
|
+
mViewManager.setBackButtonDisplayMode(view, (String) value);
|
|
96
|
+
break;
|
|
94
97
|
case "hideBackButton":
|
|
95
98
|
mViewManager.setHideBackButton(view, value == null ? false : (boolean) value);
|
|
96
99
|
break;
|
|
@@ -36,6 +36,7 @@ public interface RNSScreenStackHeaderConfigManagerInterface<T extends View> {
|
|
|
36
36
|
void setTitleFontWeight(T view, @Nullable String value);
|
|
37
37
|
void setTitleColor(T view, @Nullable Integer value);
|
|
38
38
|
void setDisableBackButtonMenu(T view, boolean value);
|
|
39
|
+
void setBackButtonDisplayMode(T view, @Nullable String value);
|
|
39
40
|
void setHideBackButton(T view, boolean value);
|
|
40
41
|
void setBackButtonInCustomView(T view, boolean value);
|
|
41
42
|
void setTopInsetEnabled(T view, boolean value);
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
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.ReadableArray;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
17
|
+
import com.facebook.react.uimanager.BaseViewManagerInterface;
|
|
18
|
+
|
|
19
|
+
public class RNSSearchBarManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNSSearchBarManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
20
|
+
public RNSSearchBarManagerDelegate(U viewManager) {
|
|
21
|
+
super(viewManager);
|
|
22
|
+
}
|
|
23
|
+
@Override
|
|
24
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
25
|
+
switch (propName) {
|
|
26
|
+
case "hideWhenScrolling":
|
|
27
|
+
mViewManager.setHideWhenScrolling(view, value == null ? false : (boolean) value);
|
|
28
|
+
break;
|
|
29
|
+
case "autoCapitalize":
|
|
30
|
+
mViewManager.setAutoCapitalize(view, (String) value);
|
|
31
|
+
break;
|
|
32
|
+
case "placeholder":
|
|
33
|
+
mViewManager.setPlaceholder(view, value == null ? null : (String) value);
|
|
34
|
+
break;
|
|
35
|
+
case "placement":
|
|
36
|
+
mViewManager.setPlacement(view, (String) value);
|
|
37
|
+
break;
|
|
38
|
+
case "obscureBackground":
|
|
39
|
+
mViewManager.setObscureBackground(view, value == null ? false : (boolean) value);
|
|
40
|
+
break;
|
|
41
|
+
case "hideNavigationBar":
|
|
42
|
+
mViewManager.setHideNavigationBar(view, value == null ? false : (boolean) value);
|
|
43
|
+
break;
|
|
44
|
+
case "cancelButtonText":
|
|
45
|
+
mViewManager.setCancelButtonText(view, value == null ? null : (String) value);
|
|
46
|
+
break;
|
|
47
|
+
case "barTintColor":
|
|
48
|
+
mViewManager.setBarTintColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
49
|
+
break;
|
|
50
|
+
case "tintColor":
|
|
51
|
+
mViewManager.setTintColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
52
|
+
break;
|
|
53
|
+
case "textColor":
|
|
54
|
+
mViewManager.setTextColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
55
|
+
break;
|
|
56
|
+
case "disableBackButtonOverride":
|
|
57
|
+
mViewManager.setDisableBackButtonOverride(view, value == null ? false : (boolean) value);
|
|
58
|
+
break;
|
|
59
|
+
case "inputType":
|
|
60
|
+
mViewManager.setInputType(view, value == null ? null : (String) value);
|
|
61
|
+
break;
|
|
62
|
+
case "hintTextColor":
|
|
63
|
+
mViewManager.setHintTextColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
64
|
+
break;
|
|
65
|
+
case "headerIconColor":
|
|
66
|
+
mViewManager.setHeaderIconColor(view, ColorPropConverter.getColor(value, view.getContext()));
|
|
67
|
+
break;
|
|
68
|
+
case "shouldShowHintSearchIcon":
|
|
69
|
+
mViewManager.setShouldShowHintSearchIcon(view, value == null ? true : (boolean) value);
|
|
70
|
+
break;
|
|
71
|
+
default:
|
|
72
|
+
super.setProperty(view, propName, value);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@Override
|
|
77
|
+
public void receiveCommand(T view, String commandName, ReadableArray args) {
|
|
78
|
+
switch (commandName) {
|
|
79
|
+
case "blur":
|
|
80
|
+
mViewManager.blur(view);
|
|
81
|
+
break;
|
|
82
|
+
case "focus":
|
|
83
|
+
mViewManager.focus(view);
|
|
84
|
+
break;
|
|
85
|
+
case "clearText":
|
|
86
|
+
mViewManager.clearText(view);
|
|
87
|
+
break;
|
|
88
|
+
case "toggleCancelButton":
|
|
89
|
+
mViewManager.toggleCancelButton(view, args.getBoolean(0));
|
|
90
|
+
break;
|
|
91
|
+
case "setText":
|
|
92
|
+
mViewManager.setText(view, args.getString(0));
|
|
93
|
+
break;
|
|
94
|
+
case "cancelSearch":
|
|
95
|
+
mViewManager.cancelSearch(view);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
|
|
15
|
+
public interface RNSSearchBarManagerInterface<T extends View> {
|
|
16
|
+
void setHideWhenScrolling(T view, boolean value);
|
|
17
|
+
void setAutoCapitalize(T view, @Nullable String value);
|
|
18
|
+
void setPlaceholder(T view, @Nullable String value);
|
|
19
|
+
void setPlacement(T view, @Nullable String value);
|
|
20
|
+
void setObscureBackground(T view, boolean value);
|
|
21
|
+
void setHideNavigationBar(T view, boolean value);
|
|
22
|
+
void setCancelButtonText(T view, @Nullable String value);
|
|
23
|
+
void setBarTintColor(T view, @Nullable Integer value);
|
|
24
|
+
void setTintColor(T view, @Nullable Integer value);
|
|
25
|
+
void setTextColor(T view, @Nullable Integer value);
|
|
26
|
+
void setDisableBackButtonOverride(T view, boolean value);
|
|
27
|
+
void setInputType(T view, @Nullable String value);
|
|
28
|
+
void setHintTextColor(T view, @Nullable Integer value);
|
|
29
|
+
void setHeaderIconColor(T view, @Nullable Integer value);
|
|
30
|
+
void setShouldShowHintSearchIcon(T view, boolean value);
|
|
31
|
+
void blur(T view);
|
|
32
|
+
void focus(T view);
|
|
33
|
+
void clearText(T view);
|
|
34
|
+
void toggleCancelButton(T view, boolean flag);
|
|
35
|
+
void setText(T view, String text);
|
|
36
|
+
void cancelSearch(T view);
|
|
37
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <react/debug/react_native_assert.h>
|
|
4
|
-
#include "RNSModalScreenShadowNode.h"
|
|
5
4
|
#include <react/renderer/core/ConcreteComponentDescriptor.h>
|
|
5
|
+
#include "RNSModalScreenShadowNode.h"
|
|
6
6
|
|
|
7
7
|
namespace facebook {
|
|
8
8
|
namespace react {
|
|
@@ -12,16 +12,15 @@ class RNSModalScreenComponentDescriptor final
|
|
|
12
12
|
public:
|
|
13
13
|
using ConcreteComponentDescriptor::ConcreteComponentDescriptor;
|
|
14
14
|
|
|
15
|
-
void adopt(ShadowNode&
|
|
16
|
-
react_native_assert(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
static_cast<RNSModalScreenShadowNode&>(shadowNode);
|
|
15
|
+
void adopt(ShadowNode &shadowNode) const override {
|
|
16
|
+
react_native_assert(dynamic_cast<RNSModalScreenShadowNode *>(&shadowNode));
|
|
17
|
+
auto &screenShadowNode =
|
|
18
|
+
static_cast<RNSModalScreenShadowNode &>(shadowNode);
|
|
20
19
|
|
|
21
20
|
react_native_assert(
|
|
22
|
-
dynamic_cast<YogaLayoutableShadowNode*>(&screenShadowNode));
|
|
23
|
-
auto&
|
|
24
|
-
dynamic_cast<YogaLayoutableShadowNode&>(screenShadowNode);
|
|
21
|
+
dynamic_cast<YogaLayoutableShadowNode *>(&screenShadowNode));
|
|
22
|
+
auto &layoutableShadowNode =
|
|
23
|
+
dynamic_cast<YogaLayoutableShadowNode &>(screenShadowNode);
|
|
25
24
|
|
|
26
25
|
auto state =
|
|
27
26
|
std::static_pointer_cast<const RNSModalScreenShadowNode::ConcreteState>(
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
4
|
#include <react/renderer/components/rnscreens/EventEmitters.h>
|
|
5
5
|
#include <react/renderer/components/rnscreens/Props.h>
|
|
6
6
|
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
7
|
-
#include
|
|
7
|
+
#include "RNSScreenState.h"
|
|
8
8
|
|
|
9
9
|
namespace facebook {
|
|
10
10
|
namespace react {
|
|
11
11
|
|
|
12
12
|
JSI_EXPORT extern const char RNSModalScreenComponentName[];
|
|
13
13
|
|
|
14
|
-
class JSI_EXPORT RNSModalScreenShadowNode final
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
class JSI_EXPORT RNSModalScreenShadowNode final
|
|
15
|
+
: public ConcreteViewShadowNode<
|
|
16
|
+
RNSModalScreenComponentName,
|
|
17
|
+
RNSScreenProps,
|
|
18
|
+
RNSScreenEventEmitter,
|
|
19
|
+
RNSScreenState> {
|
|
19
20
|
public:
|
|
20
21
|
using ConcreteViewShadowNode::ConcreteViewShadowNode;
|
|
21
22
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <react/debug/react_native_assert.h>
|
|
4
|
-
#include "RNSScreenShadowNode.h"
|
|
5
4
|
#include <react/renderer/core/ConcreteComponentDescriptor.h>
|
|
5
|
+
#include "RNSScreenShadowNode.h"
|
|
6
6
|
|
|
7
7
|
namespace facebook {
|
|
8
8
|
namespace react {
|
|
@@ -12,16 +12,14 @@ class RNSScreenComponentDescriptor final
|
|
|
12
12
|
public:
|
|
13
13
|
using ConcreteComponentDescriptor::ConcreteComponentDescriptor;
|
|
14
14
|
|
|
15
|
-
void adopt(ShadowNode&
|
|
16
|
-
react_native_assert(
|
|
17
|
-
|
|
18
|
-
auto& screenShadowNode =
|
|
19
|
-
static_cast<RNSScreenShadowNode&>(shadowNode);
|
|
15
|
+
void adopt(ShadowNode &shadowNode) const override {
|
|
16
|
+
react_native_assert(dynamic_cast<RNSScreenShadowNode *>(&shadowNode));
|
|
17
|
+
auto &screenShadowNode = static_cast<RNSScreenShadowNode &>(shadowNode);
|
|
20
18
|
|
|
21
19
|
react_native_assert(
|
|
22
|
-
dynamic_cast<YogaLayoutableShadowNode*>(&screenShadowNode));
|
|
23
|
-
auto&
|
|
24
|
-
dynamic_cast<YogaLayoutableShadowNode&>(screenShadowNode);
|
|
20
|
+
dynamic_cast<YogaLayoutableShadowNode *>(&screenShadowNode));
|
|
21
|
+
auto &layoutableShadowNode =
|
|
22
|
+
dynamic_cast<YogaLayoutableShadowNode &>(screenShadowNode);
|
|
25
23
|
|
|
26
24
|
auto state =
|
|
27
25
|
std::static_pointer_cast<const RNSScreenShadowNode::ConcreteState>(
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
4
|
#include <react/renderer/components/rnscreens/EventEmitters.h>
|
|
5
5
|
#include <react/renderer/components/rnscreens/Props.h>
|
|
6
6
|
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
7
|
-
#include
|
|
7
|
+
#include "RNSScreenState.h"
|
|
8
8
|
|
|
9
9
|
namespace facebook {
|
|
10
10
|
namespace react {
|
|
@@ -12,10 +12,10 @@ namespace react {
|
|
|
12
12
|
JSI_EXPORT extern const char RNSScreenComponentName[];
|
|
13
13
|
|
|
14
14
|
class JSI_EXPORT RNSScreenShadowNode final : public ConcreteViewShadowNode<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
RNSScreenComponentName,
|
|
16
|
+
RNSScreenProps,
|
|
17
|
+
RNSScreenEventEmitter,
|
|
18
|
+
RNSScreenState> {
|
|
19
19
|
public:
|
|
20
20
|
using ConcreteViewShadowNode::ConcreteViewShadowNode;
|
|
21
21
|
|
|
@@ -6,7 +6,8 @@ namespace react {
|
|
|
6
6
|
#ifdef ANDROID
|
|
7
7
|
folly::dynamic RNSScreenState::getDynamic() const {
|
|
8
8
|
return folly::dynamic::object("frameWidth", frameSize.width)(
|
|
9
|
-
"frameHeight", frameSize.height)("contentOffsetX", contentOffset.x)(
|
|
9
|
+
"frameHeight", frameSize.height)("contentOffsetX", contentOffset.x)(
|
|
10
|
+
"contentOffsetY", contentOffset.y);
|
|
10
11
|
}
|
|
11
12
|
#endif
|
|
12
13
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include <react/renderer/graphics/Float.h>
|
|
4
3
|
#include <react/renderer/core/graphicsConversions.h>
|
|
4
|
+
#include <react/renderer/graphics/Float.h>
|
|
5
5
|
|
|
6
6
|
#ifdef ANDROID
|
|
7
7
|
#include <folly/dynamic.h>
|
|
@@ -17,23 +17,21 @@ class JSI_EXPORT RNSScreenState final {
|
|
|
17
17
|
using Shared = std::shared_ptr<const RNSScreenState>;
|
|
18
18
|
|
|
19
19
|
RNSScreenState(){};
|
|
20
|
-
RNSScreenState(Size frameSize_, Point contentOffset_)
|
|
20
|
+
RNSScreenState(Size frameSize_, Point contentOffset_)
|
|
21
|
+
: frameSize(frameSize_), contentOffset(contentOffset_){};
|
|
21
22
|
|
|
22
23
|
#ifdef ANDROID
|
|
23
|
-
RNSScreenState(
|
|
24
|
-
RNSScreenState const &previousState,
|
|
25
|
-
folly::dynamic data)
|
|
24
|
+
RNSScreenState(RNSScreenState const &previousState, folly::dynamic data)
|
|
26
25
|
: frameSize(Size{
|
|
27
26
|
(Float)data["frameWidth"].getDouble(),
|
|
28
|
-
|
|
27
|
+
(Float)data["frameHeight"].getDouble()}),
|
|
29
28
|
contentOffset(Point{
|
|
30
29
|
(Float)data["contentOffsetX"].getDouble(),
|
|
31
|
-
|
|
32
|
-
{};
|
|
30
|
+
(Float)data["contentOffsetY"].getDouble()}){};
|
|
33
31
|
#endif
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
const Size frameSize{};
|
|
34
|
+
Point contentOffset;
|
|
37
35
|
|
|
38
36
|
#ifdef ANDROID
|
|
39
37
|
folly::dynamic getDynamic() const;
|