react-native-screens 5.0.0-alpha.1 → 5.0.0-alpha.2
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 +1 -2
- package/RNScreens.podspec +2 -6
- package/android/build.gradle +26 -1
- package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +5 -0
- package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +2 -2
- package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +22 -6
- package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackFragment.kt +39 -10
- package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenViewManager.kt +5 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetAppearanceCoordinator.kt → native/coordinator/FormSheetAppearanceCoordinator.kt} +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetBehaviorController.kt → native/coordinator/FormSheetBehaviorController.kt} +25 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDimensionsCoordinator.kt → native/coordinator/FormSheetDimensionsCoordinator.kt} +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetNativeDismissCoordinator.kt +50 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContainer.kt → native/core/FormSheetContainer.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialog.kt → native/core/FormSheetDialog.kt} +24 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialogManager.kt → native/core/FormSheetDialogManager.kt} +25 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentSizeChangeDelegate.kt → native/interfaces/FormSheetContentSizeChangeDelegate.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentSizeChangeProvider.kt → native/interfaces/FormSheetContentSizeChangeProvider.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialogEventEmitter.kt → native/interfaces/FormSheetDialogEventEmitter.kt} +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetConfig.kt → native/model/FormSheetConfig.kt} +5 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDetents.kt → native/model/FormSheetDetents.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetAnimatorFactory.kt → native/presentation/FormSheetAnimatorFactory.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetPresentationManager.kt → native/presentation/FormSheetPresentationManager.kt} +3 -12
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetPresentationState.kt → native/presentation/FormSheetPresentationState.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentWrapper.kt → react/contentwrapper/FormSheetContentWrapper.kt} +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentWrapperViewManager.kt → react/contentwrapper/FormSheetContentWrapperViewManager.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDetentChangedEvent.kt → react/event/FormSheetDetentChangedEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDidAppearEvent.kt → react/event/FormSheetDidAppearEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDidDisappearEvent.kt → react/event/FormSheetDidDisappearEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetNativeDismissEvent.kt → react/event/FormSheetNativeDismissEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/event/FormSheetNativeDismissPreventedEvent.kt +29 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetSyncFlushEvent.kt → react/event/FormSheetSyncFlushEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetWillAppearEvent.kt → react/event/FormSheetWillAppearEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetWillDisappearEvent.kt → react/event/FormSheetWillDisappearEvent.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentView.kt → react/host/FormSheetContentView.kt} +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHost.kt → react/host/FormSheetHost.kt} +6 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHostEventEmitter.kt → react/host/FormSheetHostEventEmitter.kt} +16 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHostViewManager.kt → react/host/FormSheetHostViewManager.kt} +11 -2
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +30 -418
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +36 -113
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderFrameSynchronizer.kt +63 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderAppBarLayout.kt → appbar/StackHeaderAppBarLayout.kt} +1 -6
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderAppBarLayoutBehavior.kt → appbar/StackHeaderAppBarLayoutBehavior.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderScrollingViewBehavior.kt → appbar/StackHeaderScrollingViewBehavior.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +28 -6
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigViewManager.kt +8 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuApplicator.kt +448 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuMapper.kt +17 -3
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuSelectionController.kt +83 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuConfig.kt → model/StackHeaderToolbarMenuConfig.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuElementConfig.kt → model/StackHeaderToolbarMenuElementConfig.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuGroupConfig.kt → model/StackHeaderToolbarMenuGroupConfig.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuGroupMetadata.kt → model/StackHeaderToolbarMenuGroupMetadata.kt} +5 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemConfig.kt → model/StackHeaderToolbarMenuItemConfig.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemDefaults.kt → model/StackHeaderToolbarMenuItemDefaults.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemIconSource.kt → model/StackHeaderToolbarMenuItemIconSource.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemShowAsAction.kt → model/StackHeaderToolbarMenuItemShowAsAction.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemType.kt → model/StackHeaderToolbarMenuItemType.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarFieldUpdate.kt → update/StackHeaderToolbarFieldUpdate.kt} +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuElementOptions.kt → update/StackHeaderToolbarMenuElementOptions.kt} +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementRawUpdate.kt +13 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementUpdate.kt +10 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuIconResolver.kt +17 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuUpdateQueue.kt → update/StackHeaderToolbarMenuUpdateQueue.kt} +1 -43
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuUpdateQueueDelegate.kt +9 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreen.kt +1 -0
- package/common/cpp/react/renderer/components/rnscreens/legacy/RNSScreenShadowNode.cpp +10 -5
- package/ios/RNSEnums.h +0 -2
- package/ios/RNSOrientationProviding.h +0 -2
- package/ios/RNSReactMountingTransactionObserving.h +15 -0
- package/ios/legacy/RNSBarButtonItem.mm +12 -5
- package/ios/legacy/RNSScreen.h +8 -1
- package/ios/legacy/RNSScreen.mm +39 -17
- package/ios/legacy/RNSScreenContentWrapper.mm +9 -0
- package/ios/legacy/RNSScreenFooter.mm +2 -0
- package/ios/legacy/RNSScreenStack.mm +9 -4
- package/ios/modals/form-sheet/RNSFormSheetContentWrapperComponentView.mm +9 -0
- package/ios/scroll-to-top-guard/RNSScrollToTopGuard.h +17 -0
- package/ios/scroll-to-top-guard/RNSScrollToTopGuard.mm +57 -0
- package/ios/scroll-to-top-guard/RNSScrollToTopGuardGestureRecognizer.h +28 -0
- package/ios/scroll-to-top-guard/RNSScrollToTopGuardGestureRecognizer.mm +64 -0
- package/ios/split/RNSSplitAppearanceApplicator.h +36 -0
- package/ios/split/RNSSplitAppearanceApplicator.mm +185 -0
- package/ios/split/RNSSplitAppearanceCoordinator.h +26 -0
- package/ios/split/RNSSplitAppearanceCoordinator.mm +27 -0
- package/ios/split/RNSSplitAppearanceUpdateFlags.h +14 -0
- package/ios/split/RNSSplitHostComponentView.mm +1 -1
- package/ios/split/RNSSplitHostController.h +86 -0
- package/ios/split/RNSSplitHostController.mm +560 -0
- package/ios/split/RNSSplitNavigationController.h +31 -0
- package/ios/split/RNSSplitNavigationController.mm +44 -0
- package/ios/split/RNSSplitNavigationControllerFrameObserver.h +32 -0
- package/ios/split/RNSSplitNavigationControllerFrameObserver.mm +80 -0
- package/ios/split/RNSSplitNavigationControllerFrameOriginChangeDelegate.h +15 -0
- package/ios/split/RNSSplitScreenComponentView.mm +8 -9
- package/ios/split/RNSSplitScreenController.h +45 -0
- package/ios/split/RNSSplitScreenController.mm +130 -0
- package/ios/stack/header/RNSStackHeaderConfigComponentView.h +1 -0
- package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +47 -9
- package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +3 -0
- package/ios/stack/header/RNSStackHeaderMenuCoordinator.h +9 -0
- package/ios/stack/header/RNSStackHeaderMenuCoordinator.mm +15 -0
- package/ios/stack/header/RNSStackHeaderMenuFinder.h +18 -3
- package/ios/stack/header/RNSStackHeaderMenuFinder.mm +21 -3
- package/ios/stack/host/RNSStackHostComponentView.mm +3 -1
- package/ios/stack/host/RNSStackNavigationController.mm +1 -1
- package/ios/stack/screen/RNSStackScreenComponentView.mm +0 -2
- package/ios/stack/screen/RNSStackScreenHeaderCoordinator.h +6 -1
- package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +61 -12
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +3 -0
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +4 -1
- package/ios/tabs/host/RNSTabBarController.h +5 -12
- package/ios/tabs/host/RNSTabBarController.mm +1 -1
- package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.ios.js +25 -0
- package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.ios.js.map +1 -0
- package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.js +24 -0
- package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.js.map +1 -0
- package/lib/commonjs/components/scroll-to-top-guard/index.js +13 -0
- package/lib/commonjs/components/scroll-to-top-guard/index.js.map +1 -0
- package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +11 -12
- package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
- package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js +1 -22
- package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
- package/lib/commonjs/components/stack/header/ios/iconUtils.ios.js +33 -2
- package/lib/commonjs/components/stack/header/ios/iconUtils.ios.js.map +1 -1
- package/lib/commonjs/components/stack/header/utils.js +6 -9
- package/lib/commonjs/components/stack/header/utils.js.map +1 -1
- package/lib/commonjs/experimental/index.js +11 -0
- package/lib/commonjs/experimental/index.js.map +1 -1
- package/lib/commonjs/fabric/ScrollViewMarkerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ModalScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenFooterNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/legacy/SearchBarNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/modals/form-sheet/FormSheetHostNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js +12 -0
- package/lib/commonjs/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/split/SplitHostNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/split/SplitScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHostNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsBottomAccessoryContentNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/flags.js +22 -1
- package/lib/commonjs/flags.js.map +1 -1
- package/lib/commonjs/legacy/components/Screen.js +6 -1
- package/lib/commonjs/legacy/components/Screen.js.map +1 -1
- package/lib/commonjs/legacy/components/ScreenStackHeaderConfig.js +5 -0
- package/lib/commonjs/legacy/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/commonjs/legacy/components/ScreenStackItem.js.map +1 -1
- package/lib/commonjs/legacy/components/SearchBar.js +16 -16
- package/lib/commonjs/legacy/components/SearchBar.js.map +1 -1
- package/lib/commonjs/legacy/components/helpers/prepareHeaderBarButtonItems.js +3 -0
- package/lib/commonjs/legacy/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
- package/lib/commonjs/legacy/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/commonjs/legacy/useTransitionProgress.js.map +1 -1
- package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.ios.js +20 -0
- package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.ios.js.map +1 -0
- package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.js +18 -0
- package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.js.map +1 -0
- package/lib/module/components/scroll-to-top-guard/index.js +2 -0
- package/lib/module/components/scroll-to-top-guard/index.js.map +1 -0
- package/lib/module/components/stack/header/StackHeaderConfig.ios.js +14 -15
- package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
- package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js +1 -22
- package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
- package/lib/module/components/stack/header/ios/iconUtils.ios.js +31 -2
- package/lib/module/components/stack/header/ios/iconUtils.ios.js.map +1 -1
- package/lib/module/components/stack/header/utils.js +5 -8
- package/lib/module/components/stack/header/utils.js.map +1 -1
- package/lib/module/experimental/index.js +1 -0
- package/lib/module/experimental/index.js.map +1 -1
- package/lib/module/fabric/ScrollViewMarkerNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ModalScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenFooterNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
- package/lib/module/fabric/legacy/SearchBarNativeComponent.js.map +1 -1
- package/lib/module/fabric/modals/form-sheet/FormSheetHostNativeComponent.js.map +1 -1
- package/lib/module/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
- package/lib/module/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js +7 -0
- package/lib/module/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js.map +1 -0
- package/lib/module/fabric/split/SplitHostNativeComponent.js.map +1 -1
- package/lib/module/fabric/split/SplitScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHostNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsBottomAccessoryContentNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
- package/lib/module/flags.js +22 -1
- package/lib/module/flags.js.map +1 -1
- package/lib/module/legacy/components/Screen.js +6 -1
- package/lib/module/legacy/components/Screen.js.map +1 -1
- package/lib/module/legacy/components/ScreenStackHeaderConfig.js +5 -0
- package/lib/module/legacy/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/module/legacy/components/ScreenStackItem.js.map +1 -1
- package/lib/module/legacy/components/SearchBar.js +17 -17
- package/lib/module/legacy/components/SearchBar.js.map +1 -1
- package/lib/module/legacy/components/helpers/prepareHeaderBarButtonItems.js +4 -0
- package/lib/module/legacy/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
- package/lib/module/legacy/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/module/legacy/useTransitionProgress.js.map +1 -1
- package/lib/module/private/hooks/useRenderDebugInfo.js.map +1 -1
- package/lib/typescript/components/modals/form-sheet/FormSheet.types.d.ts +2 -2
- package/lib/typescript/components/safe-area/SafeAreaView.web.d.ts +5 -2
- package/lib/typescript/components/safe-area/SafeAreaView.web.d.ts.map +1 -1
- package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.d.ts +15 -0
- package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.d.ts.map +1 -0
- package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.ios.d.ts +12 -0
- package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.ios.d.ts.map +1 -0
- package/lib/typescript/components/scroll-to-top-guard/index.d.ts +2 -0
- package/lib/typescript/components/scroll-to-top-guard/index.d.ts.map +1 -0
- package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +24 -0
- package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +13 -0
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts +5 -2
- package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/ios/iconUtils.ios.d.ts +3 -0
- package/lib/typescript/components/stack/header/ios/iconUtils.ios.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/utils.d.ts +1 -2
- package/lib/typescript/components/stack/header/utils.d.ts.map +1 -1
- package/lib/typescript/components/stack/host/StackHost.types.d.ts +2 -2
- package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/host/StackHost.web.d.ts +6 -2
- package/lib/typescript/components/stack/host/StackHost.web.d.ts.map +1 -1
- package/lib/typescript/components/stack/screen/StackScreen.web.d.ts +5 -2
- package/lib/typescript/components/stack/screen/StackScreen.web.d.ts.map +1 -1
- package/lib/typescript/components/tabs/host/TabsHost.web.d.ts +5 -2
- package/lib/typescript/components/tabs/host/TabsHost.web.d.ts.map +1 -1
- package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts +7 -3
- package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts.map +1 -1
- package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts +5 -2
- package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts.map +1 -1
- package/lib/typescript/experimental/index.d.ts +1 -0
- package/lib/typescript/experimental/index.d.ts.map +1 -1
- package/lib/typescript/fabric/NativeScreensModule.d.ts +1 -1
- package/lib/typescript/fabric/ScrollViewMarkerNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/ScrollViewMarkerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/FullWindowOverlayNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/FullWindowOverlayNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ModalScreenNativeComponent.d.ts +3 -2
- package/lib/typescript/fabric/legacy/ModalScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenContainerNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenContainerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenContentWrapperNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenContentWrapperNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenFooterNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenFooterNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenNativeComponent.d.ts +3 -2
- package/lib/typescript/fabric/legacy/ScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenNavigationContainerNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenNavigationContainerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenStackHeaderConfigNativeComponent.d.ts +3 -3
- package/lib/typescript/fabric/legacy/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/legacy/SearchBarNativeComponent.d.ts +6 -6
- package/lib/typescript/fabric/legacy/SearchBarNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/modals/form-sheet/FormSheetHostNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/modals/form-sheet/FormSheetHostNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.d.ts +6 -0
- package/lib/typescript/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/split/SplitHostNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/split/SplitHostNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/split/SplitScreenNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/split/SplitScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts +1 -0
- package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +2 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderSubviewAndroidNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/stack/StackHeaderSubviewAndroidNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackScreenNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/stack/StackScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsBottomAccessoryContentNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsBottomAccessoryContentNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/flags.d.ts +13 -0
- package/lib/typescript/flags.d.ts.map +1 -1
- package/lib/typescript/legacy/TransitionProgressContext.d.ts +1 -1
- package/lib/typescript/legacy/TransitionProgressContext.d.ts.map +1 -1
- package/lib/typescript/legacy/components/Screen.d.ts +5 -3
- package/lib/typescript/legacy/components/Screen.d.ts.map +1 -1
- package/lib/typescript/legacy/components/Screen.web.d.ts +10 -2
- package/lib/typescript/legacy/components/Screen.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenContainer.web.d.ts +5 -2
- package/lib/typescript/legacy/components/ScreenContainer.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenContentWrapper.web.d.ts +5 -2
- package/lib/typescript/legacy/components/ScreenContentWrapper.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenContentWrapper.windows.d.ts +5 -2
- package/lib/typescript/legacy/components/ScreenContentWrapper.windows.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenFooter.web.d.ts +10 -3
- package/lib/typescript/legacy/components/ScreenFooter.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenFooter.windows.d.ts +10 -3
- package/lib/typescript/legacy/components/ScreenFooter.windows.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenStack.web.d.ts +5 -2
- package/lib/typescript/legacy/components/ScreenStack.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenStackHeaderConfig.d.ts +3 -1
- package/lib/typescript/legacy/components/ScreenStackHeaderConfig.d.ts.map +1 -1
- package/lib/typescript/legacy/components/ScreenStackItem.d.ts +3 -2
- package/lib/typescript/legacy/components/ScreenStackItem.d.ts.map +1 -1
- package/lib/typescript/legacy/components/SearchBar.d.ts +3 -3
- package/lib/typescript/legacy/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/legacy/components/SearchBar.web.d.ts +5 -2
- package/lib/typescript/legacy/components/SearchBar.web.d.ts.map +1 -1
- package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts +15 -12
- package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts.map +1 -1
- package/lib/typescript/legacy/gesture-handler/fabricUtils.d.ts +3 -2
- package/lib/typescript/legacy/gesture-handler/fabricUtils.d.ts.map +1 -1
- package/lib/typescript/legacy/types.d.ts +25 -5
- package/lib/typescript/legacy/types.d.ts.map +1 -1
- package/lib/typescript/legacy/useTransitionProgress.d.ts +2 -5
- package/lib/typescript/legacy/useTransitionProgress.d.ts.map +1 -1
- package/lib/typescript/private/hooks/useRenderDebugInfo.d.ts +2 -2
- package/lib/typescript/private/hooks/useRenderDebugInfo.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/components/modals/form-sheet/FormSheet.types.ts +2 -2
- package/src/components/scroll-to-top-guard/ScrollToTopGuard.ios.tsx +17 -0
- package/src/components/scroll-to-top-guard/ScrollToTopGuard.tsx +18 -0
- package/src/components/scroll-to-top-guard/index.ts +1 -0
- package/src/components/stack/header/StackHeaderConfig.android.types.ts +24 -0
- package/src/components/stack/header/StackHeaderConfig.ios.tsx +32 -22
- package/src/components/stack/header/StackHeaderConfig.ios.types.ts +13 -0
- package/src/components/stack/header/ios/StackHeaderItem.ios.tsx +1 -23
- package/src/components/stack/header/ios/iconUtils.ios.ts +38 -2
- package/src/components/stack/header/utils.ts +6 -11
- package/src/components/stack/host/StackHost.types.ts +2 -4
- package/src/components/tabs/screen/TabsScreen.types.ts +7 -3
- package/src/experimental/index.ts +1 -0
- package/src/fabric/ScrollViewMarkerNativeComponent.ts +8 -2
- package/src/fabric/legacy/FullWindowOverlayNativeComponent.ts +6 -2
- package/src/fabric/legacy/ModalScreenNativeComponent.ts +8 -2
- package/src/fabric/legacy/ScreenContainerNativeComponent.ts +5 -2
- package/src/fabric/legacy/ScreenContentWrapperNativeComponent.ts +2 -2
- package/src/fabric/legacy/ScreenFooterNativeComponent.ts +5 -2
- package/src/fabric/legacy/ScreenNativeComponent.ts +8 -2
- package/src/fabric/legacy/ScreenNavigationContainerNativeComponent.ts +2 -2
- package/src/fabric/legacy/ScreenStackHeaderConfigNativeComponent.ts +8 -3
- package/src/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.ts +6 -2
- package/src/fabric/legacy/ScreenStackNativeComponent.ts +10 -2
- package/src/fabric/legacy/SearchBarNativeComponent.ts +10 -7
- package/src/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.ts +2 -2
- package/src/fabric/modals/form-sheet/FormSheetHostNativeComponent.ts +7 -2
- package/src/fabric/safe-area/SafeAreaViewNativeComponent.ts +6 -2
- package/src/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.ts +10 -0
- package/src/fabric/split/SplitHostNativeComponent.ts +5 -2
- package/src/fabric/split/SplitScreenNativeComponent.ts +6 -2
- package/src/fabric/stack/StackHeaderConfigAndroidNativeComponent.ts +3 -1
- package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +7 -2
- package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +2 -1
- package/src/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.ts +6 -2
- package/src/fabric/stack/StackHeaderSubviewAndroidNativeComponent.ts +6 -2
- package/src/fabric/stack/StackHostNativeComponent.ts +5 -2
- package/src/fabric/stack/StackScreenNativeComponent.ts +6 -2
- package/src/fabric/tabs/TabsBottomAccessoryContentNativeComponent.ts +6 -2
- package/src/fabric/tabs/TabsBottomAccessoryNativeComponent.ts +6 -2
- package/src/fabric/tabs/TabsHostAndroidNativeComponent.ts +7 -2
- package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +7 -2
- package/src/fabric/tabs/TabsScreenAndroidNativeComponent.ts +2 -1
- package/src/fabric/tabs/TabsScreenIOSNativeComponent.ts +2 -1
- package/src/flags.ts +26 -0
- package/src/legacy/TransitionProgressContext.tsx +1 -1
- package/src/legacy/components/Screen.tsx +14 -6
- package/src/legacy/components/ScreenStackHeaderConfig.tsx +7 -1
- package/src/legacy/components/ScreenStackItem.tsx +3 -4
- package/src/legacy/components/SearchBar.tsx +34 -44
- package/src/legacy/components/helpers/prepareHeaderBarButtonItems.ts +7 -1
- package/src/legacy/gesture-handler/fabricUtils.ts +5 -2
- package/src/legacy/types.ts +28 -5
- package/src/legacy/useTransitionProgress.tsx +4 -2
- package/src/private/hooks/useRenderDebugInfo.tsx +2 -2
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/FormSheetNativeDismissCoordinator.kt +0 -25
- package/ios/ReactMountingTransactionObserving.swift +0 -7
- package/ios/bridging/Swift-Bridging.h +0 -7
- package/ios/orientation/RNSOrientationProviding.swift +0 -6
- package/ios/orientation/RNSOrientationSwift.swift +0 -14
- package/ios/split/RNSSplitAppearanceApplicator.swift +0 -199
- package/ios/split/RNSSplitAppearanceCoordinator.swift +0 -26
- package/ios/split/RNSSplitAppearanceUpdateFlags.swift +0 -11
- package/ios/split/RNSSplitHostController.swift +0 -570
- package/ios/split/RNSSplitNavigationController.swift +0 -46
- package/ios/split/RNSSplitScreenController.swift +0 -133
- package/ios/utils/RNSLog.swift +0 -6
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { codegenNativeComponent } from 'react-native';
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
CodegenTypes as CT,
|
|
6
|
+
ColorValue,
|
|
7
|
+
HostComponent,
|
|
8
|
+
ViewProps,
|
|
9
|
+
} from 'react-native';
|
|
5
10
|
|
|
6
11
|
// #region General helpers
|
|
7
12
|
|
|
@@ -66,4 +71,4 @@ export interface NativeProps extends ViewProps {
|
|
|
66
71
|
export default codegenNativeComponent<NativeProps>('RNSTabsHostAndroid', {
|
|
67
72
|
interfaceOnly: true,
|
|
68
73
|
excludedPlatforms: ['iOS'],
|
|
69
|
-
})
|
|
74
|
+
}) as HostComponent<NativeProps>;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { codegenNativeComponent } from 'react-native';
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
CodegenTypes as CT,
|
|
6
|
+
ColorValue,
|
|
7
|
+
HostComponent,
|
|
8
|
+
ViewProps,
|
|
9
|
+
} from 'react-native';
|
|
5
10
|
|
|
6
11
|
// #region General helpers
|
|
7
12
|
|
|
@@ -89,4 +94,4 @@ export interface NativeProps extends ViewProps {
|
|
|
89
94
|
export default codegenNativeComponent<NativeProps>('RNSTabsHostIOS', {
|
|
90
95
|
interfaceOnly: true,
|
|
91
96
|
excludedPlatforms: ['android'],
|
|
92
|
-
})
|
|
97
|
+
}) as HostComponent<NativeProps>;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { codegenNativeComponent } from 'react-native';
|
|
4
4
|
import type {
|
|
5
5
|
CodegenTypes as CT,
|
|
6
|
+
HostComponent,
|
|
6
7
|
ImageSource,
|
|
7
8
|
ProcessedColorValue,
|
|
8
9
|
ViewProps,
|
|
@@ -109,4 +110,4 @@ export interface NativeProps extends ViewProps {
|
|
|
109
110
|
|
|
110
111
|
export default codegenNativeComponent<NativeProps>('RNSTabsScreenAndroid', {
|
|
111
112
|
excludedPlatforms: ['iOS'],
|
|
112
|
-
})
|
|
113
|
+
}) as HostComponent<NativeProps>;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { codegenNativeComponent } from 'react-native';
|
|
4
4
|
import type {
|
|
5
5
|
CodegenTypes as CT,
|
|
6
|
+
HostComponent,
|
|
6
7
|
ImageSource,
|
|
7
8
|
ProcessedColorValue,
|
|
8
9
|
ViewProps,
|
|
@@ -168,4 +169,4 @@ export interface NativeProps extends ViewProps {
|
|
|
168
169
|
|
|
169
170
|
export default codegenNativeComponent<NativeProps>('RNSTabsScreenIOS', {
|
|
170
171
|
excludedPlatforms: ['android'],
|
|
171
|
-
})
|
|
172
|
+
}) as HostComponent<NativeProps>;
|
package/src/flags.ts
CHANGED
|
@@ -4,6 +4,7 @@ const RNS_SYNCHRONOUS_HEADER_SUBVIEW_STATE_UPDATES_DEFAULT = true;
|
|
|
4
4
|
const RNS_ANDROID_LEGACY_TOP_INSET_BEHAVIOR_DEFAULT = false;
|
|
5
5
|
const RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT =
|
|
6
6
|
true;
|
|
7
|
+
const RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT = true;
|
|
7
8
|
const RNS_DEBUG_LOGGING = false;
|
|
8
9
|
|
|
9
10
|
// TODO: Migrate freeze here
|
|
@@ -80,6 +81,8 @@ const _featureFlags = {
|
|
|
80
81
|
RNS_ANDROID_LEGACY_TOP_INSET_BEHAVIOR_DEFAULT,
|
|
81
82
|
androidResetScreenShadowStateOnOrientationChangeEnabled:
|
|
82
83
|
RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT,
|
|
84
|
+
iosOrientationInheritanceFixEnabled:
|
|
85
|
+
RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT,
|
|
83
86
|
},
|
|
84
87
|
stable: {
|
|
85
88
|
debugLogging: RNS_DEBUG_LOGGING,
|
|
@@ -157,6 +160,11 @@ const androidResetScreenShadowStateOnOrientationChangeAccessor =
|
|
|
157
160
|
'androidResetScreenShadowStateOnOrientationChangeEnabled',
|
|
158
161
|
RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT,
|
|
159
162
|
);
|
|
163
|
+
const iosOrientationInheritanceFixAccessor =
|
|
164
|
+
createExperimentalFeatureFlagAccessor(
|
|
165
|
+
'iosOrientationInheritanceFixEnabled',
|
|
166
|
+
RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT,
|
|
167
|
+
);
|
|
160
168
|
const rnsDebugLoggingAccessor = createStableFeatureFlagAccessor(
|
|
161
169
|
'debugLogging',
|
|
162
170
|
RNS_DEBUG_LOGGING,
|
|
@@ -204,6 +212,24 @@ export const featureFlags = {
|
|
|
204
212
|
) {
|
|
205
213
|
androidResetScreenShadowStateOnOrientationChangeAccessor.set(value);
|
|
206
214
|
},
|
|
215
|
+
/**
|
|
216
|
+
* Fixes legacy (Stack v4) screen orientation evaluation on iOS. On by default.
|
|
217
|
+
*
|
|
218
|
+
* Before this fix, a legacy `Screen` without an explicit `screenOrientation`
|
|
219
|
+
* always reported `allButUpsideDown` (iPhone) / `all` (iPad), which overrode
|
|
220
|
+
* the orientation set by an ancestor screen (e.g. a portrait-locked stack
|
|
221
|
+
* hosting bottom tabs). With the fix enabled, such a screen defers to its
|
|
222
|
+
* parent screen / the app's `Info.plist` supported orientations instead.
|
|
223
|
+
*
|
|
224
|
+
* PR: https://github.com/software-mansion/react-native-screens/pull/4408
|
|
225
|
+
* @platform ios
|
|
226
|
+
*/
|
|
227
|
+
get iosOrientationInheritanceFixEnabled() {
|
|
228
|
+
return iosOrientationInheritanceFixAccessor.get();
|
|
229
|
+
},
|
|
230
|
+
set iosOrientationInheritanceFixEnabled(value: boolean) {
|
|
231
|
+
iosOrientationInheritanceFixAccessor.set(value);
|
|
232
|
+
},
|
|
207
233
|
/**
|
|
208
234
|
* Enables the fix for native / JS state desynchronization in Stack. On by default.
|
|
209
235
|
* PR: https://github.com/software-mansion/react-native-screens/pull/3584
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { Animated,
|
|
4
|
+
import { Animated, Platform, View } from 'react-native';
|
|
5
5
|
|
|
6
6
|
import TransitionProgressContext from '../TransitionProgressContext';
|
|
7
7
|
import DelayedFreeze from './helpers/DelayedFreeze';
|
|
@@ -41,7 +41,7 @@ const AnimatedNativeModalScreen = Animated.createAnimatedComponent(
|
|
|
41
41
|
|
|
42
42
|
// Incomplete type, all accessible properties available at:
|
|
43
43
|
// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
|
|
44
|
-
interface ViewConfig extends View {
|
|
44
|
+
interface ViewConfig extends React.ComponentRef<typeof View> {
|
|
45
45
|
viewConfig: {
|
|
46
46
|
validAttributes: {
|
|
47
47
|
style: {
|
|
@@ -65,13 +65,18 @@ interface ViewConfig extends View {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
// Nominal instance type for screen refs. `React.ComponentRef<typeof View>`
|
|
69
|
+
// declaration emit resolves down to the non-public `ReactNativeElement` class.
|
|
70
|
+
// An interface stops that resolution at a name this package can emit.
|
|
71
|
+
export interface ScreenInstance extends React.ComponentRef<typeof View> {}
|
|
72
|
+
|
|
73
|
+
export const InnerScreen = React.forwardRef<ScreenInstance, ScreenProps>(
|
|
69
74
|
function InnerScreen(props, ref) {
|
|
70
75
|
const innerRef = React.useRef<ViewConfig | null>(null);
|
|
71
76
|
React.useImperativeHandle(ref, () => innerRef.current!, []);
|
|
72
77
|
const prevActivityState = usePrevious(props.activityState);
|
|
73
78
|
|
|
74
|
-
const setRef = (ref: ViewConfig) => {
|
|
79
|
+
const setRef = (ref: ViewConfig | null) => {
|
|
75
80
|
innerRef.current = ref;
|
|
76
81
|
props.onComponentRef?.(ref);
|
|
77
82
|
};
|
|
@@ -175,7 +180,7 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
182
|
|
|
178
|
-
const handleRef = (ref: ViewConfig) => {
|
|
183
|
+
const handleRef = (ref: ViewConfig | null) => {
|
|
179
184
|
// Workaround is necessary to prevent React Native from hiding frozen screens.
|
|
180
185
|
// See this PR: https://github.com/grahammendick/navigation/pull/860
|
|
181
186
|
if (ref?.viewConfig?.validAttributes?.style) {
|
|
@@ -277,6 +282,9 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
277
282
|
androidResetScreenShadowStateOnOrientationChangeEnabled={
|
|
278
283
|
featureFlags.experiment
|
|
279
284
|
.androidResetScreenShadowStateOnOrientationChangeEnabled
|
|
285
|
+
}
|
|
286
|
+
iosOrientationInheritanceFixEnabled={
|
|
287
|
+
featureFlags.experiment.iosOrientationInheritanceFixEnabled
|
|
280
288
|
}>
|
|
281
289
|
{!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed
|
|
282
290
|
children
|
|
@@ -322,7 +330,7 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
322
330
|
// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
|
|
323
331
|
export const ScreenContext = React.createContext(InnerScreen);
|
|
324
332
|
|
|
325
|
-
const Screen = React.forwardRef<
|
|
333
|
+
const Screen = React.forwardRef<ScreenInstance, ScreenProps>((props, ref) => {
|
|
326
334
|
const ScreenWrapper = React.useContext(ScreenContext) || InnerScreen;
|
|
327
335
|
|
|
328
336
|
return <ScreenWrapper {...props} ref={ref} />;
|
|
@@ -30,8 +30,14 @@ import { useEdgeInsetApplication } from './contexts/EdgeInsetApplicationContext'
|
|
|
30
30
|
export const ScreenStackHeaderSubview: React.ComponentType<ScreenStackHeaderSubviewNativeProps> =
|
|
31
31
|
ScreenStackHeaderSubviewNativeComponent;
|
|
32
32
|
|
|
33
|
+
// Nominal instance type for header config refs. `React.ComponentRef<typeof View>`
|
|
34
|
+
// declaration emit resolves down to the non-public `ReactNativeElement` class.
|
|
35
|
+
// An interface stops that resolution at a name this package can emit.
|
|
36
|
+
export interface ScreenStackHeaderConfigInstance
|
|
37
|
+
extends React.ComponentRef<typeof View> {}
|
|
38
|
+
|
|
33
39
|
export const ScreenStackHeaderConfig = React.forwardRef<
|
|
34
|
-
|
|
40
|
+
ScreenStackHeaderConfigInstance,
|
|
35
41
|
ScreenStackHeaderConfigProps
|
|
36
42
|
>((props, ref) => {
|
|
37
43
|
const {
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
type StyleProp,
|
|
5
5
|
StyleSheet,
|
|
6
6
|
type ViewStyle,
|
|
7
|
-
View,
|
|
8
7
|
} from 'react-native';
|
|
9
8
|
import warnOnce from 'warn-once';
|
|
10
9
|
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
StackPresentationTypes,
|
|
16
15
|
} from '../types';
|
|
17
16
|
import { ScreenStackHeaderConfig } from './ScreenStackHeaderConfig';
|
|
18
|
-
import Screen from './Screen';
|
|
17
|
+
import Screen, { type ScreenInstance } from './Screen';
|
|
19
18
|
import ScreenStack from './ScreenStack';
|
|
20
19
|
import { RNSScreensRefContext } from '../contexts';
|
|
21
20
|
import { FooterComponent } from './ScreenFooter';
|
|
@@ -54,7 +53,7 @@ function ScreenStackItem(
|
|
|
54
53
|
unstable_sheetFooter,
|
|
55
54
|
...rest
|
|
56
55
|
}: Props,
|
|
57
|
-
ref: React.ForwardedRef<
|
|
56
|
+
ref: React.ForwardedRef<ScreenInstance>,
|
|
58
57
|
) {
|
|
59
58
|
const headerVisible = !headerConfig?.hidden;
|
|
60
59
|
const { nextContextValue: nextEdgeContextValue } = useEdgeInsetApplication(
|
|
@@ -65,7 +64,7 @@ function ScreenStackItem(
|
|
|
65
64
|
headerConfig?.disableBottomInsetApplication ?? false,
|
|
66
65
|
);
|
|
67
66
|
|
|
68
|
-
const currentScreenRef = React.useRef<
|
|
67
|
+
const currentScreenRef = React.useRef<ScreenInstance | null>(null);
|
|
69
68
|
const screenRefs = React.useContext(RNSScreensRefContext);
|
|
70
69
|
|
|
71
70
|
React.useImperativeHandle(ref, () => currentScreenRef.current!);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { SearchBarProps } from '../types';
|
|
5
5
|
import {
|
|
6
6
|
parseBooleanToOptionalBooleanNativeProp,
|
|
7
7
|
isSearchBarAvailableForCurrentPlatform,
|
|
@@ -10,70 +10,58 @@ import { View } from 'react-native';
|
|
|
10
10
|
|
|
11
11
|
// Native components
|
|
12
12
|
import SearchBarNativeComponent, {
|
|
13
|
-
Commands as
|
|
14
|
-
NativeProps as SearchBarNativeProps,
|
|
13
|
+
Commands as NativeSearchBarCommands,
|
|
15
14
|
SearchBarEvent,
|
|
16
15
|
SearchButtonPressedEvent,
|
|
17
16
|
ChangeTextEvent,
|
|
18
17
|
} from '../../fabric/legacy/SearchBarNativeComponent';
|
|
19
18
|
import type { CodegenTypes as CT } from 'react-native';
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
> &
|
|
26
|
-
typeof NativeSearchBarCommands =
|
|
27
|
-
SearchBarNativeComponent as unknown as React.ComponentType<SearchBarNativeProps> &
|
|
28
|
-
SearchBarCommandsType;
|
|
29
|
-
const NativeSearchBarCommands: SearchBarCommandsType =
|
|
30
|
-
SearchBarNativeCommands as SearchBarCommandsType;
|
|
31
|
-
|
|
32
|
-
type NativeSearchBarRef = React.ComponentRef<typeof NativeSearchBar>;
|
|
20
|
+
type SearchBarHostInstance = React.ComponentRef<
|
|
21
|
+
typeof SearchBarNativeComponent
|
|
22
|
+
>;
|
|
33
23
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
focus: (viewRef: NativeSearchBarRef) => void;
|
|
37
|
-
clearText: (viewRef: NativeSearchBarRef) => void;
|
|
38
|
-
toggleCancelButton: (viewRef: NativeSearchBarRef, flag: boolean) => void;
|
|
39
|
-
setText: (viewRef: NativeSearchBarRef, text: string) => void;
|
|
40
|
-
cancelSearch: (viewRef: NativeSearchBarRef) => void;
|
|
41
|
-
};
|
|
24
|
+
function SearchBar(props: SearchBarProps) {
|
|
25
|
+
const searchBarRef = React.useRef<SearchBarHostInstance | null>(null);
|
|
42
26
|
|
|
43
|
-
|
|
44
|
-
props: SearchBarProps,
|
|
45
|
-
forwardedRef: React.Ref<SearchBarCommands>,
|
|
46
|
-
) {
|
|
47
|
-
const searchBarRef = React.useRef<SearchBarCommands>(null);
|
|
48
|
-
|
|
49
|
-
React.useImperativeHandle(forwardedRef, () => ({
|
|
27
|
+
React.useImperativeHandle(props.ref, () => ({
|
|
50
28
|
blur: () => {
|
|
51
|
-
|
|
29
|
+
_callWithNativeInstance(instance =>
|
|
30
|
+
NativeSearchBarCommands.blur(instance),
|
|
31
|
+
);
|
|
52
32
|
},
|
|
53
33
|
focus: () => {
|
|
54
|
-
|
|
34
|
+
_callWithNativeInstance(instance =>
|
|
35
|
+
NativeSearchBarCommands.focus(instance),
|
|
36
|
+
);
|
|
55
37
|
},
|
|
56
38
|
toggleCancelButton: (flag: boolean) => {
|
|
57
|
-
|
|
58
|
-
NativeSearchBarCommands.toggleCancelButton(
|
|
39
|
+
_callWithNativeInstance(instance =>
|
|
40
|
+
NativeSearchBarCommands.toggleCancelButton(instance, flag),
|
|
59
41
|
);
|
|
60
42
|
},
|
|
61
43
|
clearText: () => {
|
|
62
|
-
|
|
44
|
+
_callWithNativeInstance(instance =>
|
|
45
|
+
NativeSearchBarCommands.clearText(instance),
|
|
46
|
+
);
|
|
63
47
|
},
|
|
64
48
|
setText: (text: string) => {
|
|
65
|
-
|
|
49
|
+
_callWithNativeInstance(instance =>
|
|
50
|
+
NativeSearchBarCommands.setText(instance, text),
|
|
51
|
+
);
|
|
66
52
|
},
|
|
67
53
|
cancelSearch: () => {
|
|
68
|
-
|
|
54
|
+
_callWithNativeInstance(instance =>
|
|
55
|
+
NativeSearchBarCommands.cancelSearch(instance),
|
|
56
|
+
);
|
|
69
57
|
},
|
|
70
58
|
}));
|
|
71
59
|
|
|
72
|
-
const
|
|
73
|
-
(
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
|
|
60
|
+
const _callWithNativeInstance = React.useCallback(
|
|
61
|
+
(command: (instance: SearchBarHostInstance) => void) => {
|
|
62
|
+
const instance = searchBarRef.current;
|
|
63
|
+
if (instance) {
|
|
64
|
+
command(instance);
|
|
77
65
|
} else {
|
|
78
66
|
console.warn(
|
|
79
67
|
'Reference to native search bar component has not been updated yet',
|
|
@@ -98,11 +86,13 @@ function SearchBar(
|
|
|
98
86
|
onSearchButtonPress,
|
|
99
87
|
onCancelButtonPress,
|
|
100
88
|
onChangeText,
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
90
|
+
ref,
|
|
101
91
|
...rest
|
|
102
92
|
} = props;
|
|
103
93
|
|
|
104
94
|
return (
|
|
105
|
-
<
|
|
95
|
+
<SearchBarNativeComponent
|
|
106
96
|
ref={searchBarRef}
|
|
107
97
|
{...rest}
|
|
108
98
|
obscureBackground={parseBooleanToOptionalBooleanNativeProp(
|
|
@@ -124,4 +114,4 @@ function SearchBar(
|
|
|
124
114
|
);
|
|
125
115
|
}
|
|
126
116
|
|
|
127
|
-
export default
|
|
117
|
+
export default SearchBar;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { Image, processColor } from 'react-native';
|
|
2
|
+
import type { ImageResolvedAssetSource } from 'react-native';
|
|
2
3
|
import type {
|
|
3
4
|
HeaderBarButtonItem,
|
|
4
5
|
HeaderBarButtonItemWithMenu,
|
|
5
6
|
} from '../../types';
|
|
6
7
|
|
|
8
|
+
// Local nominal type so declaration emit doesn't resolve the RN alias down to
|
|
9
|
+
// the non-public `types_generated/.../AssetSourceResolver#ResolvedAssetSource`.
|
|
10
|
+
export interface ResolvedImageAsset extends ImageResolvedAssetSource {}
|
|
11
|
+
|
|
7
12
|
const prepareMenu = (
|
|
8
13
|
menu: HeaderBarButtonItemWithMenu['menu'],
|
|
9
14
|
index: number,
|
|
@@ -57,7 +62,8 @@ export const prepareHeaderBarButtonItems = (
|
|
|
57
62
|
if (item.type === 'spacing') {
|
|
58
63
|
return item;
|
|
59
64
|
}
|
|
60
|
-
let imageSource,
|
|
65
|
+
let imageSource: ResolvedImageAsset | undefined,
|
|
66
|
+
templateSource: ResolvedImageAsset | undefined;
|
|
61
67
|
if (item.icon?.type === 'imageSource') {
|
|
62
68
|
imageSource = Image.resolveAssetSource(item.icon.imageSource);
|
|
63
69
|
} else if (item.icon?.type === 'templateSource') {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { ComponentRef } from 'react';
|
|
4
|
+
import type { View } from 'react-native';
|
|
4
5
|
|
|
5
6
|
/* eslint-disable */
|
|
6
7
|
|
|
@@ -16,7 +17,9 @@ export type HostInstance = {
|
|
|
16
17
|
_viewConfig: Record<string, unknown>;
|
|
17
18
|
};
|
|
18
19
|
|
|
19
|
-
export function getShadowNodeWrapperAndTagFromRef(
|
|
20
|
+
export function getShadowNodeWrapperAndTagFromRef(
|
|
21
|
+
ref: ComponentRef<typeof View> | null,
|
|
22
|
+
): {
|
|
20
23
|
shadowNodeWrapper: any;
|
|
21
24
|
tag: number;
|
|
22
25
|
} {
|
package/src/legacy/types.ts
CHANGED
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
ViewProps,
|
|
5
5
|
View,
|
|
6
6
|
TargetedEvent,
|
|
7
|
-
TextInputFocusEventData,
|
|
8
7
|
ColorValue,
|
|
9
8
|
} from 'react-native';
|
|
10
9
|
|
|
@@ -16,6 +15,16 @@ import type {
|
|
|
16
15
|
UserInterfaceStyle,
|
|
17
16
|
} from '../components/shared/types';
|
|
18
17
|
|
|
18
|
+
/**
|
|
19
|
+
* `react-native` 0.87 removed the `TextInputFocusEventData` export (in favor of `TextInputFocusEvent`).
|
|
20
|
+
* We keep a local copy of the previous data shape to keep `SearchBarProps['onChangeText']`
|
|
21
|
+
* backward compatible.
|
|
22
|
+
*/
|
|
23
|
+
export interface SearchBarTextEventData extends TargetedEvent {
|
|
24
|
+
eventCount: number;
|
|
25
|
+
text: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
19
28
|
export type SearchBarCommands = {
|
|
20
29
|
focus: () => void;
|
|
21
30
|
blur: () => void;
|
|
@@ -333,7 +342,7 @@ export interface ScreenProps extends ViewProps {
|
|
|
333
342
|
* @platform ios
|
|
334
343
|
*/
|
|
335
344
|
preventNativeDismiss?: boolean | undefined;
|
|
336
|
-
ref?: React.Ref<View
|
|
345
|
+
ref?: React.Ref<React.ComponentRef<typeof View>> | undefined;
|
|
337
346
|
/**
|
|
338
347
|
* How should the screen replacing another screen animate. Defaults to `pop`.
|
|
339
348
|
* The following values are currently supported:
|
|
@@ -362,6 +371,16 @@ export interface ScreenProps extends ViewProps {
|
|
|
362
371
|
* - "landscape" – landscape orientations are permitted
|
|
363
372
|
* - "landscape_left" – landscape-left orientation is permitted
|
|
364
373
|
* - "landscape_right" – landscape-right orientation is permitted
|
|
374
|
+
*
|
|
375
|
+
* @remarks
|
|
376
|
+
* iOS only: when `screenOrientation` is omitted entirely and the
|
|
377
|
+
* `featureFlags.experiment.iosOrientationInheritanceFixEnabled` flag is
|
|
378
|
+
* enabled (the default), a legacy `Screen` no longer forces
|
|
379
|
+
* "all-but-upside-down". Instead it defers to its parent screen's
|
|
380
|
+
* orientation, ultimately falling back to the app's `Info.plist` supported
|
|
381
|
+
* orientations. Setting `screenOrientation: "default"` explicitly keeps the
|
|
382
|
+
* previous "all-but-upside-down" (iPhone) / "all" (iPad) behavior.
|
|
383
|
+
* See https://github.com/software-mansion/react-native-screens/pull/4408
|
|
365
384
|
*/
|
|
366
385
|
screenOrientation?: ScreenOrientationTypes | undefined;
|
|
367
386
|
/**
|
|
@@ -995,7 +1014,7 @@ export interface SearchBarProps {
|
|
|
995
1014
|
* A callback that gets called when the text changes. It receives the current text value of the search bar.
|
|
996
1015
|
*/
|
|
997
1016
|
onChangeText?:
|
|
998
|
-
| ((e: NativeSyntheticEvent<
|
|
1017
|
+
| ((e: NativeSyntheticEvent<SearchBarTextEventData>) => void)
|
|
999
1018
|
| undefined;
|
|
1000
1019
|
|
|
1001
1020
|
/**
|
|
@@ -1018,7 +1037,7 @@ export interface SearchBarProps {
|
|
|
1018
1037
|
* A callback that gets called when the search button is pressed. It receives the current text value of the search bar.
|
|
1019
1038
|
*/
|
|
1020
1039
|
onSearchButtonPress?:
|
|
1021
|
-
| ((e: NativeSyntheticEvent<
|
|
1040
|
+
| ((e: NativeSyntheticEvent<SearchBarTextEventData>) => void)
|
|
1022
1041
|
| undefined;
|
|
1023
1042
|
/**
|
|
1024
1043
|
* Text displayed when search field is empty
|
|
@@ -1263,6 +1282,7 @@ export interface HeaderBarButtonItemMenuAction {
|
|
|
1263
1282
|
export interface HeaderBarButtonItemSubmenu {
|
|
1264
1283
|
type: 'submenu';
|
|
1265
1284
|
title?: string | undefined;
|
|
1285
|
+
subtitle?: string | undefined;
|
|
1266
1286
|
icon?: PlatformIconIOS | undefined;
|
|
1267
1287
|
items: HeaderBarButtonItemWithMenu['menu']['items'];
|
|
1268
1288
|
displayInline?: boolean | undefined;
|
|
@@ -1348,7 +1368,10 @@ export type AnimatedScreenTransition = {
|
|
|
1348
1368
|
) => Record<string, unknown>;
|
|
1349
1369
|
};
|
|
1350
1370
|
|
|
1351
|
-
export type ScreensRefsHolder = Record<
|
|
1371
|
+
export type ScreensRefsHolder = Record<
|
|
1372
|
+
string,
|
|
1373
|
+
React.RefObject<React.ComponentRef<typeof View>>
|
|
1374
|
+
>;
|
|
1352
1375
|
|
|
1353
1376
|
export interface GestureProps {
|
|
1354
1377
|
screensRefs?: React.MutableRefObject<ScreensRefsHolder> | undefined;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
import TransitionProgressContext
|
|
3
|
+
import TransitionProgressContext, {
|
|
4
|
+
type TransitionProgressContextBody,
|
|
5
|
+
} from './TransitionProgressContext';
|
|
4
6
|
|
|
5
|
-
export default function useTransitionProgress() {
|
|
7
|
+
export default function useTransitionProgress(): TransitionProgressContextBody {
|
|
6
8
|
const progress = React.useContext(TransitionProgressContext);
|
|
7
9
|
|
|
8
10
|
if (progress === undefined) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { findNodeHandle,
|
|
2
|
+
import { findNodeHandle, HostInstance } from 'react-native';
|
|
3
3
|
import { RNSLog } from '../logging';
|
|
4
4
|
|
|
5
|
-
export type NativeComponentGenericRef = React.Component &
|
|
5
|
+
export type NativeComponentGenericRef = React.Component & HostInstance;
|
|
6
6
|
|
|
7
7
|
// A hook that logs information when component is rendered, mounted and unmounted.
|
|
8
8
|
// It returns a ref that can be passed to a component instance in order to
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
package com.swmansion.rnscreens.modals.formsheet
|
|
2
|
-
|
|
3
|
-
import com.google.android.material.bottomsheet.BottomSheetDialog
|
|
4
|
-
import com.swmansion.rnscreens.modals.dimmingview.DimmingViewManager
|
|
5
|
-
|
|
6
|
-
internal class FormSheetNativeDismissCoordinator(
|
|
7
|
-
private val dialog: BottomSheetDialog,
|
|
8
|
-
private val dimmingManager: DimmingViewManager,
|
|
9
|
-
private val onNativeDismiss: () -> Unit,
|
|
10
|
-
) {
|
|
11
|
-
internal fun setup() {
|
|
12
|
-
dialog.setOnCancelListener {
|
|
13
|
-
onNativeDismiss()
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
dimmingManager.setOnBackdropClickListener {
|
|
17
|
-
onNativeDismiss()
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
internal fun destroy() {
|
|
22
|
-
dimmingManager.setOnBackdropClickListener {}
|
|
23
|
-
dialog.setOnCancelListener(null)
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// TODO: investigate objc - swift interop and deduplicate this code
|
|
2
|
-
// This enum needs to follow the RNSOrientation from objc.
|
|
3
|
-
@objc
|
|
4
|
-
public enum RNSOrientationSwift: Int {
|
|
5
|
-
case inherit
|
|
6
|
-
case all
|
|
7
|
-
case allButUpsideDown
|
|
8
|
-
case portrait
|
|
9
|
-
case portraitUp
|
|
10
|
-
case portraitDown
|
|
11
|
-
case landscape
|
|
12
|
-
case landscapeLeft
|
|
13
|
-
case landscapeRight
|
|
14
|
-
}
|