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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/utils/useAnimatedHeaderHeight.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,uBAAuB,
|
|
1
|
+
{"version":3,"file":"useAnimatedHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/utils/useAnimatedHeaderHeight.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,uBAAuB,0CAU9C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Route } from '@react-navigation/native';
|
|
3
3
|
import { NativeStackNavigationOptions } from '../types';
|
|
4
|
-
|
|
4
|
+
type Props = NativeStackNavigationOptions & {
|
|
5
5
|
route: Route<string>;
|
|
6
6
|
};
|
|
7
|
-
export default function HeaderConfig({ backButtonImage, backButtonInCustomView, direction, disableBackButtonMenu, headerBackTitle, headerBackTitleStyle, headerBackTitleVisible, headerCenter, headerHideBackButton, headerHideShadow, headerLargeStyle, headerLargeTitle, headerLargeTitleHideShadow, headerLargeTitleStyle, headerLeft, headerRight, headerShown, headerStyle, headerTintColor, headerTitle, headerTitleStyle, headerTopInsetEnabled, headerTranslucent, route, searchBar, title, }: Props): JSX.Element;
|
|
7
|
+
export default function HeaderConfig({ backButtonImage, backButtonInCustomView, direction, disableBackButtonMenu, backButtonDisplayMode, headerBackTitle, headerBackTitleStyle, headerBackTitleVisible, headerCenter, headerHideBackButton, headerHideShadow, headerLargeStyle, headerLargeTitle, headerLargeTitleHideShadow, headerLargeTitleStyle, headerLeft, headerRight, headerShown, headerStyle, headerTintColor, headerTitle, headerTitleStyle, headerTopInsetEnabled, headerTranslucent, route, searchBar, title, }: Props): JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=HeaderConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderConfig.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/HeaderConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAC;AAe3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAKxD,
|
|
1
|
+
{"version":3,"file":"HeaderConfig.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/HeaderConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAC;AAe3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAKxD,KAAK,KAAK,GAAG,4BAA4B,GAAG;IAC1C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,qBAAqB,EACrB,qBAAiC,EACjC,eAAe,EACf,oBAAyB,EACzB,sBAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,gBAAqB,EACrB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAA0B,EAC1B,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAgB,EAChB,eAAe,EACf,WAAW,EACX,gBAAqB,EACrB,qBAA4B,EAC5B,iBAAiB,EACjB,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAqIrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ParamListBase, StackNavigationState } from '@react-navigation/native';
|
|
3
3
|
import { NativeStackDescriptorMap, NativeStackNavigationHelpers } from '../types';
|
|
4
|
-
|
|
4
|
+
type Props = {
|
|
5
5
|
state: StackNavigationState<ParamListBase>;
|
|
6
6
|
navigation: NativeStackNavigationHelpers;
|
|
7
7
|
descriptors: NativeStackDescriptorMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeStackView.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,aAAa,EAEb,oBAAoB,EAKrB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAI7B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeStackView.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,aAAa,EAEb,oBAAoB,EAKrB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAI7B,MAAM,UAAU,CAAC;AAyXlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8DF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,qBAMnD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import Animated from 'react-native-reanimated';
|
|
3
|
-
|
|
3
|
+
type ReanimatedTransitionProgressContextBody = {
|
|
4
4
|
progress: Animated.SharedValue<number>;
|
|
5
5
|
closing: Animated.SharedValue<number>;
|
|
6
6
|
goingForward: Animated.SharedValue<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReanimatedTransitionProgressContext.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedTransitionProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"ReanimatedTransitionProgressContext.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedTransitionProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,KAAK,uCAAuC,GAAG;IAC7C,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC;;AAEF,wBAEa"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Animated, NativeSyntheticEvent, ViewProps, View, TargetedEvent, TextInputFocusEventData, ColorValue } from 'react-native';
|
|
3
3
|
import { NativeStackNavigatorProps } from './native-stack/types';
|
|
4
|
-
export
|
|
4
|
+
export type SearchBarCommands = {
|
|
5
5
|
focus: () => void;
|
|
6
6
|
blur: () => void;
|
|
7
7
|
clearText: () => void;
|
|
@@ -9,29 +9,30 @@ export declare type SearchBarCommands = {
|
|
|
9
9
|
setText: (text: string) => void;
|
|
10
10
|
cancelSearch: () => void;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
12
|
+
export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
|
|
13
|
+
export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet';
|
|
14
|
+
export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios';
|
|
15
|
+
export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
|
|
16
|
+
export type ScreenReplaceTypes = 'push' | 'pop';
|
|
17
|
+
export type SwipeDirectionTypes = 'vertical' | 'horizontal';
|
|
18
|
+
export type ScreenOrientationTypes = 'default' | 'all' | 'portrait' | 'portrait_up' | 'portrait_down' | 'landscape' | 'landscape_left' | 'landscape_right';
|
|
19
|
+
export type HeaderSubviewTypes = 'back' | 'right' | 'left' | 'center' | 'searchBar';
|
|
20
|
+
export type HeaderHeightChangeEventType = {
|
|
20
21
|
headerHeight: number;
|
|
21
22
|
};
|
|
22
|
-
export
|
|
23
|
+
export type TransitionProgressEventType = {
|
|
23
24
|
progress: number;
|
|
24
25
|
closing: number;
|
|
25
26
|
goingForward: number;
|
|
26
27
|
};
|
|
27
|
-
export
|
|
28
|
+
export type GestureResponseDistanceType = {
|
|
28
29
|
start?: number;
|
|
29
30
|
end?: number;
|
|
30
31
|
top?: number;
|
|
31
32
|
bottom?: number;
|
|
32
33
|
};
|
|
33
|
-
export
|
|
34
|
-
export
|
|
34
|
+
export type SheetDetentTypes = 'medium' | 'large' | 'all';
|
|
35
|
+
export type SearchBarPlacement = 'automatic' | 'inline' | 'stacked';
|
|
35
36
|
export interface ScreenProps extends ViewProps {
|
|
36
37
|
active?: 0 | 1 | Animated.AnimatedInterpolation<number>;
|
|
37
38
|
activityState?: 0 | 1 | 2 | Animated.AnimatedInterpolation<number>;
|
|
@@ -105,6 +106,12 @@ export interface ScreenProps extends ViewProps {
|
|
|
105
106
|
* @platform android
|
|
106
107
|
*/
|
|
107
108
|
navigationBarColor?: ColorValue;
|
|
109
|
+
/**
|
|
110
|
+
* Boolean indicating whether the content should be visible behind the navigation bar. Defaults to `false`.
|
|
111
|
+
*
|
|
112
|
+
* @platform android
|
|
113
|
+
*/
|
|
114
|
+
navigationBarTranslucent?: boolean;
|
|
108
115
|
/**
|
|
109
116
|
* Sets the visibility of the navigation bar. Defaults to `false`.
|
|
110
117
|
*
|
|
@@ -388,6 +395,15 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
|
|
|
388
395
|
* @platform ios
|
|
389
396
|
*/
|
|
390
397
|
disableBackButtonMenu?: boolean;
|
|
398
|
+
/**
|
|
399
|
+
* How the back button behaves by default (when not customized). Available on iOS>=14, and is used only when none of: `backTitleFontFamily`, `backTitleFontSize`, `disableBackButtonMenu` or `backTitle` is set.
|
|
400
|
+
* The following values are currently supported (they correspond to https://developer.apple.com/documentation/uikit/uinavigationitembackbuttondisplaymode?language=objc):
|
|
401
|
+
* - "default" – show given back button previous controller title, system generic or just icon based on available space
|
|
402
|
+
* - "generic" – show given system generic or just icon based on available space
|
|
403
|
+
* - "minimal" – show just an icon
|
|
404
|
+
* @platform ios
|
|
405
|
+
*/
|
|
406
|
+
backButtonDisplayMode?: BackButtonDisplayMode;
|
|
391
407
|
/**
|
|
392
408
|
* When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
|
|
393
409
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,uBAAuB,EACvB,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default function useTransitionProgress(): {
|
|
2
|
-
progress: import("react-native
|
|
3
|
-
closing: import("react-native
|
|
4
|
-
goingForward: import("react-native
|
|
2
|
+
progress: import("react-native").Animated.Value;
|
|
3
|
+
closing: import("react-native").Animated.Value;
|
|
4
|
+
goingForward: import("react-native").Animated.Value;
|
|
5
5
|
};
|
|
6
6
|
//# sourceMappingURL=useTransitionProgress.d.ts.map
|
package/native-stack/README.md
CHANGED
|
@@ -79,6 +79,13 @@ String that applies `rtl` or `ltr` form to the stack. On Android, you have to ad
|
|
|
79
79
|
|
|
80
80
|
Boolean indicating whether to show the menu on longPress of iOS >= 14 back button.
|
|
81
81
|
|
|
82
|
+
#### `backButtonDisplayMode` (iOS only)
|
|
83
|
+
|
|
84
|
+
Enum value indicating display mode of **default** back button. It works on iOS >= 14, and is used only when none of: `backTitleFontFamily`, `backTitleFontSize`, `disableBackButtonMenu` or `backTitle` is set. Otherwise, when the button is customized, under the hood we use iOS native `backButtonItem` which overrides `backButtonDisplayMode`. Read more [#2123](https://github.com/software-mansion/react-native-screens/pull/2123). Possible options:
|
|
85
|
+
- `default` – show given back button previous controller title, system generic or just icon based on available space
|
|
86
|
+
- `generic` – show given system generic or just icon based on available space
|
|
87
|
+
- `minimal` – show just an icon
|
|
88
|
+
|
|
82
89
|
#### `fullScreenSwipeEnabled` (iOS only)
|
|
83
90
|
|
|
84
91
|
Boolean indicating whether the swipe gesture should work on whole screen. Swiping with this option results in the same transition animation as `simple_push` by default. It can be changed to other custom animations with `customAnimationOnSwipe` prop, but default iOS swipe animation is not achievable due to usage of custom recognizer. Defaults to `false`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.32.0",
|
|
4
4
|
"description": "Native navigation primitives for your React Native app.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"submodules": "git submodule update --init --recursive && (cd react-navigation && yarn)",
|
|
@@ -10,12 +10,15 @@
|
|
|
10
10
|
"format-js": "prettier --write --list-different './{src,Example}/**/*.{js,ts,tsx}'",
|
|
11
11
|
"format-android": "node ./scripts/format-android.js",
|
|
12
12
|
"format-ios": "find ios/ -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.cpp\" -o -iname \"*.mm\" | xargs clang-format -i",
|
|
13
|
-
"format": "
|
|
13
|
+
"format-common": "find common/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
|
|
14
|
+
"format-cpp": "find cpp/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
|
|
15
|
+
"format-android-cpp": "find android/src/main/cpp -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
|
|
16
|
+
"format": "yarn format-js && yarn format-android && yarn format-ios && yarn format-common && yarn format-cpp && yarn format-android-cpp",
|
|
14
17
|
"lint-js": "eslint --ext '.js,.ts,.tsx' --fix src",
|
|
15
18
|
"lint-android": "./android/gradlew -p android spotlessCheck -q",
|
|
16
19
|
"lint": "yarn lint-js && yarn lint-android",
|
|
17
|
-
"release": "npm login && release-it",
|
|
18
|
-
"
|
|
20
|
+
"release": "yarn prepare && npm login && release-it",
|
|
21
|
+
"prepare": "bob build && husky install"
|
|
19
22
|
},
|
|
20
23
|
"main": "lib/commonjs/index",
|
|
21
24
|
"module": "lib/module/index",
|
|
@@ -78,7 +81,7 @@
|
|
|
78
81
|
"@react-navigation/native": "^5.8.0",
|
|
79
82
|
"@react-navigation/stack": "^5.10.0",
|
|
80
83
|
"@types/jest": "^29.3.1",
|
|
81
|
-
"@types/react": "^18.2.
|
|
84
|
+
"@types/react": "^18.2.72",
|
|
82
85
|
"@types/react-test-renderer": "^18.0.0",
|
|
83
86
|
"@typescript-eslint/eslint-plugin": "^6.5.0",
|
|
84
87
|
"@typescript-eslint/parser": "^6.5.0",
|
|
@@ -109,17 +112,20 @@
|
|
|
109
112
|
"react-native-windows": "^0.64.8",
|
|
110
113
|
"react-test-renderer": "^18.2.0",
|
|
111
114
|
"release-it": "^15.6.0",
|
|
112
|
-
"typescript": "4.
|
|
115
|
+
"typescript": "5.4.3"
|
|
113
116
|
},
|
|
114
117
|
"resolutions": {
|
|
115
118
|
"@react-native-community/cli-platform-android": "^11.3.6",
|
|
116
119
|
"@react-native-community/cli": "^11.3.6",
|
|
117
120
|
"@react-native-community/cli-platform-ios": "^11.3.6",
|
|
118
|
-
"@types/react": "^18.2.
|
|
121
|
+
"@types/react": "^18.2.72"
|
|
119
122
|
},
|
|
120
123
|
"lint-staged": {
|
|
121
124
|
"{src,Example}/**/*.{js,ts,tsx}": "yarn format-js",
|
|
122
125
|
"src/**/*.{js,ts,tsx}": "yarn lint-js",
|
|
126
|
+
"common/**/*.{h,cpp}": "yarn format-common",
|
|
127
|
+
"cpp/**/*.{h,cpp}": "yarn format-cpp",
|
|
128
|
+
"android/src/main/cpp/.{cpp, h}": "yarn format-android-cpp",
|
|
123
129
|
"android/**/*.kt": "yarn format-android",
|
|
124
130
|
"ios/**/*.{h,m,mm,cpp}": "yarn format-ios"
|
|
125
131
|
},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import { Animated, View, Platform } from 'react-native';
|
|
4
3
|
|
|
@@ -17,7 +16,7 @@ import ScreenNativeComponent from '../fabric/ScreenNativeComponent';
|
|
|
17
16
|
import ModalScreenNativeComponent from '../fabric/ModalScreenNativeComponent';
|
|
18
17
|
|
|
19
18
|
export const NativeScreen: React.ComponentType<ScreenProps> =
|
|
20
|
-
ScreenNativeComponent as
|
|
19
|
+
ScreenNativeComponent as React.ComponentType<ScreenProps>;
|
|
21
20
|
const AnimatedNativeScreen = Animated.createAnimatedComponent(NativeScreen);
|
|
22
21
|
const AnimatedNativeModalScreen = Animated.createAnimatedComponent(
|
|
23
22
|
ModalScreenNativeComponent as React.ComponentType<ScreenProps>
|
|
@@ -42,27 +41,25 @@ interface ViewConfig extends View {
|
|
|
42
41
|
};
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
private goingForward = new Animated.Value(0);
|
|
44
|
+
export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
45
|
+
function InnerScreen(props, ref) {
|
|
46
|
+
const innerRef = React.useRef<ViewConfig | null>(null);
|
|
47
|
+
React.useImperativeHandle(ref, () => innerRef.current!, []);
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
const setRef = (ref: ViewConfig) => {
|
|
50
|
+
innerRef.current = ref;
|
|
51
|
+
props.onComponentRef?.(ref);
|
|
52
|
+
};
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
54
|
+
const closing = React.useRef(new Animated.Value(0)).current;
|
|
55
|
+
const progress = React.useRef(new Animated.Value(0)).current;
|
|
56
|
+
const goingForward = React.useRef(new Animated.Value(0)).current;
|
|
59
57
|
|
|
60
|
-
render() {
|
|
61
58
|
const {
|
|
62
59
|
enabled = screensEnabled(),
|
|
63
60
|
freezeOnBlur = freezeEnabled(),
|
|
64
61
|
...rest
|
|
65
|
-
} =
|
|
62
|
+
} = props;
|
|
66
63
|
|
|
67
64
|
// To maintain default behavior of formSheet stack presentation style and to have reasonable
|
|
68
65
|
// defaults for new medium-detent iOS API we need to set defaults here
|
|
@@ -112,13 +109,13 @@ export class InnerScreen extends React.Component<ScreenProps> {
|
|
|
112
109
|
...ref.viewConfig.validAttributes.style,
|
|
113
110
|
display: false,
|
|
114
111
|
};
|
|
115
|
-
|
|
112
|
+
setRef(ref);
|
|
116
113
|
} else if (ref?._viewConfig?.validAttributes?.style) {
|
|
117
114
|
ref._viewConfig.validAttributes.style = {
|
|
118
115
|
...ref._viewConfig.validAttributes.style,
|
|
119
116
|
display: false,
|
|
120
117
|
};
|
|
121
|
-
|
|
118
|
+
setRef(ref);
|
|
122
119
|
}
|
|
123
120
|
};
|
|
124
121
|
|
|
@@ -148,9 +145,9 @@ export class InnerScreen extends React.Component<ScreenProps> {
|
|
|
148
145
|
[
|
|
149
146
|
{
|
|
150
147
|
nativeEvent: {
|
|
151
|
-
progress
|
|
152
|
-
closing
|
|
153
|
-
goingForward
|
|
148
|
+
progress,
|
|
149
|
+
closing,
|
|
150
|
+
goingForward,
|
|
154
151
|
},
|
|
155
152
|
},
|
|
156
153
|
],
|
|
@@ -168,9 +165,9 @@ export class InnerScreen extends React.Component<ScreenProps> {
|
|
|
168
165
|
) : (
|
|
169
166
|
<TransitionProgressContext.Provider
|
|
170
167
|
value={{
|
|
171
|
-
progress
|
|
172
|
-
closing
|
|
173
|
-
goingForward
|
|
168
|
+
progress,
|
|
169
|
+
closing,
|
|
170
|
+
goingForward,
|
|
174
171
|
}}>
|
|
175
172
|
{children}
|
|
176
173
|
</TransitionProgressContext.Provider>
|
|
@@ -195,25 +192,22 @@ export class InnerScreen extends React.Component<ScreenProps> {
|
|
|
195
192
|
return (
|
|
196
193
|
<Animated.View
|
|
197
194
|
style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}
|
|
198
|
-
ref={
|
|
195
|
+
ref={setRef}
|
|
199
196
|
{...props}
|
|
200
197
|
/>
|
|
201
198
|
);
|
|
202
199
|
}
|
|
203
200
|
}
|
|
204
|
-
|
|
201
|
+
);
|
|
205
202
|
|
|
206
203
|
// context to be used when the user wants to use enhanced implementation
|
|
207
204
|
// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
|
|
208
205
|
export const ScreenContext = React.createContext(InnerScreen);
|
|
209
206
|
|
|
210
|
-
|
|
211
|
-
|
|
207
|
+
const Screen: React.FC<ScreenProps> = props => {
|
|
208
|
+
const ScreenWrapper = React.useContext(ScreenContext) || InnerScreen;
|
|
212
209
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return <ScreenWrapper {...this.props} />;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
210
|
+
return <ScreenWrapper {...props} />;
|
|
211
|
+
};
|
|
218
212
|
|
|
219
213
|
export default Screen;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
isSearchBarAvailableForCurrentPlatform,
|
|
4
4
|
SearchBarCommands,
|
|
@@ -9,83 +9,95 @@ import { View } from 'react-native';
|
|
|
9
9
|
// Native components
|
|
10
10
|
import SearchBarNativeComponent, {
|
|
11
11
|
Commands as SearchBarNativeCommands,
|
|
12
|
+
NativeProps as SearchBarNativeProps,
|
|
13
|
+
SearchBarEvent,
|
|
14
|
+
SearchButtonPressedEvent,
|
|
15
|
+
ChangeTextEvent,
|
|
12
16
|
} from '../fabric/SearchBarNativeComponent';
|
|
17
|
+
import { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
13
18
|
|
|
14
|
-
export const NativeSearchBar: React.ComponentType<
|
|
15
|
-
|
|
19
|
+
export const NativeSearchBar: React.ComponentType<
|
|
20
|
+
SearchBarNativeProps & { ref?: React.RefObject<SearchBarCommands> }
|
|
21
|
+
> &
|
|
22
|
+
typeof NativeSearchBarCommands =
|
|
23
|
+
SearchBarNativeComponent as unknown as React.ComponentType<SearchBarNativeProps> &
|
|
24
|
+
SearchBarCommandsType;
|
|
16
25
|
export const NativeSearchBarCommands: SearchBarCommandsType =
|
|
17
|
-
SearchBarNativeCommands as
|
|
26
|
+
SearchBarNativeCommands as SearchBarCommandsType;
|
|
27
|
+
|
|
28
|
+
type NativeSearchBarRef = React.ElementRef<typeof NativeSearchBar>;
|
|
18
29
|
|
|
19
30
|
type SearchBarCommandsType = {
|
|
20
|
-
blur: (viewRef:
|
|
21
|
-
focus: (viewRef:
|
|
22
|
-
clearText: (viewRef:
|
|
23
|
-
toggleCancelButton: (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
) => void;
|
|
27
|
-
setText: (
|
|
28
|
-
viewRef: React.ElementRef<typeof NativeSearchBar>,
|
|
29
|
-
text: string
|
|
30
|
-
) => void;
|
|
31
|
-
cancelSearch: (viewRef: React.ElementRef<typeof NativeSearchBar>) => void;
|
|
31
|
+
blur: (viewRef: NativeSearchBarRef) => void;
|
|
32
|
+
focus: (viewRef: NativeSearchBarRef) => void;
|
|
33
|
+
clearText: (viewRef: NativeSearchBarRef) => void;
|
|
34
|
+
toggleCancelButton: (viewRef: NativeSearchBarRef, flag: boolean) => void;
|
|
35
|
+
setText: (viewRef: NativeSearchBarRef, text: string) => void;
|
|
36
|
+
cancelSearch: (viewRef: NativeSearchBarRef) => void;
|
|
32
37
|
};
|
|
33
38
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
constructor(props: SearchBarProps) {
|
|
38
|
-
super(props);
|
|
39
|
-
this.nativeSearchBarRef = React.createRef();
|
|
40
|
-
}
|
|
39
|
+
function SearchBar(props: SearchBarProps, ref: React.Ref<SearchBarCommands>) {
|
|
40
|
+
const searchBarRef = React.useRef<SearchBarCommands | null>(null);
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
React.useImperativeHandle(ref, () => ({
|
|
43
|
+
blur: () => {
|
|
44
|
+
_callMethodWithRef(ref => NativeSearchBarCommands.blur(ref));
|
|
45
|
+
},
|
|
46
|
+
focus: () => {
|
|
47
|
+
_callMethodWithRef(ref => NativeSearchBarCommands.focus(ref));
|
|
48
|
+
},
|
|
49
|
+
toggleCancelButton: (flag: boolean) => {
|
|
50
|
+
_callMethodWithRef(ref =>
|
|
51
|
+
NativeSearchBarCommands.toggleCancelButton(ref, flag)
|
|
49
52
|
);
|
|
50
|
-
}
|
|
51
|
-
|
|
53
|
+
},
|
|
54
|
+
clearText: () => {
|
|
55
|
+
_callMethodWithRef(ref => NativeSearchBarCommands.clearText(ref));
|
|
56
|
+
},
|
|
57
|
+
setText: (text: string) => {
|
|
58
|
+
_callMethodWithRef(ref => NativeSearchBarCommands.setText(ref, text));
|
|
59
|
+
},
|
|
60
|
+
cancelSearch: () => {
|
|
61
|
+
_callMethodWithRef(ref => NativeSearchBarCommands.cancelSearch(ref));
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
52
64
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
const _callMethodWithRef = React.useCallback(
|
|
66
|
+
(method: (ref: SearchBarCommands) => void) => {
|
|
67
|
+
const ref = searchBarRef.current;
|
|
68
|
+
if (ref) {
|
|
69
|
+
method(ref);
|
|
70
|
+
} else {
|
|
71
|
+
console.warn(
|
|
72
|
+
'Reference to native search bar component has not been updated yet'
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
[searchBarRef]
|
|
77
|
+
);
|
|
60
78
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
79
|
+
if (!isSearchBarAvailableForCurrentPlatform) {
|
|
80
|
+
console.warn(
|
|
81
|
+
'Importing SearchBar is only valid on iOS and Android devices.'
|
|
64
82
|
);
|
|
83
|
+
return View as unknown as React.ReactNode;
|
|
65
84
|
}
|
|
66
85
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
'Importing SearchBar is only valid on iOS and Android devices.'
|
|
83
|
-
);
|
|
84
|
-
return View as any as ReactNode;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return <NativeSearchBar {...this.props} ref={this.nativeSearchBarRef} />;
|
|
88
|
-
}
|
|
86
|
+
return (
|
|
87
|
+
<NativeSearchBar
|
|
88
|
+
ref={searchBarRef}
|
|
89
|
+
{...props}
|
|
90
|
+
onSearchFocus={props.onFocus as DirectEventHandler<SearchBarEvent>}
|
|
91
|
+
onSearchBlur={props.onBlur as DirectEventHandler<SearchBarEvent>}
|
|
92
|
+
onSearchButtonPress={
|
|
93
|
+
props.onSearchButtonPress as DirectEventHandler<SearchButtonPressedEvent>
|
|
94
|
+
}
|
|
95
|
+
onCancelButtonPress={
|
|
96
|
+
props.onCancelButtonPress as DirectEventHandler<SearchBarEvent>
|
|
97
|
+
}
|
|
98
|
+
onChangeText={props.onChangeText as DirectEventHandler<ChangeTextEvent>}
|
|
99
|
+
/>
|
|
100
|
+
);
|
|
89
101
|
}
|
|
90
102
|
|
|
91
|
-
export default SearchBar;
|
|
103
|
+
export default React.forwardRef<SearchBarCommands, SearchBarProps>(SearchBar);
|
|
@@ -95,6 +95,7 @@ export interface NativeProps extends ViewProps {
|
|
|
95
95
|
hideKeyboardOnSwipe?: boolean;
|
|
96
96
|
activityState?: WithDefault<Float, -1.0>;
|
|
97
97
|
navigationBarColor?: ColorValue;
|
|
98
|
+
navigationBarTranslucent?: boolean;
|
|
98
99
|
navigationBarHidden?: boolean;
|
|
99
100
|
nativeBackButtonDismissalEnabled?: boolean;
|
|
100
101
|
}
|
|
@@ -95,6 +95,7 @@ export interface NativeProps extends ViewProps {
|
|
|
95
95
|
hideKeyboardOnSwipe?: boolean;
|
|
96
96
|
activityState?: WithDefault<Float, -1.0>;
|
|
97
97
|
navigationBarColor?: ColorValue;
|
|
98
|
+
navigationBarTranslucent?: boolean;
|
|
98
99
|
navigationBarHidden?: boolean;
|
|
99
100
|
nativeBackButtonDismissalEnabled?: boolean;
|
|
100
101
|
}
|
|
@@ -13,6 +13,8 @@ type OnAttachedEvent = Readonly<{}>;
|
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
14
14
|
type OnDetachedEvent = Readonly<{}>;
|
|
15
15
|
|
|
16
|
+
type BackButtonDisplayMode = 'minimal' | 'default' | 'generic';
|
|
17
|
+
|
|
16
18
|
export interface NativeProps extends ViewProps {
|
|
17
19
|
onAttached?: DirectEventHandler<OnAttachedEvent>;
|
|
18
20
|
onDetached?: DirectEventHandler<OnDetachedEvent>;
|
|
@@ -39,6 +41,7 @@ export interface NativeProps extends ViewProps {
|
|
|
39
41
|
titleFontWeight?: string;
|
|
40
42
|
titleColor?: ColorValue;
|
|
41
43
|
disableBackButtonMenu?: boolean;
|
|
44
|
+
backButtonDisplayMode?: WithDefault<BackButtonDisplayMode, 'default'>;
|
|
42
45
|
hideBackButton?: boolean;
|
|
43
46
|
backButtonInCustomView?: boolean;
|
|
44
47
|
// TODO: implement this props on iOS
|
|
@@ -7,13 +7,13 @@ import type {
|
|
|
7
7
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
8
8
|
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
9
9
|
|
|
10
|
-
type SearchBarEvent = Readonly<{}>;
|
|
10
|
+
export type SearchBarEvent = Readonly<{}>;
|
|
11
11
|
|
|
12
|
-
type SearchButtonPressedEvent = Readonly<{
|
|
12
|
+
export type SearchButtonPressedEvent = Readonly<{
|
|
13
13
|
text?: string;
|
|
14
14
|
}>;
|
|
15
15
|
|
|
16
|
-
type ChangeTextEvent = Readonly<{
|
|
16
|
+
export type ChangeTextEvent = Readonly<{
|
|
17
17
|
text?: string;
|
|
18
18
|
}>;
|
|
19
19
|
|
|
@@ -21,9 +21,9 @@ type SearchBarPlacement = 'automatic' | 'inline' | 'stacked';
|
|
|
21
21
|
|
|
22
22
|
type AutoCapitalizeType = 'none' | 'words' | 'sentences' | 'characters';
|
|
23
23
|
|
|
24
|
-
interface NativeProps extends ViewProps {
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
export interface NativeProps extends ViewProps {
|
|
25
|
+
onSearchFocus?: DirectEventHandler<SearchBarEvent> | null;
|
|
26
|
+
onSearchBlur?: DirectEventHandler<SearchBarEvent> | null;
|
|
27
27
|
onSearchButtonPress?: DirectEventHandler<SearchButtonPressedEvent> | null;
|
|
28
28
|
onCancelButtonPress?: DirectEventHandler<SearchBarEvent> | null;
|
|
29
29
|
onChangeText?: DirectEventHandler<ChangeTextEvent> | null;
|