@apexnative/navigation 1.0.0-alpha.5 → 1.0.0-alpha.7
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/ApexNavigation.podspec +2 -1
- package/CHANGELOG.md +32 -0
- package/README.md +1 -1
- package/android/CLAUDE.md +31 -20
- package/android/CORE.md +12 -8
- package/android/consumer-rules.pro +6 -0
- package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +36 -5
- package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +1 -1
- package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +13 -8
- package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +1 -1
- package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +1 -1
- package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +1 -1
- package/android/src/main/java/dev/apexnative/navigation/options/OptionKey.kt +18 -0
- package/android/src/main/java/dev/apexnative/navigation/options/OptionPaths.kt +91 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +7 -4
- package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +2 -2
- package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +1 -1
- package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +16 -7
- package/android/src/main/java/dev/apexnative/navigation/react/ContentHeights.kt +95 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ContentMounts.kt +66 -0
- package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +7 -3
- package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +41 -3
- package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +16 -1
- package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +0 -2
- package/android/src/main/java/dev/apexnative/navigation/react/ScreenEnvironment.kt +177 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +12 -49
- package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +49 -128
- package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +6 -6
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +27 -7
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +12 -1
- package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +5 -6
- package/android/src/main/java/dev/apexnative/navigation/utils/SystemAnimations.kt +36 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +0 -13
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +9 -7
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +5 -3
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +13 -10
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +22 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +0 -5
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +7 -8
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +29 -11
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +2 -6
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +20 -2
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +443 -58
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +33 -5
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetBack.kt +42 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetStops.kt +60 -2
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +4 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +3 -6
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +8 -2
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/BackPreview.kt +32 -4
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +3 -3
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +2 -2
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +50 -7
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +15 -3
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +10 -4
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabMotion.kt +142 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +215 -43
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +25 -26
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +3 -2
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +11 -5
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +36 -38
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +6 -9
- package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationLayer.kt +73 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +14 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +61 -2
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +72 -10
- package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +129 -179
- package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +8 -1
- package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +37 -112
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +67 -3
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +346 -36
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMorph.kt +199 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +55 -42
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextMorph.kt +176 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewMorph.kt +108 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCopy.kt +85 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +13 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +5 -24
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +51 -34
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +6 -6
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonView.kt +113 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarMenu.kt +219 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +121 -175
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +34 -64
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonRow.kt +216 -0
- package/android/src/main/jni/ANNContentHeights.cpp +82 -0
- package/android/src/main/res/drawable/apex_navigation_ic_arrow_right.xml +14 -0
- package/android/src/main/res/layout/apex_navigation_menu_header.xml +19 -0
- package/android/src/main/res/layout/apex_navigation_menu_item.xml +68 -0
- package/android/src/main/res/values/styles.xml +1 -1
- package/android/src/main/res/values-night/styles.xml +1 -1
- package/cli/doctor/checks/app.js +16 -1
- package/cli/project.js +4 -0
- package/cli/setup/index.js +5 -0
- package/cli/setup/steps/metro.js +46 -0
- package/docs-md/architecture/native-screens.md +4 -0
- package/docs-md/architecture/theme-and-context.md +131 -12
- package/docs-md/architecture/transitions.md +46 -5
- package/docs-md/containers/modals.md +2 -0
- package/docs-md/containers/overlays.md +1 -1
- package/docs-md/containers/side-menu.md +1 -1
- package/docs-md/containers/tabs.md +2 -0
- package/docs-md/flows/bottom-sheets.md +4 -2
- package/docs-md/fundamentals/screens-and-props.md +9 -1
- package/docs-md/fundamentals/starting-the-app.md +1 -1
- package/docs-md/guides/cli.md +3 -1
- package/docs-md/help/glossary.md +2 -2
- package/docs-md/help/troubleshooting.md +22 -1
- package/docs-md/index.json +41 -1
- package/docs-md/migration/from-expo-router.md +1 -1
- package/docs-md/migration/from-react-native-navigation.md +1 -1
- package/docs-md/migration/from-react-navigation.md +2 -2
- package/docs-md/screen-ui/back-and-gestures.md +17 -1
- package/docs-md/screen-ui/bar-buttons.md +5 -5
- package/docs-md/screen-ui/search.md +1 -1
- package/docs-md/screen-ui/system-ui.md +16 -11
- package/docs-md/screen-ui/toolbar-and-fab.md +4 -2
- package/docs-md/screen-ui/top-bar.md +8 -4
- package/docs-md/start/installation.md +16 -1
- package/ios/Animations/ANNFrameDriver.h +55 -15
- package/ios/Animations/ANNFrameDriver.mm +216 -60
- package/ios/Animations/ANNTransitionAnimator.h +26 -5
- package/ios/Animations/ANNTransitionAnimator.mm +49 -3
- package/ios/Animations/ANNTransitionPlan.h +2 -2
- package/ios/Animations/ANNTransitionPlan.mm +10 -0
- package/ios/Animations/Elements/ANNElementFinder.h +2 -2
- package/ios/Animations/Elements/ANNElementFinder.mm +2 -2
- package/ios/Animations/Elements/ANNElementTransition.h +3 -3
- package/ios/Animations/Elements/ANNElementTransition.mm +2 -2
- package/ios/Animations/Elements/ANNSharedElementFlight.h +3 -3
- package/ios/Animations/Elements/ANNSharedElementFlight.mm +249 -45
- package/ios/Animations/Interpolators/ANNInterpolate.h +2 -30
- package/ios/Animations/Interpolators/ANNTransformParts.h +48 -0
- package/ios/Animations/Interpolators/ANNTransformParts.mm +507 -0
- package/ios/Animations/Interpolators/ANNViewTracks.h +9 -6
- package/ios/Animations/Interpolators/ANNViewTracks.mm +100 -30
- package/ios/CLAUDE.md +32 -22
- package/ios/CORE.md +25 -21
- package/ios/Contract/ANNCommandRunner.h +8 -7
- package/ios/Contract/ANNCommandRunner.mm +21 -27
- package/ios/Contract/ANNLayoutNode.h +3 -3
- package/ios/Contract/ANNLayoutReader.h +3 -3
- package/ios/Core/ANNAppDelegate.mm +0 -2
- package/ios/Core/ANNDeepLinkQueue.h +6 -5
- package/ios/Core/ANNDeepLinkQueue.mm +22 -10
- package/ios/Core/ANNJavaScriptCalls.h +11 -12
- package/ios/Core/ANNJavaScriptCalls.mm +7 -16
- package/ios/Core/ANNReloadCoordinator.mm +4 -8
- package/ios/Core/ANNSceneDelegate.mm +2 -2
- package/ios/Core/ApexNavigation+Internal.h +1 -1
- package/ios/Core/ApexNavigation.mm +6 -2
- package/ios/Layouts/Arrangement/ANNArrangementState.h +2 -17
- package/ios/Layouts/Arrangement/ANNArrangementState.mm +0 -38
- package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +4 -4
- package/ios/Layouts/Root/ANNRootCoordinator.mm +45 -15
- package/ios/Layouts/Screen/ANNComponentViewController.h +2 -2
- package/ios/Layouts/Screen/ANNComponentViewController.mm +13 -23
- package/ios/Layouts/Screen/ANNPreviewInteraction.h +7 -4
- package/ios/Layouts/Screen/ANNPreviewInteraction.mm +72 -10
- package/ios/Layouts/Screen/ANNScreenEnvironment.h +63 -0
- package/ios/Layouts/Screen/ANNScreenEnvironment.mm +181 -0
- package/ios/Layouts/Screen/ANNScreenRegions.h +3 -18
- package/ios/Layouts/Screen/ANNScreenRegions.mm +0 -38
- package/ios/Layouts/Screen/ANNScreenSafeArea.h +4 -9
- package/ios/Layouts/Screen/ANNScreenSafeArea.mm +14 -16
- package/ios/Layouts/Stack/ANNPreviewPush.h +7 -6
- package/ios/Layouts/Stack/ANNPreviewPush.mm +57 -5
- package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +11 -2
- package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +14 -7
- package/ios/Layouts/Stack/ANNStackController.h +8 -0
- package/ios/Layouts/Stack/ANNStackController.mm +153 -11
- package/ios/Layouts/Stack/ANNSwipePopInteraction.h +26 -0
- package/ios/Layouts/Stack/ANNSwipePopInteraction.mm +185 -0
- package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +28 -4
- package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +12 -1
- package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +23 -0
- package/ios/Layouts/Tabs/ANNBottomTabsController.mm +2 -1
- package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +8 -3
- package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +4 -0
- package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +123 -36
- package/ios/Layouts/Tabs/ANNTabsDesign.h +6 -5
- package/ios/Layouts/Tabs/ANNTabsDesign.mm +9 -1
- package/ios/Layouts/Tabs/UITabBar+utils.h +5 -5
- package/ios/Layouts/Tabs/UITabBar+utils.mm +32 -13
- package/ios/Options/ANNAnimationOptions.h +2 -1
- package/ios/Options/ANNAnimationOptions.mm +1 -1
- package/ios/Options/ANNBottomTabsOptions.h +2 -0
- package/ios/Options/ANNBottomTabsOptions.mm +1 -0
- package/ios/Options/ANNOptions.h +25 -0
- package/ios/Options/ANNOptions.mm +157 -1
- package/ios/Options/ANNOptionsReader.mm +108 -0
- package/ios/Options/ANNStackPopAnimationOptions.h +13 -0
- package/ios/Options/ANNStackPopAnimationOptions.mm +11 -0
- package/ios/Options/Params/ANNParam.h +15 -0
- package/ios/Options/Params/ANNParam.mm +61 -0
- package/ios/Options/Params/Color.h +3 -0
- package/ios/Options/Params/Color.mm +21 -0
- package/ios/Options/Params/ColorParser.h +4 -3
- package/ios/Options/Params/ColorParser.mm +22 -4
- package/ios/Options/Params/Image.h +4 -0
- package/ios/Options/Params/Image.mm +20 -0
- package/ios/React/ANNReactView.mm +6 -25
- package/ios/React/ANNSafeAreaViewComponentView.mm +26 -15
- package/ios/React/ANNSurfaceHostingView.h +14 -0
- package/ios/React/ANNSurfaceHostingView.mm +144 -1
- package/ios/React/Slots/ANNSlotScreenView.mm +8 -2
- package/ios/TopBar/ANNBackButtonPresenter.mm +6 -5
- package/ios/TopBar/ANNBarAppearance.h +2 -1
- package/ios/TopBar/ANNBarAppearance.mm +111 -30
- package/ios/TopBar/ANNBarBackgroundComponent.mm +16 -0
- package/ios/TopBar/ANNBarButtonComponentView.h +4 -4
- package/ios/TopBar/ANNBarButtonComponentView.mm +1 -1
- package/ios/TopBar/ANNBarButtons.h +5 -3
- package/ios/TopBar/ANNBarButtons.mm +186 -17
- package/ios/TopBar/ANNLargeTitlePresenter.mm +24 -4
- package/ios/TopBar/ANNMainList.h +3 -0
- package/ios/TopBar/ANNMainList.mm +4 -0
- package/ios/TopBar/ANNScrollEdgeEffects.h +22 -6
- package/ios/TopBar/ANNScrollEdgeEffects.mm +123 -16
- package/ios/TopBar/ANNSearchPresenter.mm +2 -2
- package/ios/TopBar/ANNSearchResultsViewController.mm +5 -5
- package/ios/TopBar/ANNTopBarPresenter.h +3 -2
- package/ios/TopBar/ANNTopBarPresenter.mm +95 -22
- package/ios/TurboModules/ANNTurboModule.mm +66 -16
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.cpp +20 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +5 -14
- package/lib/module/ARCHITECTURE.md +17 -7
- package/lib/module/adapters/NativeANNTurboModule.js.map +1 -1
- package/lib/module/api/app/AppRegistry.js +14 -2
- package/lib/module/api/app/AppRegistry.js.map +1 -1
- package/lib/module/api/app/createNavigation.js +188 -66
- package/lib/module/api/app/createNavigation.js.map +1 -1
- package/lib/module/api/events/navigationEvents.js +6 -2
- package/lib/module/api/events/navigationEvents.js.map +1 -1
- package/lib/module/api/hooks/useSafeAreaInsets.js +4 -3
- package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -1
- package/lib/module/api/linking/linking.js +11 -0
- package/lib/module/api/linking/linking.js.map +1 -1
- package/lib/module/api/options/OptionsChain.js +2 -2
- package/lib/module/api/screens/defineScreen.js +45 -3
- package/lib/module/api/screens/defineScreen.js.map +1 -1
- package/lib/module/api/screens/nativeScreens.js +31 -6
- package/lib/module/api/screens/nativeScreens.js.map +1 -1
- package/lib/module/api/screens/registerScreens.js +172 -35
- package/lib/module/api/screens/registerScreens.js.map +1 -1
- package/lib/module/api/theme/theme.js +5 -0
- package/lib/module/api/theme/theme.js.map +1 -1
- package/lib/module/engine/commands.js +42 -2
- package/lib/module/engine/commands.js.map +1 -1
- package/lib/module/engine/layout.js +7 -2
- package/lib/module/engine/layout.js.map +1 -1
- package/lib/module/engine/nativeScreens.js +9 -0
- package/lib/module/engine/nativeScreens.js.map +1 -1
- package/lib/module/engine/options.js +5 -4
- package/lib/module/engine/options.js.map +1 -1
- package/lib/module/engine/optionsChange.js +102 -0
- package/lib/module/engine/optionsChange.js.map +1 -0
- package/lib/module/engine/refresh.js +85 -0
- package/lib/module/engine/refresh.js.map +1 -0
- package/lib/module/engine/rememberedOptions.js +60 -0
- package/lib/module/engine/rememberedOptions.js.map +1 -1
- package/lib/module/engine/screens.js +55 -4
- package/lib/module/engine/screens.js.map +1 -1
- package/lib/typescript/adapters/NativeANNTurboModule.d.ts +7 -0
- package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -1
- package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -1
- package/lib/typescript/api/app/createNavigation.d.ts +8 -3
- package/lib/typescript/api/app/createNavigation.d.ts.map +1 -1
- package/lib/typescript/api/events/navigationEvents.d.ts +2 -2
- package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -1
- package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +4 -3
- package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -1
- package/lib/typescript/api/index.d.ts +1 -1
- package/lib/typescript/api/index.d.ts.map +1 -1
- package/lib/typescript/api/linking/linking.d.ts +8 -0
- package/lib/typescript/api/linking/linking.d.ts.map +1 -1
- package/lib/typescript/api/options/OptionsChain.d.ts +2 -2
- package/lib/typescript/api/screens/defineScreen.d.ts +23 -4
- package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -1
- package/lib/typescript/api/screens/nativeScreens.d.ts +8 -1
- package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -1
- package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -1
- package/lib/typescript/api/theme/theme.d.ts +2 -0
- package/lib/typescript/api/theme/theme.d.ts.map +1 -1
- package/lib/typescript/engine/commands.d.ts +5 -0
- package/lib/typescript/engine/commands.d.ts.map +1 -1
- package/lib/typescript/engine/layout.d.ts.map +1 -1
- package/lib/typescript/engine/nativeScreens.d.ts +5 -0
- package/lib/typescript/engine/nativeScreens.d.ts.map +1 -1
- package/lib/typescript/engine/optionsChange.d.ts +28 -0
- package/lib/typescript/engine/optionsChange.d.ts.map +1 -0
- package/lib/typescript/engine/refresh.d.ts +35 -0
- package/lib/typescript/engine/refresh.d.ts.map +1 -0
- package/lib/typescript/engine/rememberedOptions.d.ts +13 -0
- package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -1
- package/lib/typescript/engine/screens.d.ts +27 -6
- package/lib/typescript/engine/screens.d.ts.map +1 -1
- package/lib/typescript/interfaces/ComponentEvents.d.ts +2 -2
- package/lib/typescript/interfaces/options/animations.d.ts +44 -14
- package/lib/typescript/interfaces/options/animations.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/bottomTabs.d.ts +19 -6
- package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/buttons.d.ts +10 -10
- package/lib/typescript/interfaces/options/modals.d.ts +6 -7
- package/lib/typescript/interfaces/options/modals.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/stack.d.ts +8 -3
- package/lib/typescript/interfaces/options/stack.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/system.d.ts +8 -5
- package/lib/typescript/interfaces/options/system.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/toolbar.d.ts +2 -2
- package/lib/typescript/interfaces/options/topBar.d.ts +46 -29
- package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -1
- package/metro/acceptPlugin.js +57 -0
- package/metro/babelTransformer.js +45 -0
- package/metro/index.js +36 -0
- package/package.json +3 -1
- package/src/ARCHITECTURE.md +17 -7
- package/src/adapters/NativeANNTurboModule.ts +7 -0
- package/src/api/app/AppRegistry.ts +16 -2
- package/src/api/app/createNavigation.ts +201 -69
- package/src/api/events/navigationEvents.ts +9 -3
- package/src/api/hooks/useSafeAreaInsets.ts +4 -3
- package/src/api/index.ts +1 -0
- package/src/api/linking/linking.ts +22 -1
- package/src/api/options/OptionsChain.ts +2 -2
- package/src/api/screens/defineScreen.ts +49 -5
- package/src/api/screens/nativeScreens.ts +40 -4
- package/src/api/screens/registerScreens.tsx +170 -42
- package/src/api/theme/theme.ts +5 -0
- package/src/engine/commands.ts +51 -6
- package/src/engine/layout.ts +11 -2
- package/src/engine/nativeScreens.ts +10 -1
- package/src/engine/options.ts +6 -8
- package/src/engine/optionsChange.ts +107 -0
- package/src/engine/refresh.ts +97 -0
- package/src/engine/rememberedOptions.ts +70 -0
- package/src/engine/screens.tsx +53 -8
- package/src/interfaces/ComponentEvents.ts +2 -2
- package/src/interfaces/options/animations.ts +44 -14
- package/src/interfaces/options/bottomTabs.ts +19 -6
- package/src/interfaces/options/buttons.ts +10 -10
- package/src/interfaces/options/modals.ts +6 -7
- package/src/interfaces/options/stack.ts +8 -3
- package/src/interfaces/options/system.ts +8 -5
- package/src/interfaces/options/toolbar.ts +2 -2
- package/src/interfaces/options/topBar.ts +46 -29
- package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +0 -42
- package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +0 -70
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +0 -223
- package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +0 -31
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +0 -136
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +0 -86
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +0 -33
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +0 -64
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +0 -177
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +0 -137
- package/ios/Layouts/Screen/ANNScreenInsets.h +0 -30
- package/ios/Layouts/Screen/ANNScreenInsets.mm +0 -70
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { DevSettings } from 'react-native';
|
|
3
4
|
import { setDefaultOptions, setRoot } from "../../engine/commands.js";
|
|
4
5
|
import { enableSlots, withSlots } from "../../engine/slots.js";
|
|
5
6
|
import { listenToNativeScreens, startHost } from "../../engine/nativeScreens.js";
|
|
7
|
+
import { sameValue } from "../../engine/optionsChange.js";
|
|
8
|
+
import { familyOf, keepStateOf, refreshRuns } from "../../engine/refresh.js";
|
|
6
9
|
import { listenToSplitViews } from "../../engine/places.js";
|
|
7
10
|
import { hasNativeScreenHooks } from "../../engine/screens.js";
|
|
8
11
|
import { addNavigationListeners } from "../events/navigationEvents.js";
|
|
@@ -12,7 +15,7 @@ import { listenToNativeScreenCalls } from "../screens/nativeScreenCalls.js";
|
|
|
12
15
|
import { buildRoot, withDefaultTransition } from "../layout/Root.js";
|
|
13
16
|
import { registerScreens } from "../screens/registerScreens.js";
|
|
14
17
|
import { getAppContext, setAppContext } from "../context/appContext.js";
|
|
15
|
-
import { initTheme, themedDefaultOptions } from "../theme/theme.js";
|
|
18
|
+
import { getDirection, getTheme, initTheme, setTheme, themedDefaultOptions } from "../theme/theme.js";
|
|
16
19
|
import { setActiveApp } from "./activeApp.js";
|
|
17
20
|
import { setStartFailure, START_FAILURE_SCREEN, startFailureScreen } from "./startFailure.js";
|
|
18
21
|
import { releaseSplash, showsSplash, showSplash, SPLASH_ROOT, SPLASH_SCREEN, splashDone } from "./splash.js";
|
|
@@ -20,7 +23,7 @@ import { launchState } from "../../engine/launchState.js";
|
|
|
20
23
|
import { watchBackListeners } from "../../engine/backListeners.js";
|
|
21
24
|
import { resolveRoot } from "./roots.js";
|
|
22
25
|
import { listenToDispatchedLinks } from "../linking/dispatchedLinks.js";
|
|
23
|
-
import { launchLink, launchRoot, linksRelaunched, linksStarted, reportLink, setupLinking } from "../linking/linking.js";
|
|
26
|
+
import { launchLink, launchRoot, linksRelaunched, linksStarted, reportLink, setupLinking, updateLinking } from "../linking/linking.js";
|
|
24
27
|
const NAVIGATION_APP = Symbol('apexnative.navigation.app');
|
|
25
28
|
|
|
26
29
|
/** Where an error that goes to `onError` came from. */
|
|
@@ -32,6 +35,9 @@ const starts = new WeakMap();
|
|
|
32
35
|
|
|
33
36
|
/** Starts the app, or brings back its root when the native side launches again. */
|
|
34
37
|
export function startApp(app) {
|
|
38
|
+
// An app made after another launched knows once its module ran whether it is that app's next version.
|
|
39
|
+
const waiting = pending.get(app);
|
|
40
|
+
if (waiting) return waiting.then(() => startApp(app));
|
|
35
41
|
const start = starts.get(app);
|
|
36
42
|
if (!start) throw new Error('[navigation] Not an app made by createNavigation');
|
|
37
43
|
return start();
|
|
@@ -55,7 +61,7 @@ export function startApp(app) {
|
|
|
55
61
|
*/
|
|
56
62
|
|
|
57
63
|
export function isNavigationApp(value) {
|
|
58
|
-
return typeof value === 'object' && value !== null && starts.has(value);
|
|
64
|
+
return typeof value === 'object' && value !== null && (starts.has(value) || pending.has(value));
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
/**
|
|
@@ -70,14 +76,18 @@ export function isNavigationApp(value) {
|
|
|
70
76
|
* });
|
|
71
77
|
*/
|
|
72
78
|
export function createNavigation(config) {
|
|
79
|
+
// The app that launched before, when this call may be its module running again after an edit (Fast Refresh): what
|
|
80
|
+
// the call starts waits until that is known.
|
|
81
|
+
const launched = __DEV__ ? hotCandidate() : undefined;
|
|
73
82
|
// Counted from here: a "back again to leave" listener of the app's entry file comes after this call.
|
|
74
|
-
watchBackListeners();
|
|
83
|
+
if (!launched) watchBackListeners();
|
|
75
84
|
// idle: not started yet, or the last start failed. mounting: the first root is on its way. mounted: it is shown.
|
|
76
85
|
let phase = 'idle';
|
|
77
86
|
let screensRegistered = false;
|
|
78
87
|
// The splash shows at the first start of this runtime only: a start that failed and runs again goes without it.
|
|
79
88
|
let splashChecked = false;
|
|
80
89
|
let listening = false;
|
|
90
|
+
let removeListeners;
|
|
81
91
|
let prepared;
|
|
82
92
|
let markMounted;
|
|
83
93
|
// A new activity came while the first root was on its way (Android): its link is taken once that root is shown.
|
|
@@ -118,6 +128,56 @@ export function createNavigation(config) {
|
|
|
118
128
|
} = config;
|
|
119
129
|
return buildRoot(typeof root === 'function' ? root(context) : root);
|
|
120
130
|
}
|
|
131
|
+
|
|
132
|
+
// The screens of the app, its groups, the screen of a failed start and the splash, with what wraps each of them.
|
|
133
|
+
function registerAppScreens() {
|
|
134
|
+
const wrapper = {
|
|
135
|
+
errorFallback: config.errorFallback,
|
|
136
|
+
loadingFallback: config.loadingFallback,
|
|
137
|
+
onError: config.onError && ((error, screen, componentStack) => config.onError?.(error, {
|
|
138
|
+
type: 'screen',
|
|
139
|
+
screen,
|
|
140
|
+
componentStack
|
|
141
|
+
}))
|
|
142
|
+
};
|
|
143
|
+
registerScreens([{
|
|
144
|
+
source: 'screens',
|
|
145
|
+
screens: config.screens ?? {}
|
|
146
|
+
}, ...Object.entries(config.groups ?? {}).map(([group, {
|
|
147
|
+
screens,
|
|
148
|
+
options
|
|
149
|
+
}]) => ({
|
|
150
|
+
source: `the group '${group}'`,
|
|
151
|
+
screens,
|
|
152
|
+
options
|
|
153
|
+
})), ...(config.errorFallback ? [{
|
|
154
|
+
source: 'the start',
|
|
155
|
+
screens: {
|
|
156
|
+
[START_FAILURE_SCREEN]: startFailureScreen(config.errorFallback)
|
|
157
|
+
}
|
|
158
|
+
}] : [])], {
|
|
159
|
+
...wrapper,
|
|
160
|
+
provider: config.screenProvider
|
|
161
|
+
});
|
|
162
|
+
// The splash renders before willMount ends: a root of its own, without the app's providers, which may need what
|
|
163
|
+
// willMount prepares.
|
|
164
|
+
if (config.splash) {
|
|
165
|
+
registerScreens([{
|
|
166
|
+
source: 'the splash',
|
|
167
|
+
screens: {
|
|
168
|
+
[SPLASH_SCREEN]: config.splash.component
|
|
169
|
+
},
|
|
170
|
+
ownRoot: true
|
|
171
|
+
}], {
|
|
172
|
+
...wrapper,
|
|
173
|
+
// A splash that failed to render can't call hide(): the start goes on without waiting for it.
|
|
174
|
+
onError: (error, screen, componentStack) => {
|
|
175
|
+
releaseSplash();
|
|
176
|
+
wrapper.onError?.(error, screen, componentStack);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
121
181
|
async function mount() {
|
|
122
182
|
phase = 'mounting';
|
|
123
183
|
// The state before the first root: the links wait for a newer one, which tells the screen they act from.
|
|
@@ -126,52 +186,7 @@ export function createNavigation(config) {
|
|
|
126
186
|
let linkHandled = false;
|
|
127
187
|
try {
|
|
128
188
|
if (!screensRegistered) {
|
|
129
|
-
|
|
130
|
-
errorFallback: config.errorFallback,
|
|
131
|
-
loadingFallback: config.loadingFallback,
|
|
132
|
-
onError: config.onError && ((error, screen, componentStack) => config.onError?.(error, {
|
|
133
|
-
type: 'screen',
|
|
134
|
-
screen,
|
|
135
|
-
componentStack
|
|
136
|
-
}))
|
|
137
|
-
};
|
|
138
|
-
registerScreens([{
|
|
139
|
-
source: 'screens',
|
|
140
|
-
screens: config.screens ?? {}
|
|
141
|
-
}, ...Object.entries(config.groups ?? {}).map(([group, {
|
|
142
|
-
screens,
|
|
143
|
-
options
|
|
144
|
-
}]) => ({
|
|
145
|
-
source: `the group '${group}'`,
|
|
146
|
-
screens,
|
|
147
|
-
options
|
|
148
|
-
})), ...(config.errorFallback ? [{
|
|
149
|
-
source: 'the start',
|
|
150
|
-
screens: {
|
|
151
|
-
[START_FAILURE_SCREEN]: startFailureScreen(config.errorFallback)
|
|
152
|
-
}
|
|
153
|
-
}] : [])], {
|
|
154
|
-
...wrapper,
|
|
155
|
-
provider: config.screenProvider
|
|
156
|
-
});
|
|
157
|
-
// The splash renders before willMount ends: a root of its own, without the app's providers, which may need what
|
|
158
|
-
// willMount prepares.
|
|
159
|
-
if (config.splash) {
|
|
160
|
-
registerScreens([{
|
|
161
|
-
source: 'the splash',
|
|
162
|
-
screens: {
|
|
163
|
-
[SPLASH_SCREEN]: config.splash.component
|
|
164
|
-
},
|
|
165
|
-
ownRoot: true
|
|
166
|
-
}], {
|
|
167
|
-
...wrapper,
|
|
168
|
-
// A splash that failed to render can't call hide(): the start goes on without waiting for it.
|
|
169
|
-
onError: (error, screen, componentStack) => {
|
|
170
|
-
releaseSplash();
|
|
171
|
-
wrapper.onError?.(error, screen, componentStack);
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
189
|
+
registerAppScreens();
|
|
175
190
|
screensRegistered = true;
|
|
176
191
|
}
|
|
177
192
|
// The link that launched the app is asked for first: on iOS the first React content to appear (the host below,
|
|
@@ -280,6 +295,7 @@ export function createNavigation(config) {
|
|
|
280
295
|
}
|
|
281
296
|
}
|
|
282
297
|
async function launch() {
|
|
298
|
+
if (__DEV__) launchedApp = app;
|
|
283
299
|
setActiveApp({
|
|
284
300
|
roots: config.roots,
|
|
285
301
|
presentation: config.presentation,
|
|
@@ -289,17 +305,7 @@ export function createNavigation(config) {
|
|
|
289
305
|
listening = true;
|
|
290
306
|
// The edges of `safeArea` go under the app's options; the window's color goes with them, as the native side
|
|
291
307
|
// takes it from the default options.
|
|
292
|
-
initTheme(config.theme,
|
|
293
|
-
under: config.safeArea && {
|
|
294
|
-
layout: {
|
|
295
|
-
safeAreaEdges: config.safeArea.edges
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
options: config.options,
|
|
299
|
-
over: config.window && {
|
|
300
|
-
window: config.window
|
|
301
|
-
}
|
|
302
|
-
}, config.direction);
|
|
308
|
+
initTheme(config.theme, appDefaults(), config.direction);
|
|
303
309
|
if (config.context !== undefined) setAppContext(config.context);
|
|
304
310
|
if (config.appProvider) enableSlots(config.appProvider);
|
|
305
311
|
listenToNavigationState();
|
|
@@ -308,7 +314,7 @@ export function createNavigation(config) {
|
|
|
308
314
|
listenToNativeScreens();
|
|
309
315
|
listenToSplitViews();
|
|
310
316
|
listenToNativeScreenCalls();
|
|
311
|
-
if (config.listeners) addNavigationListeners(config.listeners);
|
|
317
|
+
if (config.listeners) removeListeners = addNavigationListeners(config.listeners);
|
|
312
318
|
}
|
|
313
319
|
launchState.launch++;
|
|
314
320
|
// A new activity has no default options: the last ones set come back, else the theme's and the app's.
|
|
@@ -328,23 +334,139 @@ export function createNavigation(config) {
|
|
|
328
334
|
relaunchWaiters.splice(0).forEach(resume => resume());
|
|
329
335
|
}
|
|
330
336
|
|
|
331
|
-
// The
|
|
332
|
-
|
|
333
|
-
|
|
337
|
+
// The routes of the links, the roots they name and where their errors go.
|
|
338
|
+
function linkingOptions() {
|
|
339
|
+
return {
|
|
334
340
|
roots: config.roots,
|
|
335
341
|
onError: config.onError && ((error, url) => config.onError?.(error, {
|
|
336
342
|
type: 'link',
|
|
337
343
|
url
|
|
338
344
|
}))
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
// Fast Refresh ran the module that makes the app again (development): its new config takes the place of the old.
|
|
349
|
+
// What only the start reads (the first root, willMount, the splash, the context) has done its part; the screens, the
|
|
350
|
+
// default options, the roots, the listeners and the links take the new one. A theme the same as before leaves the one
|
|
351
|
+
// the app set since. The providers and fallbacks are in the families of the ones before (`keepStateOf`): React
|
|
352
|
+
// Refresh puts the new ones in place, with the state of what they wrap.
|
|
353
|
+
function update(next) {
|
|
354
|
+
const before = config;
|
|
355
|
+
// The app's one tree is set up at the start, or not: a provider added or taken out starts the app again.
|
|
356
|
+
if (!before.appProvider !== !next.appProvider) {
|
|
357
|
+
DevSettings.reload('[navigation] appProvider was added or taken out');
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
config = next;
|
|
361
|
+
if (screensRegistered) registerAppScreens();
|
|
362
|
+
setActiveApp({
|
|
363
|
+
roots: config.roots,
|
|
364
|
+
presentation: config.presentation,
|
|
365
|
+
mounted
|
|
339
366
|
});
|
|
367
|
+
// A direction the app set since stays too, unless the edit changes the config's.
|
|
368
|
+
const defaultsBefore = themedDefaultOptions();
|
|
369
|
+
const direction = sameValue(before.direction, next.direction) ? getDirection() : next.direction;
|
|
370
|
+
initTheme(getTheme(), appDefaults(), direction);
|
|
371
|
+
if (!sameValue(before.theme, next.theme)) {
|
|
372
|
+
setTheme(next.theme ?? {});
|
|
373
|
+
} else {
|
|
374
|
+
const defaults = themedDefaultOptions();
|
|
375
|
+
if (!sameValue(defaultsBefore, defaults)) setDefaultOptions(defaults ?? {});
|
|
376
|
+
}
|
|
377
|
+
if (listening) {
|
|
378
|
+
removeListeners?.();
|
|
379
|
+
removeListeners = config.listeners && addNavigationListeners(config.listeners);
|
|
380
|
+
}
|
|
381
|
+
if (config.linking && linkingStarted) updateLinking(config.linking, linkingOptions());else startLinking();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// The default options of the app, under and over the theme's.
|
|
385
|
+
function appDefaults() {
|
|
386
|
+
return {
|
|
387
|
+
under: config.safeArea && {
|
|
388
|
+
layout: {
|
|
389
|
+
safeAreaEdges: config.safeArea.edges
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
options: config.options,
|
|
393
|
+
over: config.window && {
|
|
394
|
+
window: config.window
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// The links listen from now on: one that comes before the native side launches waits for the first root.
|
|
400
|
+
let linkingStarted = false;
|
|
401
|
+
function startLinking() {
|
|
402
|
+
if (!config.linking || linkingStarted) return;
|
|
403
|
+
linkingStarted = true;
|
|
404
|
+
setupLinking(config.linking, linkingOptions());
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// The components of the app keep their state across Fast Refresh, as the screens' do.
|
|
408
|
+
function keepComponentsState() {
|
|
409
|
+
if (!__DEV__) return;
|
|
410
|
+
keepStateOf(app, config.appProvider, 'appProvider');
|
|
411
|
+
keepStateOf(app, config.screenProvider, 'screenProvider');
|
|
412
|
+
keepStateOf(app, config.errorFallback, 'errorFallback');
|
|
413
|
+
keepStateOf(app, config.loadingFallback, 'loadingFallback');
|
|
414
|
+
keepStateOf(app, config.splash?.component, 'splash');
|
|
340
415
|
}
|
|
341
416
|
const app = {
|
|
342
417
|
[NAVIGATION_APP]: true
|
|
343
418
|
};
|
|
344
|
-
|
|
419
|
+
keepComponentsState();
|
|
420
|
+
const start = () => {
|
|
421
|
+
startLinking();
|
|
422
|
+
starts.set(app, () => reportStart(launch));
|
|
423
|
+
if (__DEV__) updates.set(app, update);
|
|
424
|
+
};
|
|
425
|
+
if (!launched) {
|
|
426
|
+
start();
|
|
427
|
+
return app;
|
|
428
|
+
}
|
|
429
|
+
// Once the module ran, Metro has put its exports in the families of the ones of its run before: the same family as
|
|
430
|
+
// the app that launched, or the app's entry registering it under the app's name again (an app it doesn't export),
|
|
431
|
+
// means this is its module again, and the app that runs takes the new config.
|
|
432
|
+
pending.set(app, Promise.resolve().then(() => {
|
|
433
|
+
pending.delete(app);
|
|
434
|
+
const family = familyOf(app);
|
|
435
|
+
if (family && family === familyOf(launched) || replacing.delete(app)) {
|
|
436
|
+
updates.get(launched)?.(config);
|
|
437
|
+
starts.set(app, starts.get(launched));
|
|
438
|
+
updates.set(app, updates.get(launched));
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
watchBackListeners();
|
|
442
|
+
start();
|
|
443
|
+
}));
|
|
345
444
|
return app;
|
|
346
445
|
}
|
|
347
446
|
|
|
447
|
+
// The app that launched in this runtime, and what takes the config of its module when it runs again (development).
|
|
448
|
+
let launchedApp;
|
|
449
|
+
const updates = new WeakMap();
|
|
450
|
+
// The apps made after the launch until their module ran, and those the app's entry registered again under its name.
|
|
451
|
+
const pending = new WeakMap();
|
|
452
|
+
const replacing = new WeakSet();
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Notes an app the entry file registers under the name of the app that launched: the entry ran again after an edit
|
|
456
|
+
* (development), and the new app is the old one's next version.
|
|
457
|
+
*/
|
|
458
|
+
export function noteReplacingApp(app) {
|
|
459
|
+
if (__DEV__ && launchedApp && typeof app === 'object' && app !== null && NAVIGATION_APP in app) {
|
|
460
|
+
replacing.add(app);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
// The app that launched, when React Refresh runs and a new app may be its module running again: one its module
|
|
465
|
+
// exports (Metro gives it a family), or one the entry registers again under the app's name.
|
|
466
|
+
function hotCandidate() {
|
|
467
|
+
return launchedApp && refreshRuns() ? launchedApp : undefined;
|
|
468
|
+
}
|
|
469
|
+
|
|
348
470
|
// A willMount that never ends keeps the splash screen for good: in development the app hears of it.
|
|
349
471
|
function warnIfLong(willMount) {
|
|
350
472
|
const timer = setTimeout(() => console.warn('[navigation] willMount: still running after 10 s; the splash stays until it ends'), 10_000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setDefaultOptions","setRoot","enableSlots","withSlots","listenToNativeScreens","startHost","listenToSplitViews","hasNativeScreenHooks","addNavigationListeners","getNavigationState","listenToNavigationState","watchSideMenus","listenToNativeScreenCalls","buildRoot","withDefaultTransition","registerScreens","getAppContext","setAppContext","initTheme","themedDefaultOptions","setActiveApp","setStartFailure","START_FAILURE_SCREEN","startFailureScreen","releaseSplash","showsSplash","showSplash","SPLASH_ROOT","SPLASH_SCREEN","splashDone","launchState","watchBackListeners","resolveRoot","listenToDispatchedLinks","launchLink","launchRoot","linksRelaunched","linksStarted","reportLink","setupLinking","NAVIGATION_APP","Symbol","starts","WeakMap","startApp","app","start","get","Error","isNavigationApp","value","has","createNavigation","config","phase","screensRegistered","splashChecked","listening","prepared","markMounted","relaunchedWhileMounting","relaunchWaiters","relaunchedAfter","launch","Promise","resolve","push","mounted","prepare","then","willMount","catch","undefined","__DEV__","warnIfLong","firstRoot","context","roots","initialRoot","target","name","param","Array","isArray","root","mount","stateBefore","link","linkHandled","wrapper","errorFallback","loadingFallback","onError","error","screen","componentStack","type","source","screens","Object","entries","groups","map","group","options","provider","screenProvider","splash","component","ownRoot","linkTaken","linking","splashLeaves","id","linked","handled","sent","afterSplash","withTransition","transition","rootLaunch","rootId","setLinkedRoot","url","sentIn","shown","restoreRoot","didMount","showStartFailure","failureShown","retry","reportStart","run","presentation","theme","under","safeArea","layout","safeAreaEdges","edges","over","window","direction","appProvider","listeners","defaultOptions","splice","forEach","resume","set","timer","setTimeout","console","warn","clear","clearTimeout"],"sourceRoot":"../../../../src","sources":["api/app/createNavigation.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DevSettings","setDefaultOptions","setRoot","enableSlots","withSlots","listenToNativeScreens","startHost","sameValue","familyOf","keepStateOf","refreshRuns","listenToSplitViews","hasNativeScreenHooks","addNavigationListeners","getNavigationState","listenToNavigationState","watchSideMenus","listenToNativeScreenCalls","buildRoot","withDefaultTransition","registerScreens","getAppContext","setAppContext","getDirection","getTheme","initTheme","setTheme","themedDefaultOptions","setActiveApp","setStartFailure","START_FAILURE_SCREEN","startFailureScreen","releaseSplash","showsSplash","showSplash","SPLASH_ROOT","SPLASH_SCREEN","splashDone","launchState","watchBackListeners","resolveRoot","listenToDispatchedLinks","launchLink","launchRoot","linksRelaunched","linksStarted","reportLink","setupLinking","updateLinking","NAVIGATION_APP","Symbol","starts","WeakMap","startApp","app","waiting","pending","get","then","start","Error","isNavigationApp","value","has","createNavigation","config","launched","__DEV__","hotCandidate","undefined","phase","screensRegistered","splashChecked","listening","removeListeners","prepared","markMounted","relaunchedWhileMounting","relaunchWaiters","relaunchedAfter","launch","Promise","resolve","push","mounted","prepare","willMount","catch","warnIfLong","firstRoot","context","roots","initialRoot","target","name","param","Array","isArray","root","registerAppScreens","wrapper","errorFallback","loadingFallback","onError","error","screen","componentStack","type","source","screens","Object","entries","groups","map","group","options","provider","screenProvider","splash","component","ownRoot","mount","stateBefore","link","linkHandled","linkTaken","linking","splashLeaves","id","linked","handled","sent","afterSplash","withTransition","transition","rootLaunch","rootId","setLinkedRoot","url","sentIn","shown","restoreRoot","didMount","showStartFailure","failureShown","retry","reportStart","run","launchedApp","presentation","theme","appDefaults","direction","appProvider","listeners","defaultOptions","splice","forEach","resume","linkingOptions","update","next","before","reload","defaultsBefore","defaults","linkingStarted","startLinking","under","safeArea","layout","safeAreaEdges","edges","over","window","keepComponentsState","set","updates","delete","family","replacing","WeakSet","noteReplacingApp","add","timer","setTimeout","console","warn","clear","clearTimeout"],"sourceRoot":"../../../../src","sources":["api/app/createNavigation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,11 +59,15 @@ export function onNavigationEvent(name, handler) {
|
|
|
59
59
|
return onNativeEvent(nativeName, deliver);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
/** Listens to the events of `listeners
|
|
62
|
+
/** Listens to the events of `listeners` until the function it gives is called. */
|
|
63
63
|
export function addNavigationListeners(listeners) {
|
|
64
|
+
const removers = [];
|
|
64
65
|
for (const name of Object.keys(listeners)) {
|
|
65
66
|
const handler = listeners[name];
|
|
66
|
-
if (handler)
|
|
67
|
+
if (handler) {
|
|
68
|
+
removers.push(onNavigationEvent(name, handler));
|
|
69
|
+
}
|
|
67
70
|
}
|
|
71
|
+
return () => removers.forEach(remove => remove());
|
|
68
72
|
}
|
|
69
73
|
//# sourceMappingURL=navigationEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["toScreenEvent","onNativeEvent","onNavigationStateChange","SCREEN_EVENTS","Set","NATIVE_EVENTS","screenWillAppear","screenDidAppear","screenDidDisappear","screenPopped","buttonPressed","tabSelected","tabPressed","tabLongPressed","modalDismissed","modalDismissAttempted","searchChanged","searchSubmitted","searchCancelled","searchSuggestionPicked","sheetDetentChanged","splitViewDisplayModeChanged","keyCommandPressed","titleRenamed","accessoryPlacementChanged","previewCompleted","SCREEN_APPEARANCE","onNavigationEvent","name","handler","deliver","nativeName","has","event","componentType","addNavigationListeners","listeners","Object","keys"],"sourceRoot":"../../../../src","sources":["api/events/navigationEvents.ts"],"mappings":";;AAAA,SAA6BA,aAAa,QAAQ,wBAAqB;AACvE,SAASC,aAAa,QAAQ,wBAAqB;AAyBnD,SAA+BC,uBAAuB,QAAQ,6BAA0B;;AAExF;;AAuCA;;AAsBA;AACA,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAsB,CACjD,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,CACnB,CAAC;;AAEF;;AAKA;AACA,MAAMC,aAAiF,GAAG;EACxFC,gBAAgB,EAAE,qBAAqB;EACvCC,eAAe,EAAE,oBAAoB;EACrCC,kBAAkB,EAAE,uBAAuB;EAC3CC,YAAY,EAAE,cAAc;EAC5BC,aAAa,EAAE,yBAAyB;EACxCC,WAAW,EAAE,mBAAmB;EAChCC,UAAU,EAAE,kBAAkB;EAC9BC,cAAc,EAAE,sBAAsB;EACtCC,cAAc,EAAE,gBAAgB;EAChCC,qBAAqB,EAAE,yBAAyB;EAChDC,aAAa,EAAE,kBAAkB;EACjCC,eAAe,EAAE,oBAAoB;EACrCC,eAAe,EAAE,wBAAwB;EACzCC,sBAAsB,EAAE,wBAAwB;EAChDC,kBAAkB,EAAE,oBAAoB;EACxCC,2BAA2B,EAAE,6BAA6B;EAC1DC,iBAAiB,EAAE,mBAAmB;EACtCC,YAAY,EAAE,cAAc;EAC5BC,yBAAyB,EAAE,iCAAiC;EAC5DC,gBAAgB,EAAE;AACpB,CAAC;;AAED;AACA,MAAMC,iBAAiB,GAAG,IAAItB,GAAG,CAAsB,CACrD,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;;AAEF;AACA,OAAO,SAASuB,iBAAiBA,CAC/BC,IAAU,EACVC,OAAgD,EACpC;EACZ;EACA,IAAID,IAAI,KAAK,cAAc,EAAE;IAC3B,OAAO1B,uBAAuB,CAAC2B,OAA2C,CAAC;EAC7E;EACA,MAAMC,OAAO,GAAGD,OAAmC;EACnD,MAAME,UAAU,GAAG1B,aAAa,CAACuB,IAAI,CAA+B;EACpE,IAAIF,iBAAiB,CAACM,GAAG,CAACJ,IAAI,CAAC,EAAE;IAC/B,OAAO3B,aAAa,CAAiD8B,UAAU,EAAGE,KAAK,IAAK;MAC1F,IAAIA,KAAK,CAACC,aAAa,KAAK,WAAW,EAAEJ,OAAO,CAAC9B,aAAa,CAACiC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ;EACA,IAAI9B,aAAa,CAAC6B,GAAG,CAACJ,IAAI,CAAC,EAAE;IAC3B,OAAO3B,aAAa,CAA0B8B,UAAU,EAAGE,KAAK,IAC9DH,OAAO,CAAC9B,aAAa,CAACiC,KAAK,CAAC,CAC9B,CAAC;EACH;EACA,OAAOhC,aAAa,CAAC8B,UAAU,EAAED,OAAO,CAAC;AAC3C;;AAEA;AACA,OAAO,SAASK,sBAAsBA,CAACC,SAA8B,EAAE;
|
|
1
|
+
{"version":3,"names":["toScreenEvent","onNativeEvent","onNavigationStateChange","SCREEN_EVENTS","Set","NATIVE_EVENTS","screenWillAppear","screenDidAppear","screenDidDisappear","screenPopped","buttonPressed","tabSelected","tabPressed","tabLongPressed","modalDismissed","modalDismissAttempted","searchChanged","searchSubmitted","searchCancelled","searchSuggestionPicked","sheetDetentChanged","splitViewDisplayModeChanged","keyCommandPressed","titleRenamed","accessoryPlacementChanged","previewCompleted","SCREEN_APPEARANCE","onNavigationEvent","name","handler","deliver","nativeName","has","event","componentType","addNavigationListeners","listeners","removers","Object","keys","push","forEach","remove"],"sourceRoot":"../../../../src","sources":["api/events/navigationEvents.ts"],"mappings":";;AAAA,SAA6BA,aAAa,QAAQ,wBAAqB;AACvE,SAASC,aAAa,QAAQ,wBAAqB;AAyBnD,SAA+BC,uBAAuB,QAAQ,6BAA0B;;AAExF;;AAuCA;;AAsBA;AACA,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAsB,CACjD,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,CACnB,CAAC;;AAEF;;AAKA;AACA,MAAMC,aAAiF,GAAG;EACxFC,gBAAgB,EAAE,qBAAqB;EACvCC,eAAe,EAAE,oBAAoB;EACrCC,kBAAkB,EAAE,uBAAuB;EAC3CC,YAAY,EAAE,cAAc;EAC5BC,aAAa,EAAE,yBAAyB;EACxCC,WAAW,EAAE,mBAAmB;EAChCC,UAAU,EAAE,kBAAkB;EAC9BC,cAAc,EAAE,sBAAsB;EACtCC,cAAc,EAAE,gBAAgB;EAChCC,qBAAqB,EAAE,yBAAyB;EAChDC,aAAa,EAAE,kBAAkB;EACjCC,eAAe,EAAE,oBAAoB;EACrCC,eAAe,EAAE,wBAAwB;EACzCC,sBAAsB,EAAE,wBAAwB;EAChDC,kBAAkB,EAAE,oBAAoB;EACxCC,2BAA2B,EAAE,6BAA6B;EAC1DC,iBAAiB,EAAE,mBAAmB;EACtCC,YAAY,EAAE,cAAc;EAC5BC,yBAAyB,EAAE,iCAAiC;EAC5DC,gBAAgB,EAAE;AACpB,CAAC;;AAED;AACA,MAAMC,iBAAiB,GAAG,IAAItB,GAAG,CAAsB,CACrD,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;;AAEF;AACA,OAAO,SAASuB,iBAAiBA,CAC/BC,IAAU,EACVC,OAAgD,EACpC;EACZ;EACA,IAAID,IAAI,KAAK,cAAc,EAAE;IAC3B,OAAO1B,uBAAuB,CAAC2B,OAA2C,CAAC;EAC7E;EACA,MAAMC,OAAO,GAAGD,OAAmC;EACnD,MAAME,UAAU,GAAG1B,aAAa,CAACuB,IAAI,CAA+B;EACpE,IAAIF,iBAAiB,CAACM,GAAG,CAACJ,IAAI,CAAC,EAAE;IAC/B,OAAO3B,aAAa,CAAiD8B,UAAU,EAAGE,KAAK,IAAK;MAC1F,IAAIA,KAAK,CAACC,aAAa,KAAK,WAAW,EAAEJ,OAAO,CAAC9B,aAAa,CAACiC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ;EACA,IAAI9B,aAAa,CAAC6B,GAAG,CAACJ,IAAI,CAAC,EAAE;IAC3B,OAAO3B,aAAa,CAA0B8B,UAAU,EAAGE,KAAK,IAC9DH,OAAO,CAAC9B,aAAa,CAACiC,KAAK,CAAC,CAC9B,CAAC;EACH;EACA,OAAOhC,aAAa,CAAC8B,UAAU,EAAED,OAAO,CAAC;AAC3C;;AAEA;AACA,OAAO,SAASK,sBAAsBA,CAACC,SAA8B,EAAc;EACjF,MAAMC,QAAwB,GAAG,EAAE;EACnC,KAAK,MAAMT,IAAI,IAAIU,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,EAA2B;IAClE,MAAMP,OAAO,GAAGO,SAAS,CAACR,IAAI,CAAC;IAC/B,IAAIC,OAAO,EAAE;MACXQ,QAAQ,CAACG,IAAI,CACXb,iBAAiB,CAACC,IAAI,EAAEC,OAAyD,CACnF,CAAC;IACH;EACF;EACA,OAAO,MAAMQ,QAAQ,CAACI,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC;AACrD","ignoreList":[]}
|
|
@@ -7,13 +7,14 @@ import { useScreen } from "./screenHooks.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* How much of this screen's content the bars and the system still cover on each side, past what the screen keeps its
|
|
9
9
|
* content off itself (`layout.safeAreaEdges`): 0 on an edge the screen pads, the whole inset on an edge its content goes
|
|
10
|
-
* under —
|
|
11
|
-
*
|
|
10
|
+
* under — the bottom by default (the home indicator, the navigation bar, a tab bar or toolbar the screen goes under),
|
|
11
|
+
* under a top bar, under the vertical bar at the side of iPhone Duo, every edge with `safeAreaEdges: []`. A list adds
|
|
12
|
+
* exactly this to its own padding. The native side measures every screen on its own, also the screens of
|
|
12
13
|
* `appProvider`.
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* const insets = useSafeAreaInsets();
|
|
16
|
-
* <ScrollView contentContainerStyle={{
|
|
17
|
+
* <ScrollView contentContainerStyle={{ paddingBottom: 16 + insets.bottom }} />
|
|
17
18
|
*/
|
|
18
19
|
export function useSafeAreaInsets() {
|
|
19
20
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useSyncExternalStore","getScreenInsets","subscribeScreenInsets","useScreen","useSafeAreaInsets","id","subscribe","onChange"],"sourceRoot":"../../../../src","sources":["api/hooks/useSafeAreaInsets.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAA0BC,eAAe,EAAEC,qBAAqB,QAAQ,6BAA0B;AAClG,SAASC,SAAS,QAAQ,kBAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAM;IAAEC;EAAG,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGP,WAAW,CAC1BQ,QAAoB,IAAKL,qBAAqB,CAACG,EAAE,EAAEE,QAAQ,CAAC,EAC7D,CAACF,EAAE,CACL,CAAC;EACD,OAAOL,oBAAoB,CAACM,SAAS,EAAE,MAAML,eAAe,CAACI,EAAE,CAAC,CAAC;AACnE","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","getScreenInsets","subscribeScreenInsets","useScreen","useSafeAreaInsets","id","subscribe","onChange"],"sourceRoot":"../../../../src","sources":["api/hooks/useSafeAreaInsets.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAA0BC,eAAe,EAAEC,qBAAqB,QAAQ,6BAA0B;AAClG,SAASC,SAAS,QAAQ,kBAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAM;IAAEC;EAAG,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGP,WAAW,CAC1BQ,QAAoB,IAAKL,qBAAqB,CAACG,EAAE,EAAEE,QAAQ,CAAC,EAC7D,CAACF,EAAE,CACL,CAAC;EACD,OAAOL,oBAAoB,CAACM,SAAS,EAAE,MAAML,eAAe,CAACI,EAAE,CAAC,CAAC;AACnE","ignoreList":[]}
|
|
@@ -48,6 +48,17 @@ export function setupLinking(linking, options) {
|
|
|
48
48
|
setPendingLinkOpener(link => run(link, routeOf(link), false));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Takes the routes, the roots and `onError` of an app whose module ran again after an edit (Fast Refresh, development):
|
|
53
|
+
* the links that come from now on find the new routes.
|
|
54
|
+
*/
|
|
55
|
+
export function updateLinking(linking, options) {
|
|
56
|
+
config = linking;
|
|
57
|
+
roots = options.roots;
|
|
58
|
+
onError = options.onError;
|
|
59
|
+
routes = compileRoutes(Object.keys(linking.routes));
|
|
60
|
+
}
|
|
61
|
+
|
|
51
62
|
/**
|
|
52
63
|
* The link that launched the app, matched as the app starts (`unmatched` may run commands then); the same one for
|
|
53
64
|
* every try of the first start.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","getLaunchLink","resolveRoot","commandsStarted","whenCommandsSettle","getAppContext","subscribeAppContext","buildRoot","navigation","getNavigationState","whenScreenAfter","compileRoutes","matchLink","parseLink","getPendingLink","setPendingLink","setPendingLinkOpener","config","roots","routes","onError","started","early","launchUrl","launch","pendingCheck","whenFailed","Set","setupLinking","linking","options","OS","takeLaunchUrl","Object","keys","addEventListener","url","receive","openPendingWhenAllowed","link","run","routeOf","launchLink","then","find","undefined","catch","Promise","resolve","launchRoot","handled","route","start","allowed","root","toRoot","params","infoOf","error","report","reportLink","linksStarted","stateBefore","handle","splice","forEach","next","initial","linksRelaunched","push","parsed","prefixes","unmatched","__DEV__","console","warn","when","has","add","path","pattern","query","info","props","open","switchToTarget","target","switchTo","Array","isArray","slice","pending","commandsBefore","setTimeout"],"sourceRoot":"../../../../src","sources":["api/linking/linking.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAChD,SAASC,aAAa,QAAQ,wBAAqB;AAEnD,SAASC,WAAW,QAAuB,iBAAc;AACzD,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,uBAAoB;AACxE,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,0BAAuB;AAC1E,SAASC,SAAS,QAAyB,mBAAgB;AAC3D,SAASC,UAAU,QAAQ,kBAAe;AAC1C,
|
|
1
|
+
{"version":3,"names":["Linking","Platform","getLaunchLink","resolveRoot","commandsStarted","whenCommandsSettle","getAppContext","subscribeAppContext","buildRoot","navigation","getNavigationState","whenScreenAfter","compileRoutes","matchLink","parseLink","getPendingLink","setPendingLink","setPendingLinkOpener","config","roots","routes","onError","started","early","launchUrl","launch","pendingCheck","whenFailed","Set","setupLinking","linking","options","OS","takeLaunchUrl","Object","keys","addEventListener","url","receive","openPendingWhenAllowed","link","run","routeOf","updateLinking","launchLink","then","find","undefined","catch","Promise","resolve","launchRoot","handled","route","start","allowed","root","toRoot","params","infoOf","error","report","reportLink","linksStarted","stateBefore","handle","splice","forEach","next","initial","linksRelaunched","push","parsed","prefixes","unmatched","__DEV__","console","warn","when","has","add","path","pattern","query","info","props","open","switchToTarget","target","switchTo","Array","isArray","slice","pending","commandsBefore","setTimeout"],"sourceRoot":"../../../../src","sources":["api/linking/linking.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -65,8 +65,8 @@ export class OptionsChain {
|
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* The edges on which the screen keeps its content out of its safe area (bars, status bar, home indicator, cutout);
|
|
68
|
-
* none with no edge. Without it:
|
|
69
|
-
* a
|
|
68
|
+
* none with no edge. Without it: the top and the sides, but those where the content goes under a bar; the bottom is
|
|
69
|
+
* free, and a list keeps clear of it with `useSafeAreaInsets()`. A large title leaves the top out by itself.
|
|
70
70
|
*/
|
|
71
71
|
safeArea(...edges) {
|
|
72
72
|
return this.layout({
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createElement } from 'react';
|
|
4
|
+
import { keepStateOf, newestType, redefined } from "../../engine/refresh.js";
|
|
3
5
|
import { getAppContext } from "../context/appContext.js";
|
|
4
6
|
import { readScreenOptions, ScreenOptions } from "../options/ScreenOptions.js";
|
|
5
7
|
import { getTheme } from "../theme/theme.js";
|
|
@@ -10,12 +12,52 @@ import { getTheme } from "../theme/theme.js";
|
|
|
10
12
|
|
|
11
13
|
/** A screen with what goes with it. */
|
|
12
14
|
|
|
15
|
+
const SCREEN_DEFINITION = Symbol('apexnative.navigation.screenDefinition');
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* A screen of `defineScreen`: a component of its own, which renders the screen's component and carries the screen's
|
|
19
|
+
* definition. It goes right into `screens` of createNavigation, and rendered on its own (a test) it renders the screen.
|
|
20
|
+
*/
|
|
21
|
+
|
|
13
22
|
/**
|
|
14
|
-
* Describes a screen next to its component, so its registration stays one line.
|
|
15
|
-
* `screens` of createNavigation
|
|
23
|
+
* Describes a screen next to its component, so its registration stays one line. It gives a component that renders the
|
|
24
|
+
* screen and goes right into `screens` of createNavigation: a file that exports only its screens stays a boundary of
|
|
25
|
+
* Fast Refresh, so an edit of the screen, its options too, updates it in place instead of reloading the app.
|
|
16
26
|
*/
|
|
17
27
|
export function defineScreen(definition) {
|
|
18
|
-
|
|
28
|
+
const {
|
|
29
|
+
component
|
|
30
|
+
} = definition;
|
|
31
|
+
// A component of each definition, so the app's own component stays as it is for any other use of it.
|
|
32
|
+
const Component = component;
|
|
33
|
+
function Screen(props) {
|
|
34
|
+
return /*#__PURE__*/createElement(Component, props);
|
|
35
|
+
}
|
|
36
|
+
Screen.displayName = component.displayName ?? component.name;
|
|
37
|
+
Object.defineProperty(Screen, SCREEN_DEFINITION, {
|
|
38
|
+
value: definition
|
|
39
|
+
});
|
|
40
|
+
keepStateOf(Screen, component);
|
|
41
|
+
redefined(Screen);
|
|
42
|
+
return Screen;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The definition a screen of `defineScreen` carries, the newest one after Fast Refresh ran the screen's module again;
|
|
47
|
+
* undefined for anything else.
|
|
48
|
+
*/
|
|
49
|
+
export function definitionOf(value) {
|
|
50
|
+
return isDefinedScreen(value) ? ownDefinitionOf(newestType(value)) : undefined;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** The definition a screen of `defineScreen` carries itself, not a newer one; undefined for anything else. */
|
|
54
|
+
export function ownDefinitionOf(value) {
|
|
55
|
+
return isDefinedScreen(value) ? value[SCREEN_DEFINITION] : undefined;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Whether the value is a screen of `defineScreen`. */
|
|
59
|
+
export function isDefinedScreen(value) {
|
|
60
|
+
return (typeof value === 'function' || typeof value === 'object') && value !== null && SCREEN_DEFINITION in value;
|
|
19
61
|
}
|
|
20
62
|
export function buildScreenOptions(input, props) {
|
|
21
63
|
if (!input) return {};
|