react-native-screens 3.21.1 → 3.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +11 -10
  2. package/ios/RNSScreenWindowTraits.mm +6 -2
  3. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  4. package/lib/commonjs/fabric/ScreenNativeComponent.js +1 -0
  5. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  6. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  7. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  8. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  9. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +1 -0
  10. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/index.native.js +16 -2
  13. package/lib/commonjs/index.native.js.map +1 -1
  14. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  15. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  16. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  17. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  18. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  19. package/lib/commonjs/native-stack/views/NativeStackView.js +2 -1
  20. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  21. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +1 -1
  22. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  23. package/lib/commonjs/reanimated/ReanimatedScreen.js +1 -1
  24. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  25. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  26. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +1 -0
  27. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  28. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  29. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  30. package/lib/commonjs/utils.js.map +1 -1
  31. package/lib/module/TransitionProgressContext.js.map +1 -1
  32. package/lib/module/fabric/ScreenNativeComponent.js +3 -0
  33. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  34. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  35. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  36. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  37. package/lib/module/fabric/ScreenStackNativeComponent.js +3 -0
  38. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  39. package/lib/module/index.js.map +1 -1
  40. package/lib/module/index.native.js +15 -1
  41. package/lib/module/index.native.js.map +1 -1
  42. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  43. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  44. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  45. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  46. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  47. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  48. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  49. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  50. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  51. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  52. package/lib/module/useTransitionProgress.js.map +1 -1
  53. package/lib/module/utils.js.map +1 -1
  54. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +2 -2
  55. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +1 -1
  56. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -2
  57. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +2 -2
  58. package/package.json +1 -1
  59. package/src/index.native.tsx +15 -0
  60. package/android/src/main/java/com/swmansion/rnscreens/LifecycleHelper.kt +0 -60
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","TransitionProgressContext","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","arguments","length","undefined","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","require","default","NativeScreenContainer","NativeScreenNavigationContainer","Commands","DelayedFreeze","_ref","freeze","children","freezeState","setFreezeState","useState","setImmediate","createElement","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","_props$descriptor","_props$descriptors","_descriptor$options$f","_descriptor$options","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","constructor","_defineProperty","Value","ref","_this$props$onCompone","_this$props","onComponentRef","call","setNativeProps","_this$ref","render","enabled","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","handleRef","_ref$viewConfig","_ref$viewConfig$valid","viewConfig","validAttributes","style","display","setRef","_extends","start","end","top","bottom","onTransitionProgress","event","nativeEvent","progress","closing","goingForward","useNativeDriver","Provider","value","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands"],"sources":["index.native.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n SearchBarCommands,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\ntype SearchBarCommandsType = {\n blur: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n focus: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n clearText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n toggleCancelButton: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n flag: boolean\n ) => void;\n setText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n text: string\n ) => void;\n};\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\n\nlet NativeSearchBar: React.ComponentType<SearchBarProps> &\n typeof NativeSearchBarCommands;\nlet NativeSearchBarCommands: SearchBarCommandsType;\n\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || require('./fabric/ScreenNativeComponent').default;\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n require('./fabric/ScreenContainerNativeComponent').default;\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar =\n NativeSearchBar || require('./fabric/SearchBarNativeComponent').default;\n return NativeSearchBar;\n },\n get NativeSearchBarCommands() {\n NativeSearchBarCommands =\n NativeSearchBarCommands ||\n require('./fabric/SearchBarNativeComponent').Commands;\n return NativeSearchBarCommands;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nclass SearchBar extends React.Component<SearchBarProps> {\n nativeSearchBarRef: React.RefObject<SearchBarCommands>;\n\n constructor(props: SearchBarProps) {\n super(props);\n this.nativeSearchBarRef = React.createRef();\n }\n\n _callMethodWithRef(method: (ref: SearchBarCommands) => void) {\n const ref = this.nativeSearchBarRef.current;\n if (ref) {\n method(ref);\n } else {\n console.warn(\n 'Reference to native search bar component has not been updated yet'\n );\n }\n }\n\n blur() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.blur(ref)\n );\n }\n\n focus() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.focus(ref)\n );\n }\n\n toggleCancelButton(flag: boolean) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.toggleCancelButton(ref, flag)\n );\n }\n\n clearText() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.clearText(ref)\n );\n }\n\n setText(text: string) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.setText(ref, text)\n );\n }\n\n render() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View as any as ReactNode;\n }\n\n return (\n <ScreensNativeModules.NativeSearchBar\n {...this.props}\n ref={this.nativeSearchBarRef}\n />\n );\n }\n}\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = (this.context || InnerScreen) as React.ElementType;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n SearchBar,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBarCommands() {\n return ScreensNativeModules.NativeSearchBarCommands;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","TransitionProgressContext","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","arguments","length","undefined","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","require","default","NativeScreenContainer","NativeScreenNavigationContainer","Commands","DelayedFreeze","_ref","freeze","children","freezeState","setFreezeState","useState","setImmediate","createElement","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","_props$descriptor","_props$descriptors","_descriptor$options$f","_descriptor$options","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","constructor","_defineProperty","Value","ref","_this$props$onCompone","_this$props","onComponentRef","call","setNativeProps","_this$ref","render","enabled","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","handleRef","_ref$viewConfig","_ref$viewConfig$valid","viewConfig","validAttributes","style","display","setRef","_extends","start","end","top","bottom","onTransitionProgress","event","nativeEvent","progress","closing","goingForward","useNativeDriver","Provider","value","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands"],"sources":["index.native.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n SearchBarCommands,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\ntype SearchBarCommandsType = {\n blur: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n focus: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n clearText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n toggleCancelButton: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n flag: boolean\n ) => void;\n setText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n text: string\n ) => void;\n};\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\n\nlet NativeSearchBar: React.ComponentType<SearchBarProps> &\n typeof NativeSearchBarCommands;\nlet NativeSearchBarCommands: SearchBarCommandsType;\n\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || require('./fabric/ScreenNativeComponent').default;\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n require('./fabric/ScreenContainerNativeComponent').default;\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar =\n NativeSearchBar || require('./fabric/SearchBarNativeComponent').default;\n return NativeSearchBar;\n },\n get NativeSearchBarCommands() {\n NativeSearchBarCommands =\n NativeSearchBarCommands ||\n require('./fabric/SearchBarNativeComponent').Commands;\n return NativeSearchBarCommands;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n // To maintain default behaviour of formSheet stack presentation style & and to have resonable\n // defaults for new medium-detent iOS API we need to set defaults here\n const {\n sheetAllowedDetents = 'large',\n sheetLargestUndimmedDetent = 'all',\n sheetGrabberVisible = false,\n sheetCornerRadius = -1.0,\n sheetExpandsWhenScrolledToEdge = true,\n } = rest;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n sheetAllowedDetents={sheetAllowedDetents}\n sheetLargestUndimmedDetent={sheetLargestUndimmedDetent}\n sheetGrabberVisible={sheetGrabberVisible}\n sheetCornerRadius={sheetCornerRadius}\n sheetExpandsWhenScrolledToEdge={sheetExpandsWhenScrolledToEdge}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nclass SearchBar extends React.Component<SearchBarProps> {\n nativeSearchBarRef: React.RefObject<SearchBarCommands>;\n\n constructor(props: SearchBarProps) {\n super(props);\n this.nativeSearchBarRef = React.createRef();\n }\n\n _callMethodWithRef(method: (ref: SearchBarCommands) => void) {\n const ref = this.nativeSearchBarRef.current;\n if (ref) {\n method(ref);\n } else {\n console.warn(\n 'Reference to native search bar component has not been updated yet'\n );\n }\n }\n\n blur() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.blur(ref)\n );\n }\n\n focus() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.focus(ref)\n );\n }\n\n toggleCancelButton(flag: boolean) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.toggleCancelButton(ref, flag)\n );\n }\n\n clearText() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.clearText(ref)\n );\n }\n\n setText(text: string) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.setText(ref, text)\n );\n }\n\n render() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View as any as ReactNode;\n }\n\n return (\n <ScreensNativeModules.NativeSearchBar\n {...this.props}\n ref={this.nativeSearchBarRef}\n />\n );\n }\n}\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = (this.context || InnerScreen) as React.ElementType;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n SearchBar,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBarCommands() {\n return ScreensNativeModules.NativeSearchBarCommands;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n};\n"],"mappings":";;;;AAAA;AACA,OAAOA,KAAK,MAAwC,OAAO;AAC3D,SACEC,QAAQ,EACRC,KAAK,EAELC,QAAQ,EACRC,sBAAsB,EAEtBC,UAAU,EACVC,SAAS,EACTC,IAAI,QAGC,cAAc;AACrB,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,OAAO,QAAQ,2BAA2B;AAEnD,OAAOC,yBAAyB,MAAM,6BAA6B;AACnE,OAAOC,qBAAqB,MAAM,yBAAyB;AAe3D,SACEC,sCAAsC,EACtCC,4BAA4B,EAC5BC,sBAAsB,QACjB,SAAS;;AAEhB;AACA,MAAMC,mBAAmB,GACvBZ,QAAQ,CAACa,EAAE,KAAK,KAAK,IACrBb,QAAQ,CAACa,EAAE,KAAK,SAAS,IACzBb,QAAQ,CAACa,EAAE,KAAK,SAAS;AAE3B,IAAIC,cAAc,GAAGF,mBAAmB;AAExC,SAASG,aAAaA,CAAA,EAAmC;EAAA,IAAlCC,mBAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAC/CH,cAAc,GAAGF,mBAAmB,IAAII,mBAAmB;EAC3D,IAAIF,cAAc,IAAI,CAACX,SAAS,CAACiB,oBAAoB,CAAC,WAAW,CAAC,EAAE;IAClEC,OAAO,CAACC,KAAK,CACV,wGACH,CAAC;EACH;AACF;AAEA,IAAIC,aAAa,GAAG,KAAK;AAEzB,SAASC,YAAYA,CAAA,EAAuC;EAAA,IAAtCC,uBAAuB,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAClD,MAAMS,KAAK,GAAGC,QAAQ,CAACrB,OAAO,CAACsB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;EAE/C;EACA,IAAI,EAAEF,KAAK,KAAK,CAAC,IAAIA,KAAK,IAAI,EAAE,CAAC,IAAID,uBAAuB,EAAE;IAC5DJ,OAAO,CAACQ,IAAI,CACV,kIACF,CAAC;EACH;EAEAN,aAAa,GAAGE,uBAAuB;AACzC;;AAEA;AACA,MAAMK,sBAAsB,GAAG,IAAI;AAEnC,SAASC,cAAcA,CAAA,EAAY;EACjC,OAAOjB,cAAc;AACvB;AAsBA;AACA;AACA,IAAIkB,iBAAmD;AACvD,IAAIC,0BAAqE;AACzE,IAAIC,oCAA+E;AACnF,IAAIC,iBAAwD;AAC5D,IAAIC,6BAAgF;AACpF,IAAIC,8BAEH;AACD,IAAIC,oBAAsD;AAE1D,IAAIC,eAC4B;AAChC,IAAIC,uBAA8C;AAElD,IAAIC,uBAIH;AAED,MAAMC,oBAAoB,GAAG;EAC3B,IAAIC,YAAYA,CAAA,EAAG;IACjBX,iBAAiB,GACfA,iBAAiB,IAAIY,OAAO,CAAC,gCAAgC,CAAC,CAACC,OAAO;IACxE,OAAOb,iBAAiB;EAC1B,CAAC;EAED,IAAIc,qBAAqBA,CAAA,EAAG;IAC1Bb,0BAA0B,GACxBA,0BAA0B,IAC1BW,OAAO,CAAC,yCAAyC,CAAC,CAACC,OAAO;IAC5D,OAAOZ,0BAA0B;EACnC,CAAC;EAED,IAAIc,+BAA+BA,CAAA,EAAG;IACpCb,oCAAoC,GAClCA,oCAAoC,KACnClC,QAAQ,CAACa,EAAE,KAAK,KAAK,GAClBZ,sBAAsB,CAAC,8BAA8B,CAAC,GACtD,IAAI,CAAC6C,qBAAqB,CAAC;IACjC,OAAOZ,oCAAoC;EAC7C,CAAC;EAED,IAAIC,iBAAiBA,CAAA,EAAG;IACtBA,iBAAiB,GACfA,iBAAiB,IAAIlC,sBAAsB,CAAC,gBAAgB,CAAC;IAC/D,OAAOkC,iBAAiB;EAC1B,CAAC;EAED,IAAIC,6BAA6BA,CAAA,EAAG;IAClCA,6BAA6B,GAC3BA,6BAA6B,IAC7BnC,sBAAsB,CAAC,4BAA4B,CAAC;IACtD,OAAOmC,6BAA6B;EACtC,CAAC;EAED,IAAIC,8BAA8BA,CAAA,EAAG;IACnCA,8BAA8B,GAC5BA,8BAA8B,IAC9BpC,sBAAsB,CAAC,6BAA6B,CAAC;IACvD,OAAOoC,8BAA8B;EACvC,CAAC;EAED,IAAIE,eAAeA,CAAA,EAAG;IACpBA,eAAe,GACbA,eAAe,IAAIK,OAAO,CAAC,mCAAmC,CAAC,CAACC,OAAO;IACzE,OAAON,eAAe;EACxB,CAAC;EACD,IAAIC,uBAAuBA,CAAA,EAAG;IAC5BA,uBAAuB,GACrBA,uBAAuB,IACvBI,OAAO,CAAC,mCAAmC,CAAC,CAACI,QAAQ;IACvD,OAAOR,uBAAuB;EAChC,CAAC;EAED,IAAIC,uBAAuBA,CAAA,EAAG;IAC5BA,uBAAuB,GACrBA,uBAAuB,IAAIxC,sBAAsB,CAAC,sBAAsB,CAAC;IAC3E,OAAOwC,uBAAuB;EAChC;AACF,CAAC;AAOD;AACA;AACA,SAASQ,aAAaA,CAAAC,IAAA,EAA2C;EAAA,IAA1C;IAAEC,MAAM;IAAEC;EAA6B,CAAC,GAAAF,IAAA;EAC7D;EACA,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGzD,KAAK,CAAC0D,QAAQ,CAAC,KAAK,CAAC;EAE3D,IAAIJ,MAAM,KAAKE,WAAW,EAAE;IAC1B;IACA;IACAG,YAAY,CAAC,MAAM;MACjBF,cAAc,CAACH,MAAM,CAAC;IACxB,CAAC,CAAC;EACJ;EAEA,oBAAOtD,KAAA,CAAA4D,aAAA,CAACpD,MAAM;IAAC8C,MAAM,EAAEA,MAAM,GAAGE,WAAW,GAAG;EAAM,GAAED,QAAiB,CAAC;AAC1E;AAEA,SAASM,WAAWA,CAACC,KAAuB,EAAE;EAC5C,MAAM;IAAEP,QAAQ;IAAE,GAAGQ;EAAK,CAAC,GAAGD,KAAK;EACnC,MAAME,IAAI,GAAGhE,KAAK,CAACiE,QAAQ,CAACC,KAAK,CAACX,QAAQ,CAAC;EAC3C;EACA,MAAMY,kBAAkB,GAAGnE,KAAK,CAACiE,QAAQ,CAACG,GAAG,CAACb,QAAQ,EAAE,CAACc,KAAK,EAAEC,KAAK,KAAK;IAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,mBAAA;IACxE;IACA,MAAM;MAAEZ,KAAK;MAAEa;IAAI,CAAC,GAAGN,KAAK;IAC5B,MAAMO,UAAU,IAAAL,iBAAA,GAAGT,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEc,UAAU,cAAAL,iBAAA,cAAAA,iBAAA,GAAIT,KAAK,aAALA,KAAK,wBAAAU,kBAAA,GAALV,KAAK,CAAEe,WAAW,cAAAL,kBAAA,uBAAlBA,kBAAA,CAAqBG,GAAG,CAAC;IACjE,MAAMG,aAAa,IAAAL,qBAAA,GAAGG,UAAU,aAAVA,UAAU,wBAAAF,mBAAA,GAAVE,UAAU,CAAEG,OAAO,cAAAL,mBAAA,uBAAnBA,mBAAA,CAAqBM,YAAY,cAAAP,qBAAA,cAAAA,qBAAA,GAAI/C,aAAa;IAExE,oBACE1B,KAAA,CAAA4D,aAAA,CAACR,aAAa;MAACE,MAAM,EAAEwB,aAAa,IAAId,IAAI,GAAGM,KAAK,GAAG;IAAE,GACtDD,KACY,CAAC;EAEpB,CAAC,CAAC;EAEF,oBACErE,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACP,iBAAiB,EAAKyB,IAAI,EAC7CI,kBACqC,CAAC;AAE7C;;AAEA;AACA;AAWA,MAAMc,WAAW,SAASjF,KAAK,CAACkF,SAAS,CAAc;EAAAC,YAAA;IAAA,SAAA/D,SAAA;IAAAgE,eAAA,cACD,IAAI;IAAAA,eAAA,kBACtC,IAAInF,QAAQ,CAACoF,KAAK,CAAC,CAAC,CAAC;IAAAD,eAAA,mBACpB,IAAInF,QAAQ,CAACoF,KAAK,CAAC,CAAC,CAAC;IAAAD,eAAA,uBACjB,IAAInF,QAAQ,CAACoF,KAAK,CAAC,CAAC,CAAC;IAAAD,eAAA,iBAMlCE,GAAyC,IAAW;MAAA,IAAAC,qBAAA,EAAAC,WAAA;MAC5D,IAAI,CAACF,GAAG,GAAGA,GAAG;MACd,CAAAC,qBAAA,IAAAC,WAAA,OAAI,CAAC1B,KAAK,EAAC2B,cAAc,cAAAF,qBAAA,uBAAzBA,qBAAA,CAAAG,IAAA,CAAAF,WAAA,EAA4BF,GAAG,CAAC;IAClC,CAAC;EAAA;EAPDK,cAAcA,CAAC7B,KAAkB,EAAQ;IAAA,IAAA8B,SAAA;IACvC,CAAAA,SAAA,OAAI,CAACN,GAAG,cAAAM,SAAA,uBAARA,SAAA,CAAUD,cAAc,CAAC7B,KAAK,CAAC;EACjC;EAOA+B,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,OAAO,GAAG7E,cAAc;MACxB+D,YAAY,GAAGtD,aAAa;MAC5B,GAAGqC;IACL,CAAC,GAAG,IAAI,CAACD,KAAK;;IAEd;IACA;IACA,MAAM;MACJiC,mBAAmB,GAAG,OAAO;MAC7BC,0BAA0B,GAAG,KAAK;MAClCC,mBAAmB,GAAG,KAAK;MAC3BC,iBAAiB,GAAG,CAAC,GAAG;MACxBC,8BAA8B,GAAG;IACnC,CAAC,GAAGpC,IAAI;IAER,IAAI+B,OAAO,IAAI/E,mBAAmB,EAAE;MAAA,IAAAqF,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MAClC9D,oBAAoB,GAClBA,oBAAoB,IACpBxC,QAAQ,CAACuG,uBAAuB,CAAC3D,oBAAoB,CAACC,YAAY,CAAC;MAErE,IAAI;QACF;QACA;QACA;QACA2D,MAAM;QACNC,aAAa;QACbnD,QAAQ;QACRoD,aAAa;QACbC,uBAAuB;QACvB,GAAG9C;MACL,CAAC,GAAGC,IAAI;MAER,IAAI0C,MAAM,KAAKnF,SAAS,IAAIoF,aAAa,KAAKpF,SAAS,EAAE;QACvDE,OAAO,CAACQ,IAAI,CACV,+QACF,CAAC;QACD0E,aAAa,GAAGD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;MACxC;;MAEA,MAAMI,SAAS,GAAIvB,GAAe,IAAK;QAAA,IAAAwB,eAAA,EAAAC,qBAAA;QACrC,IAAIzB,GAAG,aAAHA,GAAG,gBAAAwB,eAAA,GAAHxB,GAAG,CAAE0B,UAAU,cAAAF,eAAA,gBAAAC,qBAAA,GAAfD,eAAA,CAAiBG,eAAe,cAAAF,qBAAA,eAAhCA,qBAAA,CAAkCG,KAAK,EAAE;UAC3C5B,GAAG,CAAC0B,UAAU,CAACC,eAAe,CAACC,KAAK,GAAG;YACrC,GAAG5B,GAAG,CAAC0B,UAAU,CAACC,eAAe,CAACC,KAAK;YACvCC,OAAO,EAAE;UACX,CAAC;UACD,IAAI,CAACC,MAAM,CAAC9B,GAAG,CAAC;QAClB;MACF,CAAC;MAED,oBACEtF,KAAA,CAAA4D,aAAA,CAACR,aAAa;QAACE,MAAM,EAAE0B,YAAY,IAAI0B,aAAa,KAAK;MAAE,gBACzD1G,KAAA,CAAA4D,aAAA,CAACnB,oBAAoB,EAAA4E,QAAA,KACfvD,KAAK;QACT4C,aAAa,EAAEA,aAAc;QAC7BX,mBAAmB,EAAEA,mBAAoB;QACzCC,0BAA0B,EAAEA,0BAA2B;QACvDC,mBAAmB,EAAEA,mBAAoB;QACzCC,iBAAiB,EAAEA,iBAAkB;QACrCC,8BAA8B,EAAEA,8BAA+B;QAC/DS,uBAAuB,EAAE;UACvBU,KAAK,GAAAlB,qBAAA,GAAEQ,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEU,KAAK,cAAAlB,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;UAC3CmB,GAAG,GAAAlB,sBAAA,GAAEO,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEW,GAAG,cAAAlB,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;UACvCmB,GAAG,GAAAlB,sBAAA,GAAEM,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEY,GAAG,cAAAlB,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;UACvCmB,MAAM,GAAAlB,sBAAA,GAAEK,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEa,MAAM,cAAAlB,sBAAA,cAAAA,sBAAA,GAAI,CAAC;QAC9C;QACA;QACA;QAAA;QACAjB,GAAG,EAAEuB,SAAU;QACfa,oBAAoB,EAClB,CAACf,aAAa,GACVrF,SAAS,GACTrB,QAAQ,CAAC0H,KAAK,CACZ,CACE;UACEC,WAAW,EAAE;YACXC,QAAQ,EAAE,IAAI,CAACA,QAAQ;YACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;YACrBC,YAAY,EAAE,IAAI,CAACA;UACrB;QACF,CAAC,CACF,EACD;UAAEC,eAAe,EAAE;QAAK,CAC1B;MACL,IAEA,CAACrB,aAAa;MAAK;MAClBpD,QAAQ,gBAERvD,KAAA,CAAA4D,aAAA,CAAClD,yBAAyB,CAACuH,QAAQ;QACjCC,KAAK,EAAE;UACLL,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;UACrBC,YAAY,EAAE,IAAI,CAACA;QACrB;MAAE,GAEDxE,QACiC,CAElB,CACT,CAAC;IAEpB,CAAC,MAAM;MACL;MACA,IAAI;QACFkD,MAAM;QACNC,aAAa;QACbQ,KAAK;QACL;QACAzB,cAAc;QACd,GAAG3B;MACL,CAAC,GAAGC,IAAI;MAER,IAAI0C,MAAM,KAAKnF,SAAS,IAAIoF,aAAa,KAAKpF,SAAS,EAAE;QACvDoF,aAAa,GAAGD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;MACtC;MACA,oBACEzG,KAAA,CAAA4D,aAAA,CAAC3D,QAAQ,CAACM,IAAI,EAAA8G,QAAA;QACZH,KAAK,EAAE,CAACA,KAAK,EAAE;UAAEC,OAAO,EAAET,aAAa,KAAK,CAAC,GAAG,MAAM,GAAG;QAAO,CAAC,CAAE;QACnEpB,GAAG,EAAE,IAAI,CAAC8B;MAAO,GACbtD,KAAK,CACV,CAAC;IAEN;EACF;AACF;AAEA,SAASqE,eAAeA,CAACrE,KAA2B,EAAE;EACpD,MAAM;IAAEgC,OAAO,GAAG7E,cAAc;IAAEmH,YAAY;IAAE,GAAGrE;EAAK,CAAC,GAAGD,KAAK;EAEjE,IAAIgC,OAAO,IAAI/E,mBAAmB,EAAE;IAClC,IAAIqH,YAAY,EAAE;MAChB,oBAAOpI,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACK,+BAA+B,EAAKa,IAAO,CAAC;IAC3E;IACA,oBAAO/D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACI,qBAAqB,EAAKc,IAAO,CAAC;EACjE;EACA,oBAAO/D,KAAA,CAAA4D,aAAA,CAACrD,IAAI,EAAKwD,IAAO,CAAC;AAC3B;AAEA,SAASsE,iBAAiBA,CAACvE,KAA8B,EAAE;EACzD,IAAI3D,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;IACzBQ,OAAO,CAACQ,IAAI,CAAC,2DAA2D,CAAC;IACzE,oBAAOhC,KAAA,CAAA4D,aAAA,CAACrD,IAAI,EAAKuD,KAAQ,CAAC;EAC5B;EACA,oBACE9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACD,uBAAuB;IAC3CsE,KAAK,EAAE;MAAEoB,QAAQ,EAAE,UAAU;MAAEC,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE;IAAO;EAAE,GAE9D1E,KAAK,CAACP,QACqC,CAAC;AAEnD;AAEA,MAAMkF,MAAM,GAAGpI,UAAU,CAACqI,MAAM,CAAC;EAC/BC,aAAa,EAAE;IACbL,QAAQ,EAAE,UAAU;IACpBd,GAAG,EAAE,CAAC;IACNoB,KAAK,EAAE,CAAC;IACRC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,MAAMC,gCAAgC,GAAIlF,KAAiB,iBACzD9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACL,8BAA8B;EAClDyG,IAAI,EAAC,MAAM;EACX/B,KAAK,EAAEuB,MAAM,CAACE;AAAc,gBAE5B3I,KAAA,CAAA4D,aAAA,CAAC1D,KAAK,EAAAmH,QAAA;EAAC6B,UAAU,EAAC,QAAQ;EAACC,YAAY,EAAE;AAAE,GAAKrF,KAAK,CAAG,CACL,CACtD;AAED,MAAMsF,SAAS,SAASpJ,KAAK,CAACkF,SAAS,CAAiB;EAGtDC,WAAWA,CAACrB,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAACsB,eAAA;IACb,IAAI,CAACiE,kBAAkB,gBAAGrJ,KAAK,CAACsJ,SAAS,CAAC,CAAC;EAC7C;EAEAC,kBAAkBA,CAACC,MAAwC,EAAE;IAC3D,MAAMlE,GAAG,GAAG,IAAI,CAAC+D,kBAAkB,CAACI,OAAO;IAC3C,IAAInE,GAAG,EAAE;MACPkE,MAAM,CAAClE,GAAG,CAAC;IACb,CAAC,MAAM;MACL9D,OAAO,CAACQ,IAAI,CACV,mEACF,CAAC;IACH;EACF;EAEA0H,IAAIA,CAAA,EAAG;IACL,IAAI,CAACH,kBAAkB,CAAEjE,GAAG,IAC1BzC,oBAAoB,CAACF,uBAAuB,CAAC+G,IAAI,CAACpE,GAAG,CACvD,CAAC;EACH;EAEAqE,KAAKA,CAAA,EAAG;IACN,IAAI,CAACJ,kBAAkB,CAAEjE,GAAG,IAC1BzC,oBAAoB,CAACF,uBAAuB,CAACgH,KAAK,CAACrE,GAAG,CACxD,CAAC;EACH;EAEAsE,kBAAkBA,CAACC,IAAa,EAAE;IAChC,IAAI,CAACN,kBAAkB,CAAEjE,GAAG,IAC1BzC,oBAAoB,CAACF,uBAAuB,CAACiH,kBAAkB,CAACtE,GAAG,EAAEuE,IAAI,CAC3E,CAAC;EACH;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,CAACP,kBAAkB,CAAEjE,GAAG,IAC1BzC,oBAAoB,CAACF,uBAAuB,CAACmH,SAAS,CAACxE,GAAG,CAC5D,CAAC;EACH;EAEAyE,OAAOA,CAACC,IAAY,EAAE;IACpB,IAAI,CAACT,kBAAkB,CAAEjE,GAAG,IAC1BzC,oBAAoB,CAACF,uBAAuB,CAACoH,OAAO,CAACzE,GAAG,EAAE0E,IAAI,CAChE,CAAC;EACH;EAEAnE,MAAMA,CAAA,EAAG;IACP,IAAI,CAACjF,sCAAsC,EAAE;MAC3CY,OAAO,CAACQ,IAAI,CACV,+DACF,CAAC;MACD,OAAOzB,IAAI;IACb;IAEA,oBACEP,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACH,eAAe,EAAA2E,QAAA,KAC/B,IAAI,CAACvD,KAAK;MACdwB,GAAG,EAAE,IAAI,CAAC+D;IAAmB,EAC9B,CAAC;EAEN;AACF;AAEA,MAAMY,0BAA0B,GAC9BnG,KAAyC,iBAEzC9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACL,8BAA8B,EAAA6E,QAAA,KAC9CvD,KAAK;EACTmF,IAAI,EAAC,OAAO;EACZ/B,KAAK,EAAEuB,MAAM,CAACE;AAAc,EAC7B,CACF;AAED,MAAMuB,yBAAyB,GAC7BpG,KAAyC,iBAEzC9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACL,8BAA8B,EAAA6E,QAAA,KAC9CvD,KAAK;EACTmF,IAAI,EAAC,MAAM;EACX/B,KAAK,EAAEuB,MAAM,CAACE;AAAc,EAC7B,CACF;AAED,MAAMwB,2BAA2B,GAC/BrG,KAAyC,iBAEzC9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACL,8BAA8B,EAAA6E,QAAA,KAC9CvD,KAAK;EACTmF,IAAI,EAAC,QAAQ;EACb/B,KAAK,EAAEuB,MAAM,CAACE;AAAc,EAC7B,CACF;AAED,MAAMyB,8BAA8B,GAClCtG,KAA8C,iBAE9C9D,KAAA,CAAA4D,aAAA,CAACf,oBAAoB,CAACL,8BAA8B,EAAA6E,QAAA,KAC9CvD,KAAK;EACTmF,IAAI,EAAC,WAAW;EAChB/B,KAAK,EAAEuB,MAAM,CAACE;AAAc,EAC7B,CACF;AAgBD;AACA;AACA,MAAM0B,aAAa,gBAAGrK,KAAK,CAACsK,aAAa,CAACrF,WAAW,CAAC;AAEtD,MAAMsF,MAAM,SAASvK,KAAK,CAACkF,SAAS,CAAc;EAGhDW,MAAMA,CAAA,EAAG;IACP,MAAM2E,aAAa,GAAI,IAAI,CAACC,OAAO,IAAIxF,WAAiC;IACxE,oBAAOjF,KAAA,CAAA4D,aAAA,CAAC4G,aAAa,EAAK,IAAI,CAAC1G,KAAQ,CAAC;EAC1C;AACF;AAACsB,eAAA,CAPKmF,MAAM,iBACWF,aAAa;AAQpCK,MAAM,CAACC,OAAO,GAAG;EACf;EACA;EACAJ,MAAM;EACNpC,eAAe;EACfkC,aAAa;EACbxG,WAAW;EACXoB,WAAW;EACXmE,SAAS;EACTf,iBAAiB;EAEjB,IAAIvF,YAAYA,CAAA,EAAG;IACjB,OAAOD,oBAAoB,CAACC,YAAY;EAC1C,CAAC;EAED,IAAIG,qBAAqBA,CAAA,EAAG;IAC1B,OAAOJ,oBAAoB,CAACI,qBAAqB;EACnD,CAAC;EAED,IAAIC,+BAA+BA,CAAA,EAAG;IACpC,OAAOL,oBAAoB,CAACK,+BAA+B;EAC7D,CAAC;EAED,IAAI0H,uBAAuBA,CAAA,EAAG;IAC5B,OAAO/H,oBAAoB,CAACN,6BAA6B;EAC3D,CAAC;EACD,IAAIsI,wBAAwBA,CAAA,EAAG;IAC7B,OAAOhI,oBAAoB,CAACL,8BAA8B;EAC5D,CAAC;EACD,IAAIsI,iBAAiBA,CAAA,EAAG;IACtB,OAAOjI,oBAAoB,CAACF,uBAAuB;EACrD,CAAC;EACD;EACA;EACAqG,gCAAgC;EAChCiB,0BAA0B;EAC1BC,yBAAyB;EACzBC,2BAA2B;EAC3BC,8BAA8B;EAE9BlJ,aAAa;EACbS,YAAY;EACZO,cAAc;EACdD,sBAAsB;EACtBtB,qBAAqB;EAErBC,sCAAsC;EACtCC,4BAA4B;EAC5BC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","_ref","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useEffect","dangerouslyGetParent","undefined","console","warn","_addListener","_ref2","addListener","call","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createElement","_extends"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigation as typeof navigation & { addListener: any })?.addListener?.(\n 'tabPress',\n (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }\n ),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";AAAA,SACEA,sBAAsB,EAEtBC,YAAY,EAGZC,WAAW,EAGXC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAM9B,OAAOC,eAAe,MAAM,0BAA0B;AAEtD,SAASC,oBAAoBA,CAAAC,IAAA,EAKC;EAAA,IALA;IAC5BC,gBAAgB;IAChBC,QAAQ;IACRC,aAAa;IACb,GAAGC;EACsB,CAAC,GAAAJ,IAAA;EAC1B,MAAM;IAAEK,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGX,oBAAoB,CAM7DD,WAAW,EAAE;IACbM,gBAAgB;IAChBC,QAAQ;IACRC;EACF,CAAC,CAAC;;EAEF;EACA;EACAN,KAAK,CAACW,SAAS,CAAC,MAAM;IACpB;IACA,IAAI,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,oBAAoB,MAAKC,SAAS,EAAE;MAClDC,OAAO,CAACC,IAAI,CACV,2LAA2L,CAC5L;IACH;EACF,CAAC,EAAE,CAACL,UAAU,CAAC,CAAC;EAEhBV,KAAK,CAACW,SAAS,CACb;IAAA,IAAAK,YAAA,EAAAC,KAAA;IAAA,OACE;MACCP,UAAU,aAAVA,UAAU,wBAAAM,YAAA,GAAX,CAAAC,KAAA,GAACP,UAAU,EAA+CQ,WAAW,cAAAF,YAAA,uBAArEA,YAAA,CAAAG,IAAA,CAAAF,KAAA,EACE,UAAU,EACTG,CAAM,IAAK;QACV,MAAMC,SAAS,GAAGX,UAAU,CAACW,SAAS,EAAE;;QAExC;QACA;QACAC,qBAAqB,CAAC,MAAM;UAC1B,IACEd,KAAK,CAACe,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EACnD;YACA;YACA;YACAd,UAAU,CAACe,QAAQ,CAAC;cAClB,GAAG5B,YAAY,CAAC6B,QAAQ,EAAE;cAC1BC,MAAM,EAAEnB,KAAK,CAACoB;YAChB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAC;IACF;EAAA,GACH,CAAClB,UAAU,EAAEF,KAAK,CAACe,KAAK,EAAEf,KAAK,CAACoB,GAAG,CAAC,CACrC;EAED,oBACE5B,KAAA,CAAA6B,aAAA,CAAC5B,eAAe,EAAA6B,QAAA,KACVvB,IAAI;IACRC,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA;EAAY,GACzB;AAEN;AAEA,eAAeb,sBAAsB,CAKnCM,oBAAoB,CAAC"}
1
+ {"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","_ref","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useEffect","dangerouslyGetParent","undefined","console","warn","_addListener","_ref2","addListener","call","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createElement","_extends"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigation as typeof navigation & { addListener: any })?.addListener?.(\n 'tabPress',\n (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }\n ),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";AAAA,SACEA,sBAAsB,EAEtBC,YAAY,EAGZC,WAAW,EAGXC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAM9B,OAAOC,eAAe,MAAM,0BAA0B;AAEtD,SAASC,oBAAoBA,CAAAC,IAAA,EAKC;EAAA,IALA;IAC5BC,gBAAgB;IAChBC,QAAQ;IACRC,aAAa;IACb,GAAGC;EACsB,CAAC,GAAAJ,IAAA;EAC1B,MAAM;IAAEK,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGX,oBAAoB,CAM7DD,WAAW,EAAE;IACbM,gBAAgB;IAChBC,QAAQ;IACRC;EACF,CAAC,CAAC;;EAEF;EACA;EACAN,KAAK,CAACW,SAAS,CAAC,MAAM;IACpB;IACA,IAAI,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,oBAAoB,MAAKC,SAAS,EAAE;MAClDC,OAAO,CAACC,IAAI,CACV,2LACF,CAAC;IACH;EACF,CAAC,EAAE,CAACL,UAAU,CAAC,CAAC;EAEhBV,KAAK,CAACW,SAAS,CACb;IAAA,IAAAK,YAAA,EAAAC,KAAA;IAAA,OACE;MACCP,UAAU,aAAVA,UAAU,wBAAAM,YAAA,GAAX,CAAAC,KAAA,GAACP,UAAU,EAA+CQ,WAAW,cAAAF,YAAA,uBAArEA,YAAA,CAAAG,IAAA,CAAAF,KAAA,EACE,UAAU,EACTG,CAAM,IAAK;QACV,MAAMC,SAAS,GAAGX,UAAU,CAACW,SAAS,CAAC,CAAC;;QAExC;QACA;QACAC,qBAAqB,CAAC,MAAM;UAC1B,IACEd,KAAK,CAACe,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EACnD;YACA;YACA;YACAd,UAAU,CAACe,QAAQ,CAAC;cAClB,GAAG5B,YAAY,CAAC6B,QAAQ,CAAC,CAAC;cAC1BC,MAAM,EAAEnB,KAAK,CAACoB;YAChB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CACF;IAAC;EAAA,GACH,CAAClB,UAAU,EAAEF,KAAK,CAACe,KAAK,EAAEf,KAAK,CAACoB,GAAG,CACrC,CAAC;EAED,oBACE5B,KAAA,CAAA6B,aAAA,CAAC5B,eAAe,EAAA6B,QAAA,KACVvB,IAAI;IACRC,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA;EAAY,EAC1B,CAAC;AAEN;AAEA,eAAeb,sBAAsB,CAKnCM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","Platform","StyleSheet","View","initialWindowMetrics","SafeAreaInsetsContext","SafeAreaProvider","width","height","get","initialMetrics","OS","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","_ref","children","style","createElement","Consumer","styles","container","create","flex"],"sources":["SafeAreaProviderCompat.tsx"],"sourcesContent":["// code taken from\n// https://github.com/react-navigation/react-navigation/blob/ec0d113eb25c39ef9defb6c7215640f44e3569ae/packages/elements/src/SafeAreaProviderCompat.tsx\nimport * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"AAAA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,UAAU,EACVC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AAOvC,MAAM;EAAEC,KAAK,GAAG,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,GAAGR,UAAU,CAACS,GAAG,CAAC,QAAQ,CAAC;;AAE1D;AACA;AACA;AACA,MAAMC,cAAc,GAClBT,QAAQ,CAACU,EAAE,KAAK,KAAK,IAAIP,oBAAoB,IAAI,IAAI,GACjD;EACEQ,KAAK,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEP,KAAK;IAAEC;EAAO,CAAC;EACpCO,MAAM,EAAE;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACjD,CAAC,GACDf,oBAAoB;AAE1B,eAAe,SAASgB,sBAAsBA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAF,IAAA;EACvE,oBACEtB,KAAA,CAAAyB,aAAA,CAACnB,qBAAqB,CAACoB,QAAQ,QAC3BV,MAAM,IAAK;IACX,IAAIA,MAAM,EAAE;MACV;MACA;MACA;MACA,oBAAOhB,KAAA,CAAAyB,aAAA,CAACrB,IAAI;QAACoB,KAAK,EAAE,CAACG,MAAM,CAACC,SAAS,EAAEJ,KAAK;MAAE,GAAED,QAAQ,CAAQ;IAClE;IAEA,oBACEvB,KAAA,CAAAyB,aAAA,CAAClB,gBAAgB;MAACI,cAAc,EAAEA,cAAe;MAACa,KAAK,EAAEA;IAAM,GAC5DD,QAAQ,CACQ;EAEvB,CAAC,CAC8B;AAErC;AAEAF,sBAAsB,CAACV,cAAc,GAAGA,cAAc;AAEtD,MAAMgB,MAAM,GAAGxB,UAAU,CAAC0B,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["React","Dimensions","Platform","StyleSheet","View","initialWindowMetrics","SafeAreaInsetsContext","SafeAreaProvider","width","height","get","initialMetrics","OS","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","_ref","children","style","createElement","Consumer","styles","container","create","flex"],"sources":["SafeAreaProviderCompat.tsx"],"sourcesContent":["// code taken from\n// https://github.com/react-navigation/react-navigation/blob/ec0d113eb25c39ef9defb6c7215640f44e3569ae/packages/elements/src/SafeAreaProviderCompat.tsx\nimport * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"AAAA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,UAAU,EACVC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AAOvC,MAAM;EAAEC,KAAK,GAAG,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,GAAGR,UAAU,CAACS,GAAG,CAAC,QAAQ,CAAC;;AAE1D;AACA;AACA;AACA,MAAMC,cAAc,GAClBT,QAAQ,CAACU,EAAE,KAAK,KAAK,IAAIP,oBAAoB,IAAI,IAAI,GACjD;EACEQ,KAAK,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEP,KAAK;IAAEC;EAAO,CAAC;EACpCO,MAAM,EAAE;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACjD,CAAC,GACDf,oBAAoB;AAE1B,eAAe,SAASgB,sBAAsBA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAF,IAAA;EACvE,oBACEtB,KAAA,CAAAyB,aAAA,CAACnB,qBAAqB,CAACoB,QAAQ,QAC3BV,MAAM,IAAK;IACX,IAAIA,MAAM,EAAE;MACV;MACA;MACA;MACA,oBAAOhB,KAAA,CAAAyB,aAAA,CAACrB,IAAI;QAACoB,KAAK,EAAE,CAACG,MAAM,CAACC,SAAS,EAAEJ,KAAK;MAAE,GAAED,QAAe,CAAC;IAClE;IAEA,oBACEvB,KAAA,CAAAyB,aAAA,CAAClB,gBAAgB;MAACI,cAAc,EAAEA,cAAe;MAACa,KAAK,EAAEA;IAAM,GAC5DD,QACe,CAAC;EAEvB,CAC8B,CAAC;AAErC;AAEAF,sBAAsB,CAACV,cAAc,GAAGA,cAAc;AAEtD,MAAMgB,MAAM,GAAGxB,UAAU,CAAC0B,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","BackHandler","useBackPressSubscription","_ref","onBackPress","isDisabled","isActive","setIsActive","useState","subscription","useRef","clearSubscription","useCallback","_subscription$current","shouldSetActive","arguments","length","undefined","current","remove","createSubscription","_subscription$current2","addEventListener","handleAttached","handleDetached","useEffect"],"sources":["useBackPressSubscription.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, NativeEventSubscription } from 'react-native';\n\ninterface Args {\n onBackPress: () => boolean;\n isDisabled: boolean;\n}\n\ninterface UseBackPressSubscription {\n handleAttached: () => void;\n handleDetached: () => void;\n createSubscription: () => void;\n clearSubscription: () => void;\n}\n\n/**\n * This hook is an abstraction for keeping back press subscription\n * logic in one place.\n */\nexport function useBackPressSubscription({\n onBackPress,\n isDisabled,\n}: Args): UseBackPressSubscription {\n const [isActive, setIsActive] = React.useState(false);\n const subscription = React.useRef<NativeEventSubscription | undefined>();\n\n const clearSubscription = React.useCallback((shouldSetActive = true) => {\n subscription.current?.remove();\n subscription.current = undefined;\n if (shouldSetActive) setIsActive(false);\n }, []);\n\n const createSubscription = React.useCallback(() => {\n if (!isDisabled) {\n subscription.current?.remove();\n subscription.current = BackHandler.addEventListener(\n 'hardwareBackPress',\n onBackPress\n );\n setIsActive(true);\n }\n }, [isDisabled, onBackPress]);\n\n const handleAttached = React.useCallback(() => {\n if (isActive) {\n createSubscription();\n }\n }, [createSubscription, isActive]);\n\n const handleDetached = React.useCallback(() => {\n clearSubscription(false);\n }, [clearSubscription]);\n\n React.useEffect(() => {\n if (isDisabled) {\n clearSubscription();\n }\n }, [isDisabled, clearSubscription]);\n\n return {\n handleAttached,\n handleDetached,\n createSubscription,\n clearSubscription,\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAiC,cAAc;AAcnE;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAAC,IAAA,EAGL;EAAA,IAHM;IACvCC,WAAW;IACXC;EACI,CAAC,GAAAF,IAAA;EACL,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGP,KAAK,CAACQ,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGT,KAAK,CAACU,MAAM,EAAuC;EAExE,MAAMC,iBAAiB,GAAGX,KAAK,CAACY,WAAW,CAAC,YAA4B;IAAA,IAAAC,qBAAA;IAAA,IAA3BC,eAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IACjE,CAAAF,qBAAA,GAAAJ,YAAY,CAACS,OAAO,cAAAL,qBAAA,uBAApBA,qBAAA,CAAsBM,MAAM,EAAE;IAC9BV,YAAY,CAACS,OAAO,GAAGD,SAAS;IAChC,IAAIH,eAAe,EAAEP,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,kBAAkB,GAAGpB,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,IAAI,CAACP,UAAU,EAAE;MAAA,IAAAgB,sBAAA;MACf,CAAAA,sBAAA,GAAAZ,YAAY,CAACS,OAAO,cAAAG,sBAAA,uBAApBA,sBAAA,CAAsBF,MAAM,EAAE;MAC9BV,YAAY,CAACS,OAAO,GAAGjB,WAAW,CAACqB,gBAAgB,CACjD,mBAAmB,EACnBlB,WAAW,CACZ;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMmB,cAAc,GAAGvB,KAAK,CAACY,WAAW,CAAC,MAAM;IAC7C,IAAIN,QAAQ,EAAE;MACZc,kBAAkB,EAAE;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEd,QAAQ,CAAC,CAAC;EAElC,MAAMkB,cAAc,GAAGxB,KAAK,CAACY,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBX,KAAK,CAACyB,SAAS,CAAC,MAAM;IACpB,IAAIpB,UAAU,EAAE;MACdM,iBAAiB,EAAE;IACrB;EACF,CAAC,EAAE,CAACN,UAAU,EAAEM,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLY,cAAc;IACdC,cAAc;IACdJ,kBAAkB;IAClBT;EACF,CAAC;AACH"}
1
+ {"version":3,"names":["React","BackHandler","useBackPressSubscription","_ref","onBackPress","isDisabled","isActive","setIsActive","useState","subscription","useRef","clearSubscription","useCallback","_subscription$current","shouldSetActive","arguments","length","undefined","current","remove","createSubscription","_subscription$current2","addEventListener","handleAttached","handleDetached","useEffect"],"sources":["useBackPressSubscription.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, NativeEventSubscription } from 'react-native';\n\ninterface Args {\n onBackPress: () => boolean;\n isDisabled: boolean;\n}\n\ninterface UseBackPressSubscription {\n handleAttached: () => void;\n handleDetached: () => void;\n createSubscription: () => void;\n clearSubscription: () => void;\n}\n\n/**\n * This hook is an abstraction for keeping back press subscription\n * logic in one place.\n */\nexport function useBackPressSubscription({\n onBackPress,\n isDisabled,\n}: Args): UseBackPressSubscription {\n const [isActive, setIsActive] = React.useState(false);\n const subscription = React.useRef<NativeEventSubscription | undefined>();\n\n const clearSubscription = React.useCallback((shouldSetActive = true) => {\n subscription.current?.remove();\n subscription.current = undefined;\n if (shouldSetActive) setIsActive(false);\n }, []);\n\n const createSubscription = React.useCallback(() => {\n if (!isDisabled) {\n subscription.current?.remove();\n subscription.current = BackHandler.addEventListener(\n 'hardwareBackPress',\n onBackPress\n );\n setIsActive(true);\n }\n }, [isDisabled, onBackPress]);\n\n const handleAttached = React.useCallback(() => {\n if (isActive) {\n createSubscription();\n }\n }, [createSubscription, isActive]);\n\n const handleDetached = React.useCallback(() => {\n clearSubscription(false);\n }, [clearSubscription]);\n\n React.useEffect(() => {\n if (isDisabled) {\n clearSubscription();\n }\n }, [isDisabled, clearSubscription]);\n\n return {\n handleAttached,\n handleDetached,\n createSubscription,\n clearSubscription,\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAiC,cAAc;AAcnE;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAAC,IAAA,EAGL;EAAA,IAHM;IACvCC,WAAW;IACXC;EACI,CAAC,GAAAF,IAAA;EACL,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGP,KAAK,CAACQ,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGT,KAAK,CAACU,MAAM,CAAsC,CAAC;EAExE,MAAMC,iBAAiB,GAAGX,KAAK,CAACY,WAAW,CAAC,YAA4B;IAAA,IAAAC,qBAAA;IAAA,IAA3BC,eAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IACjE,CAAAF,qBAAA,GAAAJ,YAAY,CAACS,OAAO,cAAAL,qBAAA,uBAApBA,qBAAA,CAAsBM,MAAM,CAAC,CAAC;IAC9BV,YAAY,CAACS,OAAO,GAAGD,SAAS;IAChC,IAAIH,eAAe,EAAEP,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,kBAAkB,GAAGpB,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,IAAI,CAACP,UAAU,EAAE;MAAA,IAAAgB,sBAAA;MACf,CAAAA,sBAAA,GAAAZ,YAAY,CAACS,OAAO,cAAAG,sBAAA,uBAApBA,sBAAA,CAAsBF,MAAM,CAAC,CAAC;MAC9BV,YAAY,CAACS,OAAO,GAAGjB,WAAW,CAACqB,gBAAgB,CACjD,mBAAmB,EACnBlB,WACF,CAAC;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMmB,cAAc,GAAGvB,KAAK,CAACY,WAAW,CAAC,MAAM;IAC7C,IAAIN,QAAQ,EAAE;MACZc,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEd,QAAQ,CAAC,CAAC;EAElC,MAAMkB,cAAc,GAAGxB,KAAK,CAACY,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBX,KAAK,CAACyB,SAAS,CAAC,MAAM;IACpB,IAAIpB,UAAU,EAAE;MACdM,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAACN,UAAU,EAAEM,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLY,cAAc;IACdC,cAAc;IACdJ,kBAAkB;IAClBT;EACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","HeaderHeightContext","useHeaderHeight","height","useContext","undefined","Error"],"sources":["useHeaderHeight.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,mBAAmB,MAAM,uBAAuB;AAEvD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAGH,KAAK,CAACI,UAAU,CAACH,mBAAmB,CAAC;EAEpD,IAAIE,MAAM,KAAKE,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFAAwF,CACzF;EACH;EAEA,OAAOH,MAAM;AACf"}
1
+ {"version":3,"names":["React","HeaderHeightContext","useHeaderHeight","height","useContext","undefined","Error"],"sources":["useHeaderHeight.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,mBAAmB,MAAM,uBAAuB;AAEvD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAGH,KAAK,CAACI,UAAU,CAACH,mBAAmB,CAAC;EAEpD,IAAIE,MAAM,KAAKE,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOH,MAAM;AACf"}
@@ -1 +1 @@
1
- {"version":3,"names":["useTheme","React","Platform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","isSearchBarAvailableForCurrentPlatform","executeNativeBackPress","useBackPressSubscription","processFonts","HeaderConfig","_ref","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","onBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","useEffect","processedSearchBarOptions","useMemo","OS","onFocus","_searchBar$onFocus","_len","arguments","length","args","Array","_key","call","onClose","_searchBar$onClose","_len2","_key2","createElement","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","color","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","undefined","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","key","source"],"sources":["HeaderConfig.tsx"],"sourcesContent":["import { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform } from 'react-native';\nimport {\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n SearchBarProps,\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from 'react-native-screens';\nimport { NativeStackNavigationOptions } from '../types';\nimport { useBackPressSubscription } from '../utils/useBackPressSubscription';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n route: Route<string>;\n};\n\nexport default function HeaderConfig({\n backButtonImage,\n backButtonInCustomView,\n direction,\n disableBackButtonMenu,\n headerBackTitle,\n headerBackTitleStyle = {},\n headerBackTitleVisible = true,\n headerCenter,\n headerHideBackButton,\n headerHideShadow,\n headerLargeStyle = {},\n headerLargeTitle,\n headerLargeTitleHideShadow,\n headerLargeTitleStyle = {},\n headerLeft,\n headerRight,\n headerShown,\n headerStyle = {},\n headerTintColor,\n headerTitle,\n headerTitleStyle = {},\n headerTopInsetEnabled = true,\n headerTranslucent,\n route,\n searchBar,\n title,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor = headerTintColor ?? colors.primary;\n\n // We need to use back press subscription here to override back button behavior on JS side.\n // Because screens are usually used with react-navigation and this library overrides back button\n // we need to handle it first in case when search bar is open\n const {\n handleAttached,\n handleDetached,\n clearSubscription,\n createSubscription,\n } = useBackPressSubscription({\n onBackPress: executeNativeBackPress,\n isDisabled: !searchBar || !!searchBar.disableBackButtonOverride,\n });\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyle.fontFamily,\n headerLargeTitleStyle.fontFamily,\n headerTitleStyle.fontFamily,\n ]);\n\n // We want to clear clearSubscription only when components unmounts or search bar changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(() => clearSubscription, [searchBar]);\n\n const processedSearchBarOptions = React.useMemo(() => {\n if (\n Platform.OS === 'android' &&\n searchBar &&\n !searchBar.disableBackButtonOverride\n ) {\n const onFocus: SearchBarProps['onFocus'] = (...args) => {\n createSubscription();\n searchBar.onFocus?.(...args);\n };\n const onClose: SearchBarProps['onClose'] = (...args) => {\n clearSubscription();\n searchBar.onClose?.(...args);\n };\n\n return { ...searchBar, onFocus, onClose };\n }\n return searchBar;\n }, [searchBar, createSubscription, clearSubscription]);\n\n return (\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card\n }\n backTitle={headerBackTitle}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\n backTitleVisible={headerBackTitleVisible}\n blurEffect={headerStyle.blurEffect}\n color={tintColor}\n direction={direction}\n disableBackButtonMenu={disableBackButtonMenu}\n hidden={headerShown === false}\n hideBackButton={headerHideBackButton}\n hideShadow={headerHideShadow}\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyle.backgroundColor}\n largeTitleColor={headerLargeTitleStyle.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyle.fontSize}\n largeTitleFontWeight={headerLargeTitleStyle.fontWeight}\n largeTitleHideShadow={headerLargeTitleHideShadow}\n title={\n headerTitle !== undefined\n ? headerTitle\n : title !== undefined\n ? title\n : route.name\n }\n titleColor={\n headerTitleStyle.color !== undefined\n ? headerTitleStyle.color\n : headerTintColor !== undefined\n ? headerTintColor\n : colors.text\n }\n titleFontFamily={titleFontFamily}\n titleFontSize={headerTitleStyle.fontSize}\n titleFontWeight={headerTitleStyle.fontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={headerTranslucent === true}\n onAttached={handleAttached}\n onDetached={handleDetached}\n >\n {headerRight !== undefined ? (\n <ScreenStackHeaderRightView>\n {headerRight({ tintColor })}\n </ScreenStackHeaderRightView>\n ) : null}\n {backButtonImage !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n key=\"backImage\"\n source={backButtonImage}\n />\n ) : null}\n {headerLeft !== undefined ? (\n <ScreenStackHeaderLeftView>\n {headerLeft({ tintColor })}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerCenter !== undefined ? (\n <ScreenStackHeaderCenterView>\n {headerCenter({ tintColor })}\n </ScreenStackHeaderCenterView>\n ) : null}\n {isSearchBarAvailableForCurrentPlatform &&\n processedSearchBarOptions !== undefined ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...processedSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useTheme","React","Platform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","isSearchBarAvailableForCurrentPlatform","executeNativeBackPress","useBackPressSubscription","processFonts","HeaderConfig","_ref","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","onBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","useEffect","processedSearchBarOptions","useMemo","OS","onFocus","_searchBar$onFocus","_len","arguments","length","args","Array","_key","call","onClose","_searchBar$onClose","_len2","_key2","createElement","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","color","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","undefined","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","key","source"],"sources":["HeaderConfig.tsx"],"sourcesContent":["import { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform } from 'react-native';\nimport {\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n SearchBarProps,\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from 'react-native-screens';\nimport { NativeStackNavigationOptions } from '../types';\nimport { useBackPressSubscription } from '../utils/useBackPressSubscription';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n route: Route<string>;\n};\n\nexport default function HeaderConfig({\n backButtonImage,\n backButtonInCustomView,\n direction,\n disableBackButtonMenu,\n headerBackTitle,\n headerBackTitleStyle = {},\n headerBackTitleVisible = true,\n headerCenter,\n headerHideBackButton,\n headerHideShadow,\n headerLargeStyle = {},\n headerLargeTitle,\n headerLargeTitleHideShadow,\n headerLargeTitleStyle = {},\n headerLeft,\n headerRight,\n headerShown,\n headerStyle = {},\n headerTintColor,\n headerTitle,\n headerTitleStyle = {},\n headerTopInsetEnabled = true,\n headerTranslucent,\n route,\n searchBar,\n title,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor = headerTintColor ?? colors.primary;\n\n // We need to use back press subscription here to override back button behavior on JS side.\n // Because screens are usually used with react-navigation and this library overrides back button\n // we need to handle it first in case when search bar is open\n const {\n handleAttached,\n handleDetached,\n clearSubscription,\n createSubscription,\n } = useBackPressSubscription({\n onBackPress: executeNativeBackPress,\n isDisabled: !searchBar || !!searchBar.disableBackButtonOverride,\n });\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyle.fontFamily,\n headerLargeTitleStyle.fontFamily,\n headerTitleStyle.fontFamily,\n ]);\n\n // We want to clear clearSubscription only when components unmounts or search bar changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(() => clearSubscription, [searchBar]);\n\n const processedSearchBarOptions = React.useMemo(() => {\n if (\n Platform.OS === 'android' &&\n searchBar &&\n !searchBar.disableBackButtonOverride\n ) {\n const onFocus: SearchBarProps['onFocus'] = (...args) => {\n createSubscription();\n searchBar.onFocus?.(...args);\n };\n const onClose: SearchBarProps['onClose'] = (...args) => {\n clearSubscription();\n searchBar.onClose?.(...args);\n };\n\n return { ...searchBar, onFocus, onClose };\n }\n return searchBar;\n }, [searchBar, createSubscription, clearSubscription]);\n\n return (\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card\n }\n backTitle={headerBackTitle}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\n backTitleVisible={headerBackTitleVisible}\n blurEffect={headerStyle.blurEffect}\n color={tintColor}\n direction={direction}\n disableBackButtonMenu={disableBackButtonMenu}\n hidden={headerShown === false}\n hideBackButton={headerHideBackButton}\n hideShadow={headerHideShadow}\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyle.backgroundColor}\n largeTitleColor={headerLargeTitleStyle.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyle.fontSize}\n largeTitleFontWeight={headerLargeTitleStyle.fontWeight}\n largeTitleHideShadow={headerLargeTitleHideShadow}\n title={\n headerTitle !== undefined\n ? headerTitle\n : title !== undefined\n ? title\n : route.name\n }\n titleColor={\n headerTitleStyle.color !== undefined\n ? headerTitleStyle.color\n : headerTintColor !== undefined\n ? headerTintColor\n : colors.text\n }\n titleFontFamily={titleFontFamily}\n titleFontSize={headerTitleStyle.fontSize}\n titleFontWeight={headerTitleStyle.fontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={headerTranslucent === true}\n onAttached={handleAttached}\n onDetached={handleDetached}\n >\n {headerRight !== undefined ? (\n <ScreenStackHeaderRightView>\n {headerRight({ tintColor })}\n </ScreenStackHeaderRightView>\n ) : null}\n {backButtonImage !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n key=\"backImage\"\n source={backButtonImage}\n />\n ) : null}\n {headerLeft !== undefined ? (\n <ScreenStackHeaderLeftView>\n {headerLeft({ tintColor })}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerCenter !== undefined ? (\n <ScreenStackHeaderCenterView>\n {headerCenter({ tintColor })}\n </ScreenStackHeaderCenterView>\n ) : null}\n {isSearchBarAvailableForCurrentPlatform &&\n processedSearchBarOptions !== undefined ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...processedSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","StyleSheet","View","AppContainer","warnOnce","ScreenStack","ScreenContext","StackActions","useTheme","useSafeAreaFrame","useSafeAreaInsets","HeaderConfig","SafeAreaProviderCompat","getDefaultHeaderHeight","HeaderHeightContext","isAndroid","OS","Container","__DEV__","DebugContainer","props","stackPresentation","rest","createElement","MaybeNestedStack","_ref","options","route","children","colors","headerShown","contentStyle","Screen","useContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","current","name","content","style","styles","container","backgroundColor","background","topInset","top","dimensions","headerHeight","enabled","isNativeStack","absoluteFill","Provider","value","_extends","RouteView","_ref2","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","hideKeyboardOnSwipe","homeIndicatorHidden","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","freezeOnBlur","customAnimationOnSwipe","fullScreenSwipeEnabled","gestureResponseDistance","stackAnimation","undefined","isHeaderInPush","parentHeaderHeight","dark","onHeaderBackButtonClicked","dispatch","pop","source","target","onWillAppear","emit","type","data","closing","onWillDisappear","onAppear","onDisappear","onDismissed","e","dismissCount","nativeEvent","NativeStackViewInner","_ref3","state","routes","map","NativeStackView","create","flex"],"sources":["NativeStackView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\n// eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}\n >\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n hideKeyboardOnSwipe,\n homeIndicatorHidden,\n sheetAllowedDetents = 'large',\n sheetLargestUndimmedDetent = 'all',\n sheetGrabberVisible = false,\n sheetCornerRadius = -1.0,\n sheetExpandsWhenScrolledToEdge = true,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n freezeOnBlur,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n gestureResponseDistance,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n const { dark } = useTheme();\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n sheetAllowedDetents={sheetAllowedDetents}\n sheetLargestUndimmedDetent={sheetLargestUndimmedDetent}\n sheetGrabberVisible={sheetGrabberVisible}\n sheetCornerRadius={sheetCornerRadius}\n sheetExpandsWhenScrolledToEdge={sheetExpandsWhenScrolledToEdge}\n customAnimationOnSwipe={customAnimationOnSwipe}\n freezeOnBlur={freezeOnBlur}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n hideKeyboardOnSwipe={hideKeyboardOnSwipe}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle ?? (dark ? 'light' : 'dark')}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}\n >\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}\n >\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Platform","StyleSheet","View","AppContainer","warnOnce","ScreenStack","ScreenContext","StackActions","useTheme","useSafeAreaFrame","useSafeAreaInsets","HeaderConfig","SafeAreaProviderCompat","getDefaultHeaderHeight","HeaderHeightContext","isAndroid","OS","Container","__DEV__","DebugContainer","props","stackPresentation","rest","createElement","MaybeNestedStack","_ref","options","route","children","colors","headerShown","contentStyle","Screen","useContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","current","name","content","style","styles","container","backgroundColor","background","topInset","top","dimensions","headerHeight","enabled","isNativeStack","absoluteFill","Provider","value","_extends","RouteView","_ref2","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","hideKeyboardOnSwipe","homeIndicatorHidden","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","freezeOnBlur","customAnimationOnSwipe","fullScreenSwipeEnabled","gestureResponseDistance","stackAnimation","undefined","isHeaderInPush","parentHeaderHeight","dark","onHeaderBackButtonClicked","dispatch","pop","source","target","onWillAppear","emit","type","data","closing","onWillDisappear","onAppear","onDisappear","onDismissed","e","dismissCount","nativeEvent","NativeStackViewInner","_ref3","state","routes","map","NativeStackView","create","flex"],"sources":["NativeStackView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\n// eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}\n >\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n hideKeyboardOnSwipe,\n homeIndicatorHidden,\n sheetAllowedDetents = 'large',\n sheetLargestUndimmedDetent = 'all',\n sheetGrabberVisible = false,\n sheetCornerRadius = -1.0,\n sheetExpandsWhenScrolledToEdge = true,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n freezeOnBlur,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n gestureResponseDistance,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n const { dark } = useTheme();\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n sheetAllowedDetents={sheetAllowedDetents}\n sheetLargestUndimmedDetent={sheetLargestUndimmedDetent}\n sheetGrabberVisible={sheetGrabberVisible}\n sheetCornerRadius={sheetCornerRadius}\n sheetExpandsWhenScrolledToEdge={sheetExpandsWhenScrolledToEdge}\n customAnimationOnSwipe={customAnimationOnSwipe}\n freezeOnBlur={freezeOnBlur}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n hideKeyboardOnSwipe={hideKeyboardOnSwipe}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle ?? (dark ? 'light' : 'dark')}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}\n >\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}\n >\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","InnerScreen","Animated","useEvent","useSharedValue","ReanimatedTransitionProgressContext","AnimatedScreen","createAnimatedComponent","ENABLE_FABRIC","_global","global","_IS_FABRIC","ReanimatedNativeStackScreen","forwardRef","props","ref","children","rest","progress","closing","goingForward","createElement","_extends","onTransitionProgressReanimated","event","value","OS","Provider","displayName"],"sources":["ReanimatedNativeStackScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n InnerScreen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\n// We use prop added to global by reanimated since it seems safer than the one from RN. See:\n// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?._IS_FABRIC;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n onTransitionProgressReanimated={useEvent(\n (event: TransitionProgressEventType) => {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n {...rest}\n >\n <ReanimatedTransitionProgressContext.Provider\n value={{\n progress: progress,\n closing: closing,\n goingForward: goingForward,\n }}\n >\n {children}\n </ReanimatedTransitionProgressContext.Provider>\n </AnimatedScreen>\n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,WAAW,QAGN,sBAAsB;;AAE7B;AACA,OAAOC,QAAQ,IAAIC,QAAQ,EAAEC,cAAc,QAAQ,yBAAyB;AAC5E,OAAOC,mCAAmC,MAAM,uCAAuC;AAEvF,MAAMC,cAAc,GAAGJ,QAAQ,CAACK,uBAAuB,CACrDN,WAAW,CACZ;;AAED;AACA;AACA;AACA,MAAMO,aAAa,GAAG,CAAC,GAAAC,OAAA,GAACC,MAAM,cAAAD,OAAA,eAANA,OAAA,CAAQE,UAAU;AAE1C,MAAMC,2BAA2B,gBAAGb,KAAK,CAACc,UAAU,CAGlD,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,MAAM;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAEnC,MAAMI,QAAQ,GAAGd,cAAc,CAAC,CAAC,CAAC;EAClC,MAAMe,OAAO,GAAGf,cAAc,CAAC,CAAC,CAAC;EACjC,MAAMgB,YAAY,GAAGhB,cAAc,CAAC,CAAC,CAAC;EAEtC,oBACEL,KAAA,CAAAsB,aAAA,CAACf;EACC;EAAA,EAAAgB,QAAA;IACAP,GAAG,EAAEA,GAAI;IACTQ,8BAA8B,EAAEpB,QAAQ,CACrCqB,KAAkC,IAAK;MACtC,SAAS;;MACTN,QAAQ,CAACO,KAAK,GAAGD,KAAK,CAACN,QAAQ;MAC/BC,OAAO,CAACM,KAAK,GAAGD,KAAK,CAACL,OAAO;MAC7BC,YAAY,CAACK,KAAK,GAAGD,KAAK,CAACJ,YAAY;IACzC,CAAC,EACD;IACE;IACA;IACApB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,GACrB,sBAAsB;IACtB;IACFlB,aAAa,GACX,sBAAsB,GACtB,uBAAuB,CAC5B;EACD,GACES,IAAI,gBAERlB,KAAA,CAAAsB,aAAA,CAAChB,mCAAmC,CAACsB,QAAQ;IAC3CF,KAAK,EAAE;MACLP,QAAQ,EAAEA,QAAQ;MAClBC,OAAO,EAAEA,OAAO;MAChBC,YAAY,EAAEA;IAChB;EAAE,GAEDJ,QAAQ,CACoC,CAChC;AAErB,CAAC,CAAC;AAEFJ,2BAA2B,CAACgB,WAAW,GAAG,6BAA6B;AAEvE,eAAehB,2BAA2B"}
1
+ {"version":3,"names":["React","Platform","InnerScreen","Animated","useEvent","useSharedValue","ReanimatedTransitionProgressContext","AnimatedScreen","createAnimatedComponent","ENABLE_FABRIC","_global","global","_IS_FABRIC","ReanimatedNativeStackScreen","forwardRef","props","ref","children","rest","progress","closing","goingForward","createElement","_extends","onTransitionProgressReanimated","event","value","OS","Provider","displayName"],"sources":["ReanimatedNativeStackScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n InnerScreen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\n// We use prop added to global by reanimated since it seems safer than the one from RN. See:\n// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?._IS_FABRIC;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n onTransitionProgressReanimated={useEvent(\n (event: TransitionProgressEventType) => {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n {...rest}\n >\n <ReanimatedTransitionProgressContext.Provider\n value={{\n progress: progress,\n closing: closing,\n goingForward: goingForward,\n }}\n >\n {children}\n </ReanimatedTransitionProgressContext.Provider>\n </AnimatedScreen>\n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,WAAW,QAGN,sBAAsB;;AAE7B;AACA,OAAOC,QAAQ,IAAIC,QAAQ,EAAEC,cAAc,QAAQ,yBAAyB;AAC5E,OAAOC,mCAAmC,MAAM,uCAAuC;AAEvF,MAAMC,cAAc,GAAGJ,QAAQ,CAACK,uBAAuB,CACrDN,WACF,CAAC;;AAED;AACA;AACA;AACA,MAAMO,aAAa,GAAG,CAAC,GAAAC,OAAA,GAACC,MAAM,cAAAD,OAAA,eAANA,OAAA,CAAQE,UAAU;AAE1C,MAAMC,2BAA2B,gBAAGb,KAAK,CAACc,UAAU,CAGlD,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,MAAM;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAEnC,MAAMI,QAAQ,GAAGd,cAAc,CAAC,CAAC,CAAC;EAClC,MAAMe,OAAO,GAAGf,cAAc,CAAC,CAAC,CAAC;EACjC,MAAMgB,YAAY,GAAGhB,cAAc,CAAC,CAAC,CAAC;EAEtC,oBACEL,KAAA,CAAAsB,aAAA,CAACf;EACC;EAAA,EAAAgB,QAAA;IACAP,GAAG,EAAEA,GAAI;IACTQ,8BAA8B,EAAEpB,QAAQ,CACrCqB,KAAkC,IAAK;MACtC,SAAS;;MACTN,QAAQ,CAACO,KAAK,GAAGD,KAAK,CAACN,QAAQ;MAC/BC,OAAO,CAACM,KAAK,GAAGD,KAAK,CAACL,OAAO;MAC7BC,YAAY,CAACK,KAAK,GAAGD,KAAK,CAACJ,YAAY;IACzC,CAAC,EACD;IACE;IACA;IACApB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,GACrB,sBAAsB;IACtB;IACFlB,aAAa,GACX,sBAAsB,GACtB,uBAAuB,CAE/B;EAAE,GACES,IAAI,gBAERlB,KAAA,CAAAsB,aAAA,CAAChB,mCAAmC,CAACsB,QAAQ;IAC3CF,KAAK,EAAE;MACLP,QAAQ,EAAEA,QAAQ;MAClBC,OAAO,EAAEA,OAAO;MAChBC,YAAY,EAAEA;IAChB;EAAE,GAEDJ,QAC2C,CAChC,CAAC;AAErB,CAAC,CAAC;AAEFJ,2BAA2B,CAACgB,WAAW,GAAG,6BAA6B;AAEvE,eAAehB,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","InnerScreen","Animated","AnimatedScreen","createAnimatedComponent","ReanimatedScreen","forwardRef","props","ref","createElement","_extends","displayName"],"sources":["ReanimatedScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { InnerScreen, ScreenProps } from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\nconst ReanimatedScreen = React.forwardRef<typeof AnimatedScreen, ScreenProps>(\n (props, ref) => {\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nReanimatedScreen.displayName = 'ReanimatedScreen';\n\nexport default ReanimatedScreen;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAqB,sBAAsB;;AAE/D;AACA,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,MAAMC,cAAc,GAAGD,QAAQ,CAACE,uBAAuB,CACrDH,WAAW,CACZ;AAED,MAAMI,gBAAgB,gBAAGL,KAAK,CAACM,UAAU,CACvC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,oBACER,KAAA,CAAAS,aAAA,CAACN;EACC;EAAA,EAAAO,QAAA;IACAF,GAAG,EAAEA;EAAI,GACLD,KAAK,EACT;AAEN,CAAC,CACF;AAEDF,gBAAgB,CAACM,WAAW,GAAG,kBAAkB;AAEjD,eAAeN,gBAAgB"}
1
+ {"version":3,"names":["React","InnerScreen","Animated","AnimatedScreen","createAnimatedComponent","ReanimatedScreen","forwardRef","props","ref","createElement","_extends","displayName"],"sources":["ReanimatedScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { InnerScreen, ScreenProps } from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\nconst ReanimatedScreen = React.forwardRef<typeof AnimatedScreen, ScreenProps>(\n (props, ref) => {\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nReanimatedScreen.displayName = 'ReanimatedScreen';\n\nexport default ReanimatedScreen;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAqB,sBAAsB;;AAE/D;AACA,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,MAAMC,cAAc,GAAGD,QAAQ,CAACE,uBAAuB,CACrDH,WACF,CAAC;AAED,MAAMI,gBAAgB,gBAAGL,KAAK,CAACM,UAAU,CACvC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,oBACER,KAAA,CAAAS,aAAA,CAACN;EACC;EAAA,EAAAO,QAAA;IACAF,GAAG,EAAEA;EAAI,GACLD,KAAK,CACV,CAAC;AAEN,CACF,CAAC;AAEDF,gBAAgB,CAACM,WAAW,GAAG,kBAAkB;AAEjD,eAAeN,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScreenContext","ReanimatedNativeStackScreen","AnimatedScreen","ReanimatedScreenWrapper","Component","constructor","arguments","_defineProperty","ref","_this$props$onCompone","_this$props","props","onComponentRef","call","setNativeProps","_this$ref","render","ReanimatedScreen","isNativeStack","createElement","_extends","setRef","ReanimatedScreenProvider","Provider","value","children"],"sources":["ReanimatedScreenProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { View } from 'react-native';\nimport { ScreenProps, ScreenContext } from 'react-native-screens';\nimport ReanimatedNativeStackScreen from './ReanimatedNativeStackScreen';\nimport AnimatedScreen from './ReanimatedScreen';\n\nclass ReanimatedScreenWrapper extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const ReanimatedScreen = this.props.isNativeStack\n ? ReanimatedNativeStackScreen\n : AnimatedScreen;\n return (\n <ReanimatedScreen\n {...this.props}\n // @ts-ignore some problems with ref\n ref={this.setRef}\n />\n );\n }\n}\n\nexport default function ReanimatedScreenProvider(\n props: PropsWithChildren<unknown>\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <ScreenContext.Provider value={ReanimatedScreenWrapper as any}>\n {props.children}\n </ScreenContext.Provider>\n );\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAA6B,OAAO;AAEhD,SAAsBC,aAAa,QAAQ,sBAAsB;AACjE,OAAOC,2BAA2B,MAAM,+BAA+B;AACvE,OAAOC,cAAc,MAAM,oBAAoB;AAE/C,MAAMC,uBAAuB,SAASJ,KAAK,CAACK,SAAS,CAAc;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,cACb,IAAI;IAAAA,eAAA,iBAM9CC,GAAyC,IAAW;MAAA,IAAAC,qBAAA,EAAAC,WAAA;MAC5D,IAAI,CAACF,GAAG,GAAGA,GAAG;MACd,CAAAC,qBAAA,IAAAC,WAAA,OAAI,CAACC,KAAK,EAACC,cAAc,cAAAH,qBAAA,uBAAzBA,qBAAA,CAAAI,IAAA,CAAAH,WAAA,EAA4BF,GAAG,CAAC;IAClC,CAAC;EAAA;EAPDM,cAAcA,CAACH,KAAkB,EAAQ;IAAA,IAAAI,SAAA;IACvC,CAAAA,SAAA,OAAI,CAACP,GAAG,cAAAO,SAAA,uBAARA,SAAA,CAAUD,cAAc,CAACH,KAAK,CAAC;EACjC;EAOAK,MAAMA,CAAA,EAAG;IACP,MAAMC,gBAAgB,GAAG,IAAI,CAACN,KAAK,CAACO,aAAa,GAC7CjB,2BAA2B,GAC3BC,cAAc;IAClB,oBACEH,KAAA,CAAAoB,aAAA,CAACF,gBAAgB,EAAAG,QAAA,KACX,IAAI,CAACT,KAAK;MACd;MACAH,GAAG,EAAE,IAAI,CAACa;IAAO,GACjB;EAEN;AACF;AAEA,eAAe,SAASC,wBAAwBA,CAC9CX,KAAiC,EACjC;EACA;IAAA;IACE;IACAZ,KAAA,CAAAoB,aAAA,CAACnB,aAAa,CAACuB,QAAQ;MAACC,KAAK,EAAErB;IAA+B,GAC3DQ,KAAK,CAACc,QAAQ;EACQ;AAE7B"}
1
+ {"version":3,"names":["React","ScreenContext","ReanimatedNativeStackScreen","AnimatedScreen","ReanimatedScreenWrapper","Component","constructor","arguments","_defineProperty","ref","_this$props$onCompone","_this$props","props","onComponentRef","call","setNativeProps","_this$ref","render","ReanimatedScreen","isNativeStack","createElement","_extends","setRef","ReanimatedScreenProvider","Provider","value","children"],"sources":["ReanimatedScreenProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { View } from 'react-native';\nimport { ScreenProps, ScreenContext } from 'react-native-screens';\nimport ReanimatedNativeStackScreen from './ReanimatedNativeStackScreen';\nimport AnimatedScreen from './ReanimatedScreen';\n\nclass ReanimatedScreenWrapper extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const ReanimatedScreen = this.props.isNativeStack\n ? ReanimatedNativeStackScreen\n : AnimatedScreen;\n return (\n <ReanimatedScreen\n {...this.props}\n // @ts-ignore some problems with ref\n ref={this.setRef}\n />\n );\n }\n}\n\nexport default function ReanimatedScreenProvider(\n props: PropsWithChildren<unknown>\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <ScreenContext.Provider value={ReanimatedScreenWrapper as any}>\n {props.children}\n </ScreenContext.Provider>\n );\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAA6B,OAAO;AAEhD,SAAsBC,aAAa,QAAQ,sBAAsB;AACjE,OAAOC,2BAA2B,MAAM,+BAA+B;AACvE,OAAOC,cAAc,MAAM,oBAAoB;AAE/C,MAAMC,uBAAuB,SAASJ,KAAK,CAACK,SAAS,CAAc;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,cACb,IAAI;IAAAA,eAAA,iBAM9CC,GAAyC,IAAW;MAAA,IAAAC,qBAAA,EAAAC,WAAA;MAC5D,IAAI,CAACF,GAAG,GAAGA,GAAG;MACd,CAAAC,qBAAA,IAAAC,WAAA,OAAI,CAACC,KAAK,EAACC,cAAc,cAAAH,qBAAA,uBAAzBA,qBAAA,CAAAI,IAAA,CAAAH,WAAA,EAA4BF,GAAG,CAAC;IAClC,CAAC;EAAA;EAPDM,cAAcA,CAACH,KAAkB,EAAQ;IAAA,IAAAI,SAAA;IACvC,CAAAA,SAAA,OAAI,CAACP,GAAG,cAAAO,SAAA,uBAARA,SAAA,CAAUD,cAAc,CAACH,KAAK,CAAC;EACjC;EAOAK,MAAMA,CAAA,EAAG;IACP,MAAMC,gBAAgB,GAAG,IAAI,CAACN,KAAK,CAACO,aAAa,GAC7CjB,2BAA2B,GAC3BC,cAAc;IAClB,oBACEH,KAAA,CAAAoB,aAAA,CAACF,gBAAgB,EAAAG,QAAA,KACX,IAAI,CAACT,KAAK;MACd;MACAH,GAAG,EAAE,IAAI,CAACa;IAAO,EAClB,CAAC;EAEN;AACF;AAEA,eAAe,SAASC,wBAAwBA,CAC9CX,KAAiC,EACjC;EACA;IAAA;IACE;IACAZ,KAAA,CAAAoB,aAAA,CAACnB,aAAa,CAACuB,QAAQ;MAACC,KAAK,EAAErB;IAA+B,GAC3DQ,KAAK,CAACc,QACe;EAAC;AAE7B"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReanimatedTransitionProgressContext","useReanimatedTransitionProgress","progress","useContext","undefined","Error"],"sources":["useReanimatedTransitionProgress.tsx"],"sourcesContent":["import * as React from 'react';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nexport default function useReanimatedTransitionProgress() {\n const progress = React.useContext(ReanimatedTransitionProgressContext);\n\n if (progress === undefined) {\n throw new Error(\n \"Couldn't find values for reanimated transition progress. Are you inside a screen in Native Stack?\"\n );\n }\n\n return progress;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,mCAAmC,MAAM,uCAAuC;AAEvF,eAAe,SAASC,+BAA+BA,CAAA,EAAG;EACxD,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,mCAAmC,CAAC;EAEtE,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,mGAAmG,CACpG;EACH;EAEA,OAAOH,QAAQ;AACjB"}
1
+ {"version":3,"names":["React","ReanimatedTransitionProgressContext","useReanimatedTransitionProgress","progress","useContext","undefined","Error"],"sources":["useReanimatedTransitionProgress.tsx"],"sourcesContent":["import * as React from 'react';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nexport default function useReanimatedTransitionProgress() {\n const progress = React.useContext(ReanimatedTransitionProgressContext);\n\n if (progress === undefined) {\n throw new Error(\n \"Couldn't find values for reanimated transition progress. Are you inside a screen in Native Stack?\"\n );\n }\n\n return progress;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,mCAAmC,MAAM,uCAAuC;AAEvF,eAAe,SAASC,+BAA+BA,CAAA,EAAG;EACxD,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,mCAAmC,CAAC;EAEtE,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,mGACF,CAAC;EACH;EAEA,OAAOH,QAAQ;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","TransitionProgressContext","useTransitionProgress","progress","useContext","undefined","Error"],"sources":["useTransitionProgress.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport TransitionProgressContext from './TransitionProgressContext';\n\nexport default function useTransitionProgress() {\n const progress = React.useContext(TransitionProgressContext);\n\n if (progress === undefined) {\n throw new Error(\n \"Couldn't find values for transition progress. Are you inside a screen in Native Stack?\"\n );\n }\n\n return progress;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,yBAAyB,MAAM,6BAA6B;AAEnE,eAAe,SAASC,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,yBAAyB,CAAC;EAE5D,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,wFAAwF,CACzF;EACH;EAEA,OAAOH,QAAQ;AACjB"}
1
+ {"version":3,"names":["React","TransitionProgressContext","useTransitionProgress","progress","useContext","undefined","Error"],"sources":["useTransitionProgress.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport TransitionProgressContext from './TransitionProgressContext';\n\nexport default function useTransitionProgress() {\n const progress = React.useContext(TransitionProgressContext);\n\n if (progress === undefined) {\n throw new Error(\n \"Couldn't find values for transition progress. Are you inside a screen in Native Stack?\"\n );\n }\n\n return progress;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,yBAAyB,MAAM,6BAA6B;AAEnE,eAAe,SAASC,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,yBAAyB,CAAC;EAE5D,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOH,QAAQ;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"names":["BackHandler","Platform","isSearchBarAvailableForCurrentPlatform","includes","OS","executeNativeBackPress","exitApp","isNewBackTitleImplementation"],"sources":["utils.ts"],"sourcesContent":["import { BackHandler, Platform } from 'react-native';\n\nexport const isSearchBarAvailableForCurrentPlatform = [\n 'ios',\n 'android',\n].includes(Platform.OS);\n\nexport function executeNativeBackPress() {\n // This function invokes the native back press event\n BackHandler.exitApp();\n return true;\n}\n\n// Because of a bug introduced in https://github.com/software-mansion/react-native-screens/pull/1646\n// react-native-screens v3.21 changed how header's backTitle handles whitespace strings in https://github.com/software-mansion/react-native-screens/pull/1726\n// To allow for backwards compatibility in @react-navigation/native-stack we need a way to check if this version or newer is used.\n// See https://github.com/react-navigation/react-navigation/pull/11423 for more context.\nexport const isNewBackTitleImplementation = true;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AAEpD,OAAO,MAAMC,sCAAsC,GAAG,CACpD,KAAK,EACL,SAAS,CACV,CAACC,QAAQ,CAACF,QAAQ,CAACG,EAAE,CAAC;AAEvB,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC;EACAL,WAAW,CAACM,OAAO,EAAE;EACrB,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,IAAI"}
1
+ {"version":3,"names":["BackHandler","Platform","isSearchBarAvailableForCurrentPlatform","includes","OS","executeNativeBackPress","exitApp","isNewBackTitleImplementation"],"sources":["utils.ts"],"sourcesContent":["import { BackHandler, Platform } from 'react-native';\n\nexport const isSearchBarAvailableForCurrentPlatform = [\n 'ios',\n 'android',\n].includes(Platform.OS);\n\nexport function executeNativeBackPress() {\n // This function invokes the native back press event\n BackHandler.exitApp();\n return true;\n}\n\n// Because of a bug introduced in https://github.com/software-mansion/react-native-screens/pull/1646\n// react-native-screens v3.21 changed how header's backTitle handles whitespace strings in https://github.com/software-mansion/react-native-screens/pull/1726\n// To allow for backwards compatibility in @react-navigation/native-stack we need a way to check if this version or newer is used.\n// See https://github.com/react-navigation/react-navigation/pull/11423 for more context.\nexport const isNewBackTitleImplementation = true;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AAEpD,OAAO,MAAMC,sCAAsC,GAAG,CACpD,KAAK,EACL,SAAS,CACV,CAACC,QAAQ,CAACF,QAAQ,CAACG,EAAE,CAAC;AAEvB,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC;EACAL,WAAW,CAACM,OAAO,CAAC,CAAC;EACrB,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,IAAI"}
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { StackNavigationState, ParamListBase } from '@react-navigation/native';
2
+ import * as React from 'react';
3
3
  import { NativeStackNavigationEventMap, NativeStackNavigationOptions, NativeStackNavigatorProps } from '../types';
4
- declare function NativeStackNavigator({ initialRouteName, children, screenOptions, ...rest }: NativeStackNavigatorProps): JSX.Element;
4
+ declare function NativeStackNavigator({ initialRouteName, children, screenOptions, ...rest }: NativeStackNavigatorProps): React.JSX.Element;
5
5
  declare const _default: <ParamList extends Record<string, object | undefined>>() => import("@react-navigation/native").TypedNavigator<ParamList, StackNavigationState<ParamListBase>, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof NativeStackNavigator>;
6
6
  export default _default;
@@ -4,7 +4,7 @@ declare type Props = {
4
4
  children: React.ReactNode;
5
5
  style?: StyleProp<ViewStyle>;
6
6
  };
7
- declare function SafeAreaProviderCompat({ children, style }: Props): JSX.Element;
7
+ declare function SafeAreaProviderCompat({ children, style }: Props): React.JSX.Element;
8
8
  declare namespace SafeAreaProviderCompat {
9
9
  var initialMetrics: import("react-native-safe-area-context").Metrics;
10
10
  }
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  import { ParamListBase, StackNavigationState } from '@react-navigation/native';
3
3
  import { NativeStackDescriptorMap, NativeStackNavigationHelpers } from '../types';
4
4
  declare type Props = {
@@ -6,5 +6,5 @@ declare type Props = {
6
6
  navigation: NativeStackNavigationHelpers;
7
7
  descriptors: NativeStackDescriptorMap;
8
8
  };
9
- export default function NativeStackView(props: Props): JSX.Element;
9
+ export default function NativeStackView(props: Props): React.JSX.Element;
10
10
  export {};
@@ -1,2 +1,2 @@
1
- import { PropsWithChildren } from 'react';
2
- export default function ReanimatedScreenProvider(props: PropsWithChildren<unknown>): JSX.Element;
1
+ import React, { PropsWithChildren } from 'react';
2
+ export default function ReanimatedScreenProvider(props: PropsWithChildren<unknown>): React.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screens",
3
- "version": "3.21.1",
3
+ "version": "3.22.1",
4
4
  "description": "Native navigation primitives for your React Native app.",
5
5
  "scripts": {
6
6
  "check-types": "tsc --noEmit",
@@ -261,6 +261,16 @@ class InnerScreen extends React.Component<ScreenProps> {
261
261
  ...rest
262
262
  } = this.props;
263
263
 
264
+ // To maintain default behaviour of formSheet stack presentation style & and to have resonable
265
+ // defaults for new medium-detent iOS API we need to set defaults here
266
+ const {
267
+ sheetAllowedDetents = 'large',
268
+ sheetLargestUndimmedDetent = 'all',
269
+ sheetGrabberVisible = false,
270
+ sheetCornerRadius = -1.0,
271
+ sheetExpandsWhenScrolledToEdge = true,
272
+ } = rest;
273
+
264
274
  if (enabled && isPlatformSupported) {
265
275
  AnimatedNativeScreen =
266
276
  AnimatedNativeScreen ||
@@ -300,6 +310,11 @@ class InnerScreen extends React.Component<ScreenProps> {
300
310
  <AnimatedNativeScreen
301
311
  {...props}
302
312
  activityState={activityState}
313
+ sheetAllowedDetents={sheetAllowedDetents}
314
+ sheetLargestUndimmedDetent={sheetLargestUndimmedDetent}
315
+ sheetGrabberVisible={sheetGrabberVisible}
316
+ sheetCornerRadius={sheetCornerRadius}
317
+ sheetExpandsWhenScrolledToEdge={sheetExpandsWhenScrolledToEdge}
303
318
  gestureResponseDistance={{
304
319
  start: gestureResponseDistance?.start ?? -1,
305
320
  end: gestureResponseDistance?.end ?? -1,