@amazon-devices/react-native-screens 2.0.1758683737 → 2.0.1759135970

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.
@@ -1,8 +1,6 @@
1
1
  {
2
2
  "versions": {
3
3
  "2.0.0": "/com.amazon.kepler.screens_2@IScreens_0",
4
- "2.0.1756406897": "/com.amazon.kepler.screens_2@IScreens_0",
5
- "2.0.1758654000": "/com.amazon.kepler.screens_2@IScreens_0",
6
- "2.0.1758683737": "/com.amazon.kepler.screens_2@IScreens_0"
4
+ "2.0.1759135970": "/com.amazon.kepler.screens_2@IScreens_0"
7
5
  }
8
6
  }
@@ -27,7 +27,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
27
27
  // amznmod_react - register component on Kepler
28
28
  const ScreenComponent = 'RNSScreen';
29
29
  const viewConfig = {
30
- activityState: true
30
+ activityState: true,
31
+ stackPresentation: true,
32
+ stackAnimation: true
31
33
  };
32
34
  const bubblingEventTypes = {
33
35
  topOnAppear: {
@@ -1 +1 @@
1
- {"version":3,"names":["_registerGeneratedViewConfig","_interopRequireDefault","require","e","__esModule","default","ScreenComponent","viewConfig","activityState","bubblingEventTypes","topOnAppear","phasedRegistrationNames","bubbled","captured","topOnDisappear","topOnWillAppear","topOnWillDisappear","topOnTransitionProgress","register","uiViewClassName","validAttributes","_default","exports"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\nimport type { ViewProps, ColorValue, HostComponent } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n// @ts-ignore\n} from 'react-native/Libraries/Types/CodegenTypes';\n// amznmod_react - register component on Kepler\n// @ts-ignore\nimport register from '@amazon-devices/react-native-kepler/Libraries/Utilities/registerGeneratedViewConfig';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype HeaderHeightChangeEvent = Readonly<{\n headerHeight: Double;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onHeaderHeightChange?: BubblingEventHandler<HeaderHeightChangeEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n onGestureCancel?: BubblingEventHandler<ScreenEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: 0 | 1 | 2;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\n// amznmod_react - register component on Kepler\nconst ScreenComponent = 'RNSScreen'\n\nconst viewConfig = {\n activityState: true,\n};\n\nconst bubblingEventTypes = {\n topOnAppear: {\n phasedRegistrationNames: {\n bubbled: 'onAppear',\n captured: 'onAppearCapture'\n }\n },\n topOnDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onDisappear',\n captured: 'onDisappearCapture'\n }\n },\n topOnWillAppear: {\n phasedRegistrationNames: {\n bubbled: 'onWillAppear',\n captured: 'onWillAppearCapture'\n }\n },\n topOnWillDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onWillDisappear',\n captured: 'onWillDisappearCapture'\n }\n },\n topOnTransitionProgress: {\n phasedRegistrationNames: {\n bubbled: 'onTransitionProgress',\n captured: 'onTransitionProgressCapture'\n }\n },\n};\n\nregister(ScreenComponent, {uiViewClassName: ScreenComponent, validAttributes: viewConfig, bubblingEventTypes: bubblingEventTypes});\nexport default (ScreenComponent as unknown) as HostComponent<NativeProps>;"],"mappings":";;;;;;AAwBA,IAAAA,4BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiG,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAxBjG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAWA;AACA;;AAGA;;AA0FA;AACA,MAAMG,eAAe,GAAG,WAAW;AAEnC,MAAMC,UAAU,GAAG;EACjBC,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,kBAAkB,GAAG;EACzBC,WAAW,EAAE;IACXC,uBAAuB,EAAE;MACvBC,OAAO,EAAE,UAAU;MACnBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,cAAc,EAAE;IACdH,uBAAuB,EAAE;MACvBC,OAAO,EAAE,aAAa;MACtBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDE,eAAe,EAAE;IACfJ,uBAAuB,EAAE;MACvBC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDG,kBAAkB,EAAE;IAClBL,uBAAuB,EAAE;MACvBC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDI,uBAAuB,EAAE;IACvBN,uBAAuB,EAAE;MACvBC,OAAO,EAAE,sBAAsB;MAC/BC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,IAAAK,oCAAQ,EAACZ,eAAe,EAAE;EAACa,eAAe,EAAEb,eAAe;EAAEc,eAAe,EAAEb,UAAU;EAAEE,kBAAkB,EAAEA;AAAkB,CAAC,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,CAAAjB,OAAA,GACnHC,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_registerGeneratedViewConfig","_interopRequireDefault","require","e","__esModule","default","ScreenComponent","viewConfig","activityState","stackPresentation","stackAnimation","bubblingEventTypes","topOnAppear","phasedRegistrationNames","bubbled","captured","topOnDisappear","topOnWillAppear","topOnWillDisappear","topOnTransitionProgress","register","uiViewClassName","validAttributes","_default","exports"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\nimport type { ViewProps, ColorValue, HostComponent } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n// @ts-ignore\n} from 'react-native/Libraries/Types/CodegenTypes';\n// amznmod_react - register component on Kepler\n// @ts-ignore\nimport register from '@amazon-devices/react-native-kepler/Libraries/Utilities/registerGeneratedViewConfig';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype HeaderHeightChangeEvent = Readonly<{\n headerHeight: Double;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onHeaderHeightChange?: BubblingEventHandler<HeaderHeightChangeEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n onGestureCancel?: BubblingEventHandler<ScreenEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: 0 | 1 | 2;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\n// amznmod_react - register component on Kepler\nconst ScreenComponent = 'RNSScreen'\n\nconst viewConfig = {\n activityState: true,\n stackPresentation: true,\n stackAnimation: true,\n};\n\nconst bubblingEventTypes = {\n topOnAppear: {\n phasedRegistrationNames: {\n bubbled: 'onAppear',\n captured: 'onAppearCapture'\n }\n },\n topOnDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onDisappear',\n captured: 'onDisappearCapture'\n }\n },\n topOnWillAppear: {\n phasedRegistrationNames: {\n bubbled: 'onWillAppear',\n captured: 'onWillAppearCapture'\n }\n },\n topOnWillDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onWillDisappear',\n captured: 'onWillDisappearCapture'\n }\n },\n topOnTransitionProgress: {\n phasedRegistrationNames: {\n bubbled: 'onTransitionProgress',\n captured: 'onTransitionProgressCapture'\n }\n },\n};\n\nregister(ScreenComponent, {uiViewClassName: ScreenComponent, validAttributes: viewConfig, bubblingEventTypes: bubblingEventTypes});\nexport default (ScreenComponent as unknown) as HostComponent<NativeProps>;"],"mappings":";;;;;;AAwBA,IAAAA,4BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiG,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAxBjG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAWA;AACA;;AAGA;;AA0FA;AACA,MAAMG,eAAe,GAAG,WAAW;AAEnC,MAAMC,UAAU,GAAG;EACjBC,aAAa,EAAE,IAAI;EACnBC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,kBAAkB,GAAG;EACzBC,WAAW,EAAE;IACXC,uBAAuB,EAAE;MACvBC,OAAO,EAAE,UAAU;MACnBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,cAAc,EAAE;IACdH,uBAAuB,EAAE;MACvBC,OAAO,EAAE,aAAa;MACtBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDE,eAAe,EAAE;IACfJ,uBAAuB,EAAE;MACvBC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDG,kBAAkB,EAAE;IAClBL,uBAAuB,EAAE;MACvBC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDI,uBAAuB,EAAE;IACvBN,uBAAuB,EAAE;MACvBC,OAAO,EAAE,sBAAsB;MAC/BC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,IAAAK,oCAAQ,EAACd,eAAe,EAAE;EAACe,eAAe,EAAEf,eAAe;EAAEgB,eAAe,EAAEf,UAAU;EAAEI,kBAAkB,EAAEA;AAAkB,CAAC,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GACnHC,eAAe","ignoreList":[]}
@@ -97,6 +97,7 @@ class NativeScreen extends _react.default.Component {
97
97
  activityState,
98
98
  style,
99
99
  enabled = ENABLE_SCREENS,
100
+ stackAnimation,
100
101
  ...rest
101
102
  } = this.props;
102
103
  if (enabled) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTransitionProgress","_utils","e","__esModule","default","_extends","assign","bind","n","arguments","length","t","r","apply","ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","rest","props","undefined","createElement","View","hidden","display","Screen","Animated","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","Image","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTransitionProgress","_utils","e","__esModule","default","_extends","assign","bind","n","arguments","length","t","r","apply","ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","stackAnimation","rest","props","undefined","createElement","View","hidden","display","Screen","Animated","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","Image","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n stackAnimation,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":"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","ignoreList":[]}
@@ -189,6 +189,7 @@ class InnerScreen extends _react.default.Component {
189
189
  isNativeStack,
190
190
  gestureResponseDistance,
191
191
  onGestureCancel,
192
+ stackAnimation,
192
193
  ...props
193
194
  } = rest;
194
195
  if (active !== undefined && activityState === undefined) {
@@ -209,6 +210,7 @@ class InnerScreen extends _react.default.Component {
209
210
  freeze: freezeOnBlur && activityState === 0
210
211
  }, /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreen, _extends({}, props, {
211
212
  activityState: activityState,
213
+ stackAnimation: stackAnimation,
212
214
  sheetAllowedDetents: sheetAllowedDetents,
213
215
  sheetLargestUndimmedDetent: sheetLargestUndimmedDetent,
214
216
  sheetGrabberVisible: sheetGrabberVisible,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactFreeze","_package","_useTransitionProgress","_utils","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_defineProperty","_toPropertyKey","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","requireNativeComponent","Commands","DelayedFreeze","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","createElement","Freeze","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","args","ref","_this$props$onCompone","_this$props","onComponentRef","setNativeProps","_this$ref","render","enabled","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","active","activityState","isNativeStack","gestureResponseDistance","onGestureCancel","undefined","handleRef","_ref$viewConfig","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","onTransitionProgress","Animated","View","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","StyleSheet","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","Image","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands","useTransitionProgress","isNewBackTitleImplementation","executeNativeBackPress"],"sources":["index.native.tsx"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n/* 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 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 // amznmod_react - add Kepler support\n Platform.OS === 'windows' ||\n //@ts-ignore\n Platform.OS === 'kepler';\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 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 // amznmod_react - add Kepler support\n NativeScreenStack || require('./fabric/ScreenStackNativeComponent').default;\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n // amznmod_react - add Kepler support\n require('./fabric/ScreenStackHeaderConfigNativeComponent').default;\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\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 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 onGestureCancel,\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 <ScreensNativeModules.NativeScreen\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={undefined}\n onGestureCancel={\n onGestureCancel ??\n (() => {\n // for internal use\n })\n }\n >\n {children}\n </ScreensNativeModules.NativeScreen>\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 {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 <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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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactFreeze","_package","_useTransitionProgress","_utils","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_defineProperty","_toPropertyKey","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","requireNativeComponent","Commands","DelayedFreeze","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","createElement","Freeze","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","args","ref","_this$props$onCompone","_this$props","onComponentRef","setNativeProps","_this$ref","render","enabled","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","active","activityState","isNativeStack","gestureResponseDistance","onGestureCancel","stackAnimation","undefined","handleRef","_ref$viewConfig","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","onTransitionProgress","Animated","View","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","StyleSheet","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","Image","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands","useTransitionProgress","isNewBackTitleImplementation","executeNativeBackPress"],"sources":["index.native.tsx"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n/* 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 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 // amznmod_react - add Kepler support\n Platform.OS === 'windows' ||\n //@ts-ignore\n Platform.OS === 'kepler';\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 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 // amznmod_react - add Kepler support\n NativeScreenStack || require('./fabric/ScreenStackNativeComponent').default;\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n // amznmod_react - add Kepler support\n require('./fabric/ScreenStackHeaderConfigNativeComponent').default;\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\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 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 onGestureCancel,\n stackAnimation,\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 <ScreensNativeModules.NativeScreen\n {...props}\n activityState={activityState}\n stackAnimation={stackAnimation}\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={undefined}\n onGestureCancel={\n onGestureCancel ??\n (() => {\n // for internal use\n })\n }\n >\n {children}\n </ScreensNativeModules.NativeScreen>\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 {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 <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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","ignoreList":[]}
@@ -20,7 +20,9 @@ import register from '@amazon-devices/react-native-kepler/Libraries/Utilities/re
20
20
  // amznmod_react - register component on Kepler
21
21
  const ScreenComponent = 'RNSScreen';
22
22
  const viewConfig = {
23
- activityState: true
23
+ activityState: true,
24
+ stackPresentation: true,
25
+ stackAnimation: true
24
26
  };
25
27
  const bubblingEventTypes = {
26
28
  topOnAppear: {
@@ -1 +1 @@
1
- {"version":3,"names":["register","ScreenComponent","viewConfig","activityState","bubblingEventTypes","topOnAppear","phasedRegistrationNames","bubbled","captured","topOnDisappear","topOnWillAppear","topOnWillDisappear","topOnTransitionProgress","uiViewClassName","validAttributes"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\nimport type { ViewProps, ColorValue, HostComponent } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n// @ts-ignore\n} from 'react-native/Libraries/Types/CodegenTypes';\n// amznmod_react - register component on Kepler\n// @ts-ignore\nimport register from '@amazon-devices/react-native-kepler/Libraries/Utilities/registerGeneratedViewConfig';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype HeaderHeightChangeEvent = Readonly<{\n headerHeight: Double;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onHeaderHeightChange?: BubblingEventHandler<HeaderHeightChangeEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n onGestureCancel?: BubblingEventHandler<ScreenEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: 0 | 1 | 2;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\n// amznmod_react - register component on Kepler\nconst ScreenComponent = 'RNSScreen'\n\nconst viewConfig = {\n activityState: true,\n};\n\nconst bubblingEventTypes = {\n topOnAppear: {\n phasedRegistrationNames: {\n bubbled: 'onAppear',\n captured: 'onAppearCapture'\n }\n },\n topOnDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onDisappear',\n captured: 'onDisappearCapture'\n }\n },\n topOnWillAppear: {\n phasedRegistrationNames: {\n bubbled: 'onWillAppear',\n captured: 'onWillAppearCapture'\n }\n },\n topOnWillDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onWillDisappear',\n captured: 'onWillDisappearCapture'\n }\n },\n topOnTransitionProgress: {\n phasedRegistrationNames: {\n bubbled: 'onTransitionProgress',\n captured: 'onTransitionProgressCapture'\n }\n },\n};\n\nregister(ScreenComponent, {uiViewClassName: ScreenComponent, validAttributes: viewConfig, bubblingEventTypes: bubblingEventTypes});\nexport default (ScreenComponent as unknown) as HostComponent<NativeProps>;"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAWA;AACA;AACA,OAAOA,QAAQ,MAAM,2EAA2E;;AAEhG;;AA0FA;AACA,MAAMC,eAAe,GAAG,WAAW;AAEnC,MAAMC,UAAU,GAAG;EACjBC,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,kBAAkB,GAAG;EACzBC,WAAW,EAAE;IACXC,uBAAuB,EAAE;MACvBC,OAAO,EAAE,UAAU;MACnBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,cAAc,EAAE;IACdH,uBAAuB,EAAE;MACvBC,OAAO,EAAE,aAAa;MACtBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDE,eAAe,EAAE;IACfJ,uBAAuB,EAAE;MACvBC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDG,kBAAkB,EAAE;IAClBL,uBAAuB,EAAE;MACvBC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDI,uBAAuB,EAAE;IACvBN,uBAAuB,EAAE;MACvBC,OAAO,EAAE,sBAAsB;MAC/BC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAEDR,QAAQ,CAACC,eAAe,EAAE;EAACY,eAAe,EAAEZ,eAAe;EAAEa,eAAe,EAAEZ,UAAU;EAAEE,kBAAkB,EAAEA;AAAkB,CAAC,CAAC;AAClI,eAAgBH,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["register","ScreenComponent","viewConfig","activityState","stackPresentation","stackAnimation","bubblingEventTypes","topOnAppear","phasedRegistrationNames","bubbled","captured","topOnDisappear","topOnWillAppear","topOnWillDisappear","topOnTransitionProgress","uiViewClassName","validAttributes"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\nimport type { ViewProps, ColorValue, HostComponent } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n// @ts-ignore\n} from 'react-native/Libraries/Types/CodegenTypes';\n// amznmod_react - register component on Kepler\n// @ts-ignore\nimport register from '@amazon-devices/react-native-kepler/Libraries/Utilities/registerGeneratedViewConfig';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype HeaderHeightChangeEvent = Readonly<{\n headerHeight: Double;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onHeaderHeightChange?: BubblingEventHandler<HeaderHeightChangeEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n onGestureCancel?: BubblingEventHandler<ScreenEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: 0 | 1 | 2;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\n// amznmod_react - register component on Kepler\nconst ScreenComponent = 'RNSScreen'\n\nconst viewConfig = {\n activityState: true,\n stackPresentation: true,\n stackAnimation: true,\n};\n\nconst bubblingEventTypes = {\n topOnAppear: {\n phasedRegistrationNames: {\n bubbled: 'onAppear',\n captured: 'onAppearCapture'\n }\n },\n topOnDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onDisappear',\n captured: 'onDisappearCapture'\n }\n },\n topOnWillAppear: {\n phasedRegistrationNames: {\n bubbled: 'onWillAppear',\n captured: 'onWillAppearCapture'\n }\n },\n topOnWillDisappear: {\n phasedRegistrationNames: {\n bubbled: 'onWillDisappear',\n captured: 'onWillDisappearCapture'\n }\n },\n topOnTransitionProgress: {\n phasedRegistrationNames: {\n bubbled: 'onTransitionProgress',\n captured: 'onTransitionProgressCapture'\n }\n },\n};\n\nregister(ScreenComponent, {uiViewClassName: ScreenComponent, validAttributes: viewConfig, bubblingEventTypes: bubblingEventTypes});\nexport default (ScreenComponent as unknown) as HostComponent<NativeProps>;"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAWA;AACA;AACA,OAAOA,QAAQ,MAAM,2EAA2E;;AAEhG;;AA0FA;AACA,MAAMC,eAAe,GAAG,WAAW;AAEnC,MAAMC,UAAU,GAAG;EACjBC,aAAa,EAAE,IAAI;EACnBC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,kBAAkB,GAAG;EACzBC,WAAW,EAAE;IACXC,uBAAuB,EAAE;MACvBC,OAAO,EAAE,UAAU;MACnBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,cAAc,EAAE;IACdH,uBAAuB,EAAE;MACvBC,OAAO,EAAE,aAAa;MACtBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDE,eAAe,EAAE;IACfJ,uBAAuB,EAAE;MACvBC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDG,kBAAkB,EAAE;IAClBL,uBAAuB,EAAE;MACvBC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDI,uBAAuB,EAAE;IACvBN,uBAAuB,EAAE;MACvBC,OAAO,EAAE,sBAAsB;MAC/BC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAEDV,QAAQ,CAACC,eAAe,EAAE;EAACc,eAAe,EAAEd,eAAe;EAAEe,eAAe,EAAEd,UAAU;EAAEI,kBAAkB,EAAEA;AAAkB,CAAC,CAAC;AAClI,eAAgBL,eAAe","ignoreList":[]}
@@ -24,6 +24,7 @@ export class NativeScreen extends React.Component {
24
24
  activityState,
25
25
  style,
26
26
  enabled = ENABLE_SCREENS,
27
+ stackAnimation,
27
28
  ...rest
28
29
  } = this.props;
29
30
  if (enabled) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","View","Image","default","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","Component","render","active","activityState","style","enabled","rest","props","undefined","createElement","_extends","hidden","display","Screen","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,QAAQ,EAAEC,IAAI,EAAyBC,KAAK,QAAQ,cAAc;AAU3E,cAAc,SAAS;AACvB,SAASC,OAAO,IAAIC,qBAAqB,QAAQ,yBAAyB;AAC1E,SACEC,sCAAsC,EACtCC,4BAA4B,EAC5BC,sBAAsB,QACjB,SAAS;AAEhB,IAAIC,cAAc,GAAG,IAAI;AAEzB,OAAO,SAASC,aAAaA,CAACC,mBAAmB,GAAG,IAAI,EAAQ;EAC9DF,cAAc,GAAGE,mBAAmB;AACtC;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAY;EACxC,OAAOH,cAAc;AACvB;;AAEA;AACA;AACA,OAAO,SAASI,YAAYA,CAACC,uBAAuB,GAAG,IAAI,EAAQ;EACjE;AAAA;AAGF,OAAO,MAAMC,YAAY,SAASf,KAAK,CAACgB,SAAS,CAAc;EAC7DC,MAAMA,CAAA,EAAgB;IACpB,IAAI;MACFC,MAAM;MACNC,aAAa;MACbC,KAAK;MACLC,OAAO,GAAGZ,cAAc;MACxB,GAAGa;IACL,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,IAAIF,OAAO,EAAE;MACX,IAAIH,MAAM,KAAKM,SAAS,IAAIL,aAAa,KAAKK,SAAS,EAAE;QACvDL,aAAa,GAAGD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;MACxC;MACA,oBACElB,KAAA,CAAAyB,aAAA,CAACvB;MACC;MAAA,EAAAwB,QAAA;QACAC,MAAM,EAAER,aAAa,KAAK,CAAE;QAC5BC,KAAK,EAAE,CAACA,KAAK,EAAE;UAAEQ,OAAO,EAAET,aAAa,KAAK,CAAC,GAAG,MAAM,GAAG;QAAO,CAAC;MAAE,GAC/DG,IAAI,CACT,CAAC;IAEN;IAEA,oBAAOtB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKoB,IAAO,CAAC;EAC3B;AACF;AAEA,OAAO,MAAMO,MAAM,GAAG5B,QAAQ,CAAC6B,uBAAuB,CAACf,YAAY,CAAC;AAEpE,OAAO,MAAMgB,WAAW,GAAG7B,IAAI;AAE/B,OAAO,MAAM8B,aAAa,gBAAGhC,KAAK,CAACiC,aAAa,CAACJ,MAAM,CAAC;AAExD,OAAO,MAAMK,eAA0D,GAAGhC,IAAI;AAE9E,OAAO,MAAMiC,qBAAgE,GAC3EjC,IAAI;AAEN,OAAO,MAAMkC,+BAA0E,GACrFlC,IAAI;AAEN,OAAO,MAAMmC,WAAkD,GAAGnC,IAAI;AAEtE,OAAO,MAAMoC,iBAAiB,GAAGpC,IAE/B;AAEF,OAAO,MAAMqC,gCAAgC,GAC3ChB,KAAiB,iBAEjBvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,qBACHF,KAAA,CAAAyB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;EAACc,UAAU,EAAC,QAAQ;EAACC,YAAY,EAAE;AAAE,GAAKlB,KAAK,CAAG,CACpD,CACP;AAED,OAAO,MAAMmB,0BAA0B,GACrCnB,KAAyC,iBACzBvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKqB,KAAQ,CAAC;AAErC,OAAO,MAAMoB,yBAAyB,GACpCpB,KAAyC,iBACzBvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKqB,KAAQ,CAAC;AAErC,OAAO,MAAMqB,2BAA2B,GACtCrB,KAAyC,iBACzBvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKqB,KAAQ,CAAC;AAErC,OAAO,MAAMsB,8BAA8B,GACzCtB,KAA2D,iBAC3CvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKqB,KAAQ,CAAC;AAErC,OAAO,MAAMuB,uBAAuB,GAClCvB,KAA4D,iBAC5CvB,KAAA,CAAAyB,aAAA,CAACvB,IAAI,EAAKqB,KAAQ,CAAC;;AAErC;AACA,OAAO,MAAMwB,SAA8C,GAAG7C,IAAI;AAElE,OAAO,MAAM8C,wBAEZ,GAAG9C,IAAI;AAER,OAAO,MAAM+C,sBAAsB,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","View","Image","default","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","Component","render","active","activityState","style","enabled","stackAnimation","rest","props","undefined","createElement","_extends","hidden","display","Screen","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n stackAnimation,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":"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","ignoreList":[]}
@@ -192,6 +192,7 @@ class InnerScreen extends React.Component {
192
192
  isNativeStack,
193
193
  gestureResponseDistance,
194
194
  onGestureCancel,
195
+ stackAnimation,
195
196
  ...props
196
197
  } = rest;
197
198
  if (active !== undefined && activityState === undefined) {
@@ -212,6 +213,7 @@ class InnerScreen extends React.Component {
212
213
  freeze: freezeOnBlur && activityState === 0
213
214
  }, /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreen, _extends({}, props, {
214
215
  activityState: activityState,
216
+ stackAnimation: stackAnimation,
215
217
  sheetAllowedDetents: sheetAllowedDetents,
216
218
  sheetLargestUndimmedDetent: sheetLargestUndimmedDetent,
217
219
  sheetGrabberVisible: sheetGrabberVisible,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","require","default","NativeScreenContainer","NativeScreenNavigationContainer","Commands","DelayedFreeze","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","args","_defineProperty","ref","_this$props$onCompone","_this$props","onComponentRef","call","setNativeProps","_this$ref","render","enabled","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","active","activityState","isNativeStack","gestureResponseDistance","onGestureCancel","undefined","handleRef","_ref$viewConfig","viewConfig","validAttributes","style","display","setRef","_extends","start","end","top","bottom","onTransitionProgress","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":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n/* 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 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 // amznmod_react - add Kepler support\n Platform.OS === 'windows' ||\n //@ts-ignore\n Platform.OS === 'kepler';\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 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 // amznmod_react - add Kepler support\n NativeScreenStack || require('./fabric/ScreenStackNativeComponent').default;\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n // amznmod_react - add Kepler support\n require('./fabric/ScreenStackHeaderConfigNativeComponent').default;\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\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 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 onGestureCancel,\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 <ScreensNativeModules.NativeScreen\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={undefined}\n onGestureCancel={\n onGestureCancel ??\n (() => {\n // for internal use\n })\n }\n >\n {children}\n </ScreensNativeModules.NativeScreen>\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 {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 <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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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","isNewBackTitleImplementation","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","require","default","NativeScreenContainer","NativeScreenNavigationContainer","Commands","DelayedFreeze","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","args","_defineProperty","ref","_this$props$onCompone","_this$props","onComponentRef","call","setNativeProps","_this$ref","render","enabled","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","active","activityState","isNativeStack","gestureResponseDistance","onGestureCancel","stackAnimation","undefined","handleRef","_ref$viewConfig","viewConfig","validAttributes","style","display","setRef","_extends","start","end","top","bottom","onTransitionProgress","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":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n/* 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 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 // amznmod_react - add Kepler support\n Platform.OS === 'windows' ||\n //@ts-ignore\n Platform.OS === 'kepler';\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 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 // amznmod_react - add Kepler support\n NativeScreenStack || require('./fabric/ScreenStackNativeComponent').default;\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n // amznmod_react - add Kepler support\n require('./fabric/ScreenStackHeaderConfigNativeComponent').default;\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\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 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 onGestureCancel,\n stackAnimation,\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 <ScreensNativeModules.NativeScreen\n {...props}\n activityState={activityState}\n stackAnimation={stackAnimation}\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={undefined}\n onGestureCancel={\n onGestureCancel ??\n (() => {\n // for internal use\n })\n }\n >\n {children}\n </ScreensNativeModules.NativeScreen>\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 {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 <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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","ignoreList":[]}