@react-navigation/bottom-tabs 7.0.0-alpha.1 → 7.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/lib/commonjs/TransitionConfigs/SceneStyleInterpolators.js +47 -0
  2. package/lib/commonjs/TransitionConfigs/SceneStyleInterpolators.js.map +1 -0
  3. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +17 -0
  4. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -0
  5. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +22 -0
  6. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -0
  7. package/lib/commonjs/index.js +9 -0
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/navigators/createBottomTabNavigator.js +5 -4
  10. package/lib/commonjs/navigators/createBottomTabNavigator.js.map +1 -1
  11. package/lib/commonjs/types.js.map +1 -1
  12. package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js +3 -4
  13. package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
  14. package/lib/commonjs/utils/BottomTabBarHeightContext.js +3 -4
  15. package/lib/commonjs/utils/BottomTabBarHeightContext.js.map +1 -1
  16. package/lib/commonjs/utils/useAnimatedHashMap.js +31 -0
  17. package/lib/commonjs/utils/useAnimatedHashMap.js.map +1 -0
  18. package/lib/commonjs/utils/useBottomTabBarHeight.js +2 -2
  19. package/lib/commonjs/utils/useBottomTabBarHeight.js.map +1 -1
  20. package/lib/commonjs/utils/useIsKeyboardShown.js +2 -2
  21. package/lib/commonjs/utils/useIsKeyboardShown.js.map +1 -1
  22. package/lib/commonjs/views/Badge.js +2 -2
  23. package/lib/commonjs/views/Badge.js.map +1 -1
  24. package/lib/commonjs/views/BottomTabBar.js +63 -25
  25. package/lib/commonjs/views/BottomTabBar.js.map +1 -1
  26. package/lib/commonjs/views/BottomTabItem.js +32 -54
  27. package/lib/commonjs/views/BottomTabItem.js.map +1 -1
  28. package/lib/commonjs/views/BottomTabView.js +100 -18
  29. package/lib/commonjs/views/BottomTabView.js.map +1 -1
  30. package/lib/commonjs/views/ScreenFallback.js +10 -14
  31. package/lib/commonjs/views/ScreenFallback.js.map +1 -1
  32. package/lib/commonjs/views/TabBarIcon.js +12 -17
  33. package/lib/commonjs/views/TabBarIcon.js.map +1 -1
  34. package/lib/module/TransitionConfigs/SceneStyleInterpolators.js +40 -0
  35. package/lib/module/TransitionConfigs/SceneStyleInterpolators.js.map +1 -0
  36. package/lib/module/TransitionConfigs/TransitionPresets.js +11 -0
  37. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -0
  38. package/lib/module/TransitionConfigs/TransitionSpecs.js +16 -0
  39. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -0
  40. package/lib/module/index.js +9 -0
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/navigators/createBottomTabNavigator.js +2 -0
  43. package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
  44. package/lib/module/types.js.map +1 -1
  45. package/lib/module/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
  46. package/lib/module/utils/BottomTabBarHeightContext.js.map +1 -1
  47. package/lib/module/utils/useAnimatedHashMap.js +23 -0
  48. package/lib/module/utils/useAnimatedHashMap.js.map +1 -0
  49. package/lib/module/utils/useBottomTabBarHeight.js.map +1 -1
  50. package/lib/module/utils/useIsKeyboardShown.js.map +1 -1
  51. package/lib/module/views/Badge.js.map +1 -1
  52. package/lib/module/views/BottomTabBar.js +66 -28
  53. package/lib/module/views/BottomTabBar.js.map +1 -1
  54. package/lib/module/views/BottomTabItem.js +34 -56
  55. package/lib/module/views/BottomTabItem.js.map +1 -1
  56. package/lib/module/views/BottomTabView.js +99 -17
  57. package/lib/module/views/BottomTabView.js.map +1 -1
  58. package/lib/module/views/ScreenFallback.js +8 -12
  59. package/lib/module/views/ScreenFallback.js.map +1 -1
  60. package/lib/module/views/TabBarIcon.js +12 -17
  61. package/lib/module/views/TabBarIcon.js.map +1 -1
  62. package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts +10 -0
  63. package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +1 -0
  64. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +4 -0
  65. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  66. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +4 -0
  67. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  68. package/lib/typescript/src/index.d.ts +7 -0
  69. package/lib/typescript/src/index.d.ts.map +1 -1
  70. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts +4 -4
  71. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +1 -1
  72. package/lib/typescript/src/types.d.ts +57 -3
  73. package/lib/typescript/src/types.d.ts.map +1 -1
  74. package/lib/typescript/src/utils/useAnimatedHashMap.d.ts +4 -0
  75. package/lib/typescript/src/utils/useAnimatedHashMap.d.ts.map +1 -0
  76. package/lib/typescript/src/views/Badge.d.ts +3 -3
  77. package/lib/typescript/src/views/Badge.d.ts.map +1 -1
  78. package/lib/typescript/src/views/BottomTabBar.d.ts +5 -5
  79. package/lib/typescript/src/views/BottomTabBar.d.ts.map +1 -1
  80. package/lib/typescript/src/views/BottomTabItem.d.ts +3 -3
  81. package/lib/typescript/src/views/BottomTabItem.d.ts.map +1 -1
  82. package/lib/typescript/src/views/BottomTabView.d.ts +2 -2
  83. package/lib/typescript/src/views/BottomTabView.d.ts.map +1 -1
  84. package/lib/typescript/src/views/ScreenFallback.d.ts +5 -5
  85. package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -1
  86. package/lib/typescript/src/views/TabBarIcon.d.ts +2 -2
  87. package/lib/typescript/src/views/TabBarIcon.d.ts.map +1 -1
  88. package/package.json +18 -19
  89. package/src/TransitionConfigs/SceneStyleInterpolators.tsx +44 -0
  90. package/src/TransitionConfigs/TransitionPresets.tsx +13 -0
  91. package/src/TransitionConfigs/TransitionSpecs.tsx +19 -0
  92. package/src/index.tsx +9 -0
  93. package/src/navigators/createBottomTabNavigator.tsx +7 -5
  94. package/src/types.tsx +82 -5
  95. package/src/utils/useAnimatedHashMap.tsx +25 -0
  96. package/src/utils/useIsKeyboardShown.tsx +1 -1
  97. package/src/views/Badge.tsx +6 -1
  98. package/src/views/BottomTabBar.tsx +123 -45
  99. package/src/views/BottomTabItem.tsx +51 -81
  100. package/src/views/BottomTabView.tsx +131 -14
  101. package/src/views/ScreenFallback.tsx +12 -13
  102. package/src/views/TabBarIcon.tsx +16 -24
@@ -10,11 +10,26 @@ var _reactNative = require("react-native");
10
10
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
11
11
  var _BottomTabBarHeightCallbackContext = require("../utils/BottomTabBarHeightCallbackContext");
12
12
  var _BottomTabBarHeightContext = require("../utils/BottomTabBarHeightContext");
13
+ var _useAnimatedHashMap = require("../utils/useAnimatedHashMap");
13
14
  var _BottomTabBar = require("./BottomTabBar");
14
15
  var _ScreenFallback = require("./ScreenFallback");
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+ const EPSILON = 1e-5;
20
+ const STATE_INACTIVE = 0;
21
+ const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
22
+ const STATE_ON_TOP = 2;
23
+ const hasAnimation = options => {
24
+ const {
25
+ animationEnabled,
26
+ transitionSpec
27
+ } = options;
28
+ if (animationEnabled === false || !transitionSpec) {
29
+ return false;
30
+ }
31
+ return true;
32
+ };
18
33
  function BottomTabView(props) {
19
34
  const {
20
35
  tabBar = props => /*#__PURE__*/React.createElement(_BottomTabBar.BottomTabBar, props),
@@ -26,10 +41,43 @@ function BottomTabView(props) {
26
41
  sceneContainerStyle
27
42
  } = props;
28
43
  const focusedRouteKey = state.routes[state.index].key;
44
+
45
+ /**
46
+ * List of loaded tabs, tabs will be loaded when navigated to.
47
+ */
29
48
  const [loaded, setLoaded] = React.useState([focusedRouteKey]);
30
49
  if (!loaded.includes(focusedRouteKey)) {
50
+ // Set the current tab to be loaded if it was not loaded before
31
51
  setLoaded([...loaded, focusedRouteKey]);
32
52
  }
53
+ const tabAnims = (0, _useAnimatedHashMap.useAnimatedHashMap)(state);
54
+ React.useEffect(() => {
55
+ const animateToIndex = () => {
56
+ _reactNative.Animated.parallel(state.routes.map((route, index) => {
57
+ const {
58
+ options
59
+ } = descriptors[route.key];
60
+ const {
61
+ transitionSpec
62
+ } = options;
63
+ const animationEnabled = hasAnimation(options);
64
+ const toValue = index === state.index ? 0 : index >= state.index ? 1 : -1;
65
+ if (!animationEnabled || !transitionSpec) {
66
+ return _reactNative.Animated.timing(tabAnims[route.key], {
67
+ toValue,
68
+ duration: 0,
69
+ useNativeDriver: true
70
+ });
71
+ }
72
+ return _reactNative.Animated[transitionSpec.animation](tabAnims[route.key], {
73
+ ...transitionSpec.config,
74
+ toValue,
75
+ useNativeDriver: true
76
+ });
77
+ }).filter(Boolean)).start();
78
+ };
79
+ animateToIndex();
80
+ }, [descriptors, state.index, state.routes, tabAnims]);
33
81
  const dimensions = _elements.SafeAreaProviderCompat.initialMetrics.frame;
34
82
  const [tabBarHeight, setTabBarHeight] = React.useState(() => (0, _BottomTabBar.getTabBarHeight)({
35
83
  state,
@@ -51,32 +99,43 @@ function BottomTabView(props) {
51
99
  descriptors: descriptors,
52
100
  navigation: navigation,
53
101
  insets: {
54
- top: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) ?? (insets === null || insets === void 0 ? void 0 : insets.top) ?? 0,
55
- right: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.right) ?? (insets === null || insets === void 0 ? void 0 : insets.right) ?? 0,
56
- bottom: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.bottom) ?? (insets === null || insets === void 0 ? void 0 : insets.bottom) ?? 0,
57
- left: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.left) ?? (insets === null || insets === void 0 ? void 0 : insets.left) ?? 0
102
+ top: safeAreaInsets?.top ?? insets?.top ?? 0,
103
+ right: safeAreaInsets?.right ?? insets?.right ?? 0,
104
+ bottom: safeAreaInsets?.bottom ?? insets?.bottom ?? 0,
105
+ left: safeAreaInsets?.left ?? insets?.left ?? 0
58
106
  }
59
107
  }));
60
108
  };
61
109
  const {
62
110
  routes
63
111
  } = state;
64
- return /*#__PURE__*/React.createElement(_elements.SafeAreaProviderCompat, null, /*#__PURE__*/React.createElement(_ScreenFallback.MaybeScreenContainer, {
112
+
113
+ // If there is no animation, we only have 2 states: visible and invisible
114
+ const hasTwoStates = !routes.some(route => hasAnimation(descriptors[route.key].options));
115
+ const {
116
+ tabBarPosition = 'bottom'
117
+ } = descriptors[focusedRouteKey].options;
118
+ return /*#__PURE__*/React.createElement(_elements.SafeAreaProviderCompat, {
119
+ style: tabBarPosition === 'left' ? styles.left : tabBarPosition === 'right' ? styles.right : null
120
+ }, tabBarPosition === 'top' ? /*#__PURE__*/React.createElement(_BottomTabBarHeightCallbackContext.BottomTabBarHeightCallbackContext.Provider, {
121
+ value: setTabBarHeight
122
+ }, renderTabBar()) : null, /*#__PURE__*/React.createElement(_ScreenFallback.MaybeScreenContainer, {
65
123
  enabled: detachInactiveScreens,
66
- hasTwoStates: true,
67
- style: styles.container
124
+ hasTwoStates: hasTwoStates,
125
+ style: styles.screens
68
126
  }, routes.map((route, index) => {
69
127
  const descriptor = descriptors[route.key];
70
128
  const {
71
129
  lazy = true,
72
- unmountOnBlur
130
+ unmountOnBlur,
131
+ sceneStyleInterpolator
73
132
  } = descriptor.options;
74
133
  const isFocused = state.index === index;
75
134
  if (unmountOnBlur && !isFocused) {
76
135
  return null;
77
136
  }
78
- if (lazy && !loaded.includes(route.key) && !isFocused) {
79
- // Don't render a lazy screen if we've never navigated to it
137
+ if (lazy && !loaded.includes(route.key) && !isFocused && !state.preloadedRouteKeys.includes(route.key)) {
138
+ // Don't render a lazy screen if we've never navigated to it or it wasn't preloaded
80
139
  return null;
81
140
  }
82
141
  const {
@@ -95,16 +154,33 @@ function BottomTabView(props) {
95
154
  headerStatusBarHeight,
96
155
  headerTransparent
97
156
  } = descriptor.options;
157
+ const {
158
+ sceneStyle
159
+ } = sceneStyleInterpolator?.({
160
+ current: tabAnims[route.key]
161
+ }) ?? {};
162
+ const animationEnabled = hasAnimation(descriptor.options);
163
+ const activityState = isFocused ? STATE_ON_TOP // the screen is on top after the transition
164
+ : animationEnabled // is animation is not enabled, immediately move to inactive state
165
+ ? tabAnims[route.key].interpolate({
166
+ inputRange: [0, 1 - EPSILON, 1],
167
+ outputRange: [STATE_TRANSITIONING_OR_BELOW_TOP,
168
+ // screen visible during transition
169
+ STATE_TRANSITIONING_OR_BELOW_TOP, STATE_INACTIVE // the screen is detached after transition
170
+ ],
171
+
172
+ extrapolate: 'extend'
173
+ }) : STATE_INACTIVE;
98
174
  return /*#__PURE__*/React.createElement(_ScreenFallback.MaybeScreen, {
99
175
  key: route.key,
100
176
  style: [_reactNative.StyleSheet.absoluteFill, {
101
177
  zIndex: isFocused ? 0 : -1
102
178
  }],
103
- visible: isFocused,
179
+ active: activityState,
104
180
  enabled: detachInactiveScreens,
105
181
  freezeOnBlur: freezeOnBlur
106
182
  }, /*#__PURE__*/React.createElement(_BottomTabBarHeightContext.BottomTabBarHeightContext.Provider, {
107
- value: tabBarHeight
183
+ value: tabBarPosition === 'bottom' ? tabBarHeight : 0
108
184
  }, /*#__PURE__*/React.createElement(_elements.Screen, {
109
185
  focused: isFocused,
110
186
  route: descriptor.route,
@@ -118,14 +194,20 @@ function BottomTabView(props) {
118
194
  navigation: descriptor.navigation,
119
195
  options: descriptor.options
120
196
  }),
121
- style: sceneContainerStyle
197
+ style: [sceneContainerStyle, animationEnabled && sceneStyle]
122
198
  }, descriptor.render())));
123
- })), /*#__PURE__*/React.createElement(_BottomTabBarHeightCallbackContext.BottomTabBarHeightCallbackContext.Provider, {
199
+ })), tabBarPosition !== 'top' ? /*#__PURE__*/React.createElement(_BottomTabBarHeightCallbackContext.BottomTabBarHeightCallbackContext.Provider, {
124
200
  value: setTabBarHeight
125
- }, renderTabBar()));
201
+ }, renderTabBar()) : null);
126
202
  }
127
203
  const styles = _reactNative.StyleSheet.create({
128
- container: {
204
+ left: {
205
+ flexDirection: 'row-reverse'
206
+ },
207
+ right: {
208
+ flexDirection: 'row'
209
+ },
210
+ screens: {
129
211
  flex: 1,
130
212
  overflow: 'hidden'
131
213
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BottomTabView","props","tabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","loaded","setLoaded","React","useState","includes","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","options","tabBarStyle","renderTabBar","top","right","bottom","left","styles","container","map","route","descriptor","lazy","unmountOnBlur","isFocused","freezeOnBlur","header","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","StyleSheet","absoluteFill","zIndex","render","create","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_elements","require","React","_interopRequireWildcard","_reactNative","_reactNativeSafeAreaContext","_BottomTabBarHeightCallbackContext","_BottomTabBarHeightContext","_useAnimatedHashMap","_BottomTabBar","_ScreenFallback","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","hasAnimation","options","animationEnabled","transitionSpec","BottomTabView","props","tabBar","createElement","BottomTabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","loaded","setLoaded","useState","includes","tabAnims","useAnimatedHashMap","useEffect","animateToIndex","Animated","parallel","map","route","toValue","timing","duration","useNativeDriver","animation","config","filter","Boolean","start","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","tabBarStyle","renderTabBar","SafeAreaInsetsContext","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","styles","BottomTabBarHeightCallbackContext","Provider","value","MaybeScreenContainer","enabled","screens","descriptor","lazy","unmountOnBlur","sceneStyleInterpolator","isFocused","preloadedRouteKeys","freezeOnBlur","header","_ref","Header","title","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","current","activityState","interpolate","inputRange","outputRange","extrapolate","MaybeScreen","StyleSheet","absoluteFill","zIndex","active","BottomTabBarHeightContext","Screen","focused","render","create","flexDirection","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAUA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AAWA,IAAAK,kCAAA,GAAAL,OAAA;AACA,IAAAM,0BAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAAqE,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAQrE,MAAMK,OAAO,GAAG,IAAI;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,gCAAgC,GAAG,CAAC;AAC1C,MAAMC,YAAY,GAAG,CAAC;AAEtB,MAAMC,YAAY,GAAIC,OAAmC,IAAK;EAC5D,MAAM;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGF,OAAO;EAEpD,IAAIC,gBAAgB,KAAK,KAAK,IAAI,CAACC,cAAc,EAAE;IACjD,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb,CAAC;AAEM,SAASC,aAAaA,CAACC,KAAY,EAAE;EAC1C,MAAM;IACJC,MAAM,GAAID,KAAwB,iBAAKhD,KAAA,CAAAkD,aAAA,CAAC3C,aAAA,CAAA4C,YAAY,EAAKH,KAAQ,CAAC;IAClEI,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,cAAc;IACdC,qBAAqB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAC3CD,qBAAQ,CAACC,EAAE,KAAK,SAAS,IACzBD,qBAAQ,CAACC,EAAE,KAAK,KAAK;IACvBC;EACF,CAAC,GAAGX,KAAK;EAET,MAAMY,eAAe,GAAGR,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACzB,GAAG;;EAErD;AACF;AACA;EACE,MAAM,CAAC0B,MAAM,EAAEC,SAAS,CAAC,GAAGhE,KAAK,CAACiE,QAAQ,CAAC,CAACL,eAAe,CAAC,CAAC;EAE7D,IAAI,CAACG,MAAM,CAACG,QAAQ,CAACN,eAAe,CAAC,EAAE;IACrC;IACAI,SAAS,CAAC,CAAC,GAAGD,MAAM,EAAEH,eAAe,CAAC,CAAC;EACzC;EAEA,MAAMO,QAAQ,GAAG,IAAAC,sCAAkB,EAAChB,KAAK,CAAC;EAE1CpD,KAAK,CAACqE,SAAS,CAAC,MAAM;IACpB,MAAMC,cAAc,GAAGA,CAAA,KAAM;MAC3BC,qBAAQ,CAACC,QAAQ,CACfpB,KAAK,CAACS,MAAM,CACTY,GAAG,CAAC,CAACC,KAAK,EAAEZ,KAAK,KAAK;QACrB,MAAM;UAAElB;QAAQ,CAAC,GAAGU,WAAW,CAACoB,KAAK,CAACrC,GAAG,CAAC;QAC1C,MAAM;UAAES;QAAe,CAAC,GAAGF,OAAO;QAElC,MAAMC,gBAAgB,GAAGF,YAAY,CAACC,OAAO,CAAC;QAE9C,MAAM+B,OAAO,GACXb,KAAK,KAAKV,KAAK,CAACU,KAAK,GAAG,CAAC,GAAGA,KAAK,IAAIV,KAAK,CAACU,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,CAACjB,gBAAgB,IAAI,CAACC,cAAc,EAAE;UACxC,OAAOyB,qBAAQ,CAACK,MAAM,CAACT,QAAQ,CAACO,KAAK,CAACrC,GAAG,CAAC,EAAE;YAC1CsC,OAAO;YACPE,QAAQ,EAAE,CAAC;YACXC,eAAe,EAAE;UACnB,CAAC,CAAC;QACJ;QAEA,OAAOP,qBAAQ,CAACzB,cAAc,CAACiC,SAAS,CAAC,CAACZ,QAAQ,CAACO,KAAK,CAACrC,GAAG,CAAC,EAAE;UAC7D,GAAGS,cAAc,CAACkC,MAAM;UACxBL,OAAO;UACPG,eAAe,EAAE;QACnB,CAAC,CAAC;MACJ,CAAC,CAAC,CACDG,MAAM,CAACC,OAAO,CACnB,CAAC,CAACC,KAAK,CAAC,CAAC;IACX,CAAC;IAEDb,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,CAAChB,WAAW,EAAEF,KAAK,CAACU,KAAK,EAAEV,KAAK,CAACS,MAAM,EAAEM,QAAQ,CAAC,CAAC;EAEtD,MAAMiB,UAAU,GAAGC,gCAAsB,CAACC,cAAc,CAACC,KAAK;EAC9D,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGzF,KAAK,CAACiE,QAAQ,CAAC,MACrD,IAAAyB,6BAAe,EAAC;IACdtC,KAAK;IACLE,WAAW;IACX8B,UAAU;IACVO,MAAM,EAAE;MAAEC,KAAK,EAAER,UAAU,CAACQ,KAAK;MAAEC,MAAM,EAAE;IAAE,CAAC;IAC9CC,MAAM,EAAE;MACN,GAAGT,gCAAsB,CAACC,cAAc,CAACQ,MAAM;MAC/C,GAAG9C,KAAK,CAACO;IACX,CAAC;IACDwC,KAAK,EAAEzC,WAAW,CAACF,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACzB,GAAG,CAAC,CAACO,OAAO,CAACoD;EAC5D,CAAC,CACH,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzB,oBACEjG,KAAA,CAAAkD,aAAA,CAAC/C,2BAAA,CAAA+F,qBAAqB,CAACC,QAAQ,QAC3BL,MAAM,IACN7C,MAAM,CAAC;MACLG,KAAK,EAAEA,KAAK;MACZE,WAAW,EAAEA,WAAW;MACxBD,UAAU,EAAEA,UAAU;MACtByC,MAAM,EAAE;QACNM,GAAG,EAAE7C,cAAc,EAAE6C,GAAG,IAAIN,MAAM,EAAEM,GAAG,IAAI,CAAC;QAC5CC,KAAK,EAAE9C,cAAc,EAAE8C,KAAK,IAAIP,MAAM,EAAEO,KAAK,IAAI,CAAC;QAClDC,MAAM,EAAE/C,cAAc,EAAE+C,MAAM,IAAIR,MAAM,EAAEQ,MAAM,IAAI,CAAC;QACrDC,IAAI,EAAEhD,cAAc,EAAEgD,IAAI,IAAIT,MAAM,EAAES,IAAI,IAAI;MAChD;IACF,CAAC,CAE2B,CAAC;EAErC,CAAC;EAED,MAAM;IAAE1C;EAAO,CAAC,GAAGT,KAAK;;EAExB;EACA,MAAMoD,YAAY,GAAG,CAAC3C,MAAM,CAAC4C,IAAI,CAAE/B,KAAK,IACtC/B,YAAY,CAACW,WAAW,CAACoB,KAAK,CAACrC,GAAG,CAAC,CAACO,OAAO,CAC7C,CAAC;EAED,MAAM;IAAE8D,cAAc,GAAG;EAAS,CAAC,GAAGpD,WAAW,CAACM,eAAe,CAAC,CAAChB,OAAO;EAE1E,oBACE5C,KAAA,CAAAkD,aAAA,CAACpD,SAAA,CAAAuF,sBAAsB;IACrBU,KAAK,EACHW,cAAc,KAAK,MAAM,GACrBC,MAAM,CAACJ,IAAI,GACXG,cAAc,KAAK,OAAO,GACxBC,MAAM,CAACN,KAAK,GACZ;EACP,GAEAK,cAAc,KAAK,KAAK,gBACvB1G,KAAA,CAAAkD,aAAA,CAAC9C,kCAAA,CAAAwG,iCAAiC,CAACC,QAAQ;IAACC,KAAK,EAAErB;EAAgB,GAChEQ,YAAY,CAAC,CAC4B,CAAC,GAC3C,IAAI,eACRjG,KAAA,CAAAkD,aAAA,CAAC1C,eAAA,CAAAuG,oBAAoB;IACnBC,OAAO,EAAExD,qBAAsB;IAC/BgD,YAAY,EAAEA,YAAa;IAC3BT,KAAK,EAAEY,MAAM,CAACM;EAAQ,GAErBpD,MAAM,CAACY,GAAG,CAAC,CAACC,KAAK,EAAEZ,KAAK,KAAK;IAC5B,MAAMoD,UAAU,GAAG5D,WAAW,CAACoB,KAAK,CAACrC,GAAG,CAAC;IACzC,MAAM;MACJ8E,IAAI,GAAG,IAAI;MACXC,aAAa;MACbC;IACF,CAAC,GAAGH,UAAU,CAACtE,OAAO;IACtB,MAAM0E,SAAS,GAAGlE,KAAK,CAACU,KAAK,KAAKA,KAAK;IAEvC,IAAIsD,aAAa,IAAI,CAACE,SAAS,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,IACEH,IAAI,IACJ,CAACpD,MAAM,CAACG,QAAQ,CAACQ,KAAK,CAACrC,GAAG,CAAC,IAC3B,CAACiF,SAAS,IACV,CAAClE,KAAK,CAACmE,kBAAkB,CAACrD,QAAQ,CAACQ,KAAK,CAACrC,GAAG,CAAC,EAC7C;MACA;MACA,OAAO,IAAI;IACb;IAEA,MAAM;MACJmF,YAAY;MACZC,MAAM,GAAGC,IAAA;QAAA,IAAC;UAAE/B,MAAM;UAAE/C;QAA8B,CAAC,GAAA8E,IAAA;QAAA,oBACjD1H,KAAA,CAAAkD,aAAA,CAACpD,SAAA,CAAA6H,MAAM,EAAA7F,QAAA,KACDc,OAAO;UACX+C,MAAM,EAAEA,MAAO;UACfiC,KAAK,EAAE,IAAAC,wBAAc,EAACjF,OAAO,EAAE8B,KAAK,CAACoD,IAAI;QAAE,EAC5C,CAAC;MAAA,CACH;MACDC,WAAW;MACXC,qBAAqB;MACrBC;IACF,CAAC,GAAGf,UAAU,CAACtE,OAAO;IAEtB,MAAM;MAAEsF;IAAW,CAAC,GAClBb,sBAAsB,GAAG;MACvBc,OAAO,EAAEhE,QAAQ,CAACO,KAAK,CAACrC,GAAG;IAC7B,CAAC,CAAC,IAAI,CAAC,CAAC;IAEV,MAAMQ,gBAAgB,GAAGF,YAAY,CAACuE,UAAU,CAACtE,OAAO,CAAC;IACzD,MAAMwF,aAAa,GAAGd,SAAS,GAC3B5E,YAAY,CAAC;IAAA,EACbG,gBAAgB,CAAC;IAAA,EACfsB,QAAQ,CAACO,KAAK,CAACrC,GAAG,CAAC,CAACgG,WAAW,CAAC;MAC9BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG/F,OAAO,EAAE,CAAC,CAAC;MAC/BgG,WAAW,EAAE,CACX9F,gCAAgC;MAAE;MAClCA,gCAAgC,EAChCD,cAAc,CAAE;MAAA,CACjB;;MACDgG,WAAW,EAAE;IACf,CAAC,CAAC,GACFhG,cAAc;IAEpB,oBACExC,KAAA,CAAAkD,aAAA,CAAC1C,eAAA,CAAAiI,WAAW;MACVpG,GAAG,EAAEqC,KAAK,CAACrC,GAAI;MACf0D,KAAK,EAAE,CAAC2C,uBAAU,CAACC,YAAY,EAAE;QAAEC,MAAM,EAAEtB,SAAS,GAAG,CAAC,GAAG,CAAC;MAAE,CAAC,CAAE;MACjEuB,MAAM,EAAET,aAAc;MACtBpB,OAAO,EAAExD,qBAAsB;MAC/BgE,YAAY,EAAEA;IAAa,gBAE3BxH,KAAA,CAAAkD,aAAA,CAAC7C,0BAAA,CAAAyI,yBAAyB,CAACjC,QAAQ;MACjCC,KAAK,EAAEJ,cAAc,KAAK,QAAQ,GAAGlB,YAAY,GAAG;IAAE,gBAEtDxF,KAAA,CAAAkD,aAAA,CAACpD,SAAA,CAAAiJ,MAAM;MACLC,OAAO,EAAE1B,SAAU;MACnB5C,KAAK,EAAEwC,UAAU,CAACxC,KAAM;MACxBrB,UAAU,EAAE6D,UAAU,CAAC7D,UAAW;MAClC0E,WAAW,EAAEA,WAAY;MACzBC,qBAAqB,EAAEA,qBAAsB;MAC7CC,iBAAiB,EAAEA,iBAAkB;MACrCR,MAAM,EAAEA,MAAM,CAAC;QACb9B,MAAM,EAAEP,UAAU;QAClBV,KAAK,EAAEwC,UAAU,CAACxC,KAAK;QACvBrB,UAAU,EACR6D,UAAU,CAAC7D,UAAoD;QACjET,OAAO,EAAEsE,UAAU,CAACtE;MACtB,CAAC,CAAE;MACHmD,KAAK,EAAE,CAACpC,mBAAmB,EAAEd,gBAAgB,IAAIqF,UAAU;IAAE,GAE5DhB,UAAU,CAAC+B,MAAM,CAAC,CACb,CAC0B,CACzB,CAAC;EAElB,CAAC,CACmB,CAAC,EACtBvC,cAAc,KAAK,KAAK,gBACvB1G,KAAA,CAAAkD,aAAA,CAAC9C,kCAAA,CAAAwG,iCAAiC,CAACC,QAAQ;IAACC,KAAK,EAAErB;EAAgB,GAChEQ,YAAY,CAAC,CAC4B,CAAC,GAC3C,IACkB,CAAC;AAE7B;AAEA,MAAMU,MAAM,GAAG+B,uBAAU,CAACQ,MAAM,CAAC;EAC/B3C,IAAI,EAAE;IACJ4C,aAAa,EAAE;EACjB,CAAC;EACD9C,KAAK,EAAE;IACL8C,aAAa,EAAE;EACjB,CAAC;EACDlC,OAAO,EAAE;IACPmC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.MaybeScreen = MaybeScreen;
7
7
  exports.MaybeScreenContainer = void 0;
8
- var _elements = require("@react-navigation/elements");
9
8
  var React = _interopRequireWildcard(require("react"));
10
9
  var _reactNative = require("react-native");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
12
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
13
  let Screens;
15
14
  try {
@@ -18,12 +17,11 @@ try {
18
17
  // Ignore
19
18
  }
20
19
  const MaybeScreenContainer = _ref => {
21
- var _Screens, _Screens$screensEnabl;
22
20
  let {
23
21
  enabled,
24
22
  ...rest
25
23
  } = _ref;
26
- if ((_Screens = Screens) !== null && _Screens !== void 0 && (_Screens$screensEnabl = _Screens.screensEnabled) !== null && _Screens$screensEnabl !== void 0 && _Screens$screensEnabl.call(_Screens)) {
24
+ if (Screens?.screensEnabled?.()) {
27
25
  return /*#__PURE__*/React.createElement(Screens.ScreenContainer, _extends({
28
26
  enabled: enabled
29
27
  }, rest));
@@ -32,19 +30,17 @@ const MaybeScreenContainer = _ref => {
32
30
  };
33
31
  exports.MaybeScreenContainer = MaybeScreenContainer;
34
32
  function MaybeScreen(_ref2) {
35
- var _Screens2, _Screens2$screensEnab;
36
33
  let {
37
- visible,
38
- children,
34
+ enabled,
35
+ active,
39
36
  ...rest
40
37
  } = _ref2;
41
- if ((_Screens2 = Screens) !== null && _Screens2 !== void 0 && (_Screens2$screensEnab = _Screens2.screensEnabled) !== null && _Screens2$screensEnab !== void 0 && _Screens2$screensEnab.call(_Screens2)) {
38
+ if (Screens?.screensEnabled?.()) {
42
39
  return /*#__PURE__*/React.createElement(Screens.Screen, _extends({
43
- activityState: visible ? 2 : 0
44
- }, rest), children);
40
+ enabled: enabled,
41
+ activityState: active
42
+ }, rest));
45
43
  }
46
- return /*#__PURE__*/React.createElement(_elements.ResourceSavingView, _extends({
47
- visible: visible
48
- }, rest), children);
44
+ return /*#__PURE__*/React.createElement(_reactNative.View, rest);
49
45
  }
50
46
  //# sourceMappingURL=ScreenFallback.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","MaybeScreen","visible","children"],"sourceRoot":"../../../src","sources":["views/ScreenFallback.tsx"],"mappings":";;;;;;;AAAA;AACA;AACA;AAAqE;AAAA;AAAA;AAUrE,IAAIA,OAA0D;AAE9D,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAC3C,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;AAAA;AAGK,MAAMC,oBAAoB,GAAG,QAO9B;EAAA;EAAA,IAP+B;IACnCC,OAAO;IACP,GAAGC;EAKL,CAAC;EACC,gBAAIL,OAAO,8DAAP,SAASM,cAAc,kDAAvB,oCAA2B,EAAE;IAC/B,oBAAO,oBAAC,OAAO,CAAC,eAAe;MAAC,OAAO,EAAEF;IAAQ,GAAKC,IAAI,EAAI;EAChE;EAEA,oBAAO,oBAAC,iBAAI,EAAKA,IAAI,CAAI;AAC3B,CAAC;AAAC;AAEK,SAASE,WAAW,QAAwC;EAAA;EAAA,IAAvC;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGJ;EAAY,CAAC;EAC/D,iBAAIL,OAAO,+DAAP,UAASM,cAAc,kDAAvB,qCAA2B,EAAE;IAC/B,oBACE,oBAAC,OAAO,CAAC,MAAM;MAAC,aAAa,EAAEE,OAAO,GAAG,CAAC,GAAG;IAAE,GAAKH,IAAI,GACrDI,QAAQ,CACM;EAErB;EAEA,oBACE,oBAAC,4BAAkB;IAAC,OAAO,EAAED;EAAQ,GAAKH,IAAI,GAC3CI,QAAQ,CACU;AAEzB"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Screens","MaybeScreenContainer","_ref","enabled","rest","screensEnabled","createElement","ScreenContainer","View","exports","MaybeScreen","_ref2","active","Screen","activityState"],"sourceRoot":"../../../src","sources":["views/ScreenFallback.tsx"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMsB,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAUtB,IAAIK,OAA0D;AAE9D,IAAI;EACFA,OAAO,GAAGhC,OAAO,CAAC,sBAAsB,CAAC;AAC3C,CAAC,CAAC,OAAOG,CAAC,EAAE;EACV;AAAA;AAGK,MAAM8B,oBAAoB,GAAGC,IAAA,IAO9B;EAAA,IAP+B;IACnCC,OAAO;IACP,GAAGC;EAKL,CAAC,GAAAF,IAAA;EACC,IAAIF,OAAO,EAAEK,cAAc,GAAG,CAAC,EAAE;IAC/B,oBAAOvC,KAAA,CAAAwC,aAAA,CAACN,OAAO,CAACO,eAAe,EAAAhB,QAAA;MAACY,OAAO,EAAEA;IAAQ,GAAKC,IAAI,CAAG,CAAC;EAChE;EAEA,oBAAOtC,KAAA,CAAAwC,aAAA,CAACrC,YAAA,CAAAuC,IAAI,EAAKJ,IAAO,CAAC;AAC3B,CAAC;AAACK,OAAA,CAAAR,oBAAA,GAAAA,oBAAA;AAEK,SAASS,WAAWA,CAAAC,KAAA,EAAkD;EAAA,IAAjD;IAAER,OAAO;IAAES,MAAM;IAAE,GAAGR;EAAwB,CAAC,GAAAO,KAAA;EACzE,IAAIX,OAAO,EAAEK,cAAc,GAAG,CAAC,EAAE;IAC/B,oBACEvC,KAAA,CAAAwC,aAAA,CAACN,OAAO,CAACa,MAAM,EAAAtB,QAAA;MAACY,OAAO,EAAEA,OAAQ;MAACW,aAAa,EAAEF;IAAO,GAAKR,IAAI,CAAG,CAAC;EAEzE;EAEA,oBAAOtC,KAAA,CAAAwC,aAAA,CAACrC,YAAA,CAAAuC,IAAI,EAAKJ,IAAO,CAAC;AAC3B"}
@@ -8,6 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _Badge = require("./Badge");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const ICON_SIZE = 25;
11
12
  function TabBarIcon(_ref) {
12
13
  let {
13
14
  route: _,
@@ -21,8 +22,6 @@ function TabBarIcon(_ref) {
21
22
  renderIcon,
22
23
  style
23
24
  } = _ref;
24
- const size = 25;
25
-
26
25
  // We render the icon twice at the same position on top of each other:
27
26
  // active and inactive one, so we can fade between them.
28
27
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -33,7 +32,7 @@ function TabBarIcon(_ref) {
33
32
  }]
34
33
  }, renderIcon({
35
34
  focused: true,
36
- size,
35
+ size: ICON_SIZE,
37
36
  color: activeTintColor
38
37
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
39
38
  style: [styles.icon, {
@@ -41,12 +40,12 @@ function TabBarIcon(_ref) {
41
40
  }]
42
41
  }, renderIcon({
43
42
  focused: false,
44
- size,
43
+ size: ICON_SIZE,
45
44
  color: inactiveTintColor
46
45
  })), /*#__PURE__*/_react.default.createElement(_Badge.Badge, {
47
46
  visible: badge != null,
48
- style: [styles.badge, horizontal ? styles.badgeHorizontal : styles.badgeVertical, badgeStyle],
49
- size: size * 3 / 4
47
+ style: [styles.badge, badgeStyle],
48
+ size: ICON_SIZE * 0.75
50
49
  }, badge));
51
50
  }
52
51
  const styles = _reactNative.StyleSheet.create({
@@ -61,24 +60,20 @@ const styles = _reactNative.StyleSheet.create({
61
60
  height: '100%',
62
61
  width: '100%',
63
62
  // Workaround for react-native >= 0.54 layout bug
64
- minWidth: 25
63
+ minWidth: ICON_SIZE
65
64
  },
66
65
  iconVertical: {
67
- flex: 1
66
+ width: ICON_SIZE,
67
+ height: ICON_SIZE
68
68
  },
69
69
  iconHorizontal: {
70
- height: '100%',
71
- marginTop: 3
70
+ width: ICON_SIZE,
71
+ height: ICON_SIZE
72
72
  },
73
73
  badge: {
74
74
  position: 'absolute',
75
- left: 3
76
- },
77
- badgeVertical: {
78
- top: 3
79
- },
80
- badgeHorizontal: {
81
- top: 7
75
+ right: -5,
76
+ top: -5
82
77
  }
83
78
  });
84
79
  //# sourceMappingURL=TabBarIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TabBarIcon","route","_","horizontal","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","style","size","styles","iconHorizontal","iconVertical","icon","opacity","focused","color","badgeHorizontal","badgeVertical","StyleSheet","create","position","alignSelf","alignItems","justifyContent","height","width","minWidth","flex","marginTop","left","top"],"sourceRoot":"../../../src","sources":["views/TabBarIcon.tsx"],"mappings":";;;;;;AACA;AACA;AAQA;AAAgC;AAmBzB,SAASA,UAAU,OAWhB;EAAA,IAXiB;IACzBC,KAAK,EAAEC,CAAC;IACRC,UAAU;IACVC,KAAK;IACLC,UAAU;IACVC,aAAa;IACbC,eAAe;IACfC,eAAe;IACfC,iBAAiB;IACjBC,UAAU;IACVC;EACK,CAAC;EACN,MAAMC,IAAI,GAAG,EAAE;;EAEf;EACA;EACA,oBACE,6BAAC,iBAAI;IACH,KAAK,EAAE,CAACT,UAAU,GAAGU,MAAM,CAACC,cAAc,GAAGD,MAAM,CAACE,YAAY,EAAEJ,KAAK;EAAE,gBAEzE,6BAAC,iBAAI;IAAC,KAAK,EAAE,CAACE,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEX;IAAc,CAAC;EAAE,GACpDI,UAAU,CAAC;IACVQ,OAAO,EAAE,IAAI;IACbN,IAAI;IACJO,KAAK,EAAEX;EACT,CAAC,CAAC,CACG,eACP,6BAAC,iBAAI;IAAC,KAAK,EAAE,CAACK,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEV;IAAgB,CAAC;EAAE,GACtDG,UAAU,CAAC;IACVQ,OAAO,EAAE,KAAK;IACdN,IAAI;IACJO,KAAK,EAAEV;EACT,CAAC,CAAC,CACG,eACP,6BAAC,YAAK;IACJ,OAAO,EAAEL,KAAK,IAAI,IAAK;IACvB,KAAK,EAAE,CACLS,MAAM,CAACT,KAAK,EACZD,UAAU,GAAGU,MAAM,CAACO,eAAe,GAAGP,MAAM,CAACQ,aAAa,EAC1DhB,UAAU,CACV;IACF,IAAI,EAAGO,IAAI,GAAG,CAAC,GAAI;EAAE,GAEpBR,KAAK,CACA,CACH;AAEX;AAEA,MAAMS,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BP,IAAI,EAAE;IACJ;IACA;IACA;IACAQ,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,MAAM;IACb;IACAC,QAAQ,EAAE;EACZ,CAAC;EACDf,YAAY,EAAE;IACZgB,IAAI,EAAE;EACR,CAAC;EACDjB,cAAc,EAAE;IACdc,MAAM,EAAE,MAAM;IACdI,SAAS,EAAE;EACb,CAAC;EACD5B,KAAK,EAAE;IACLoB,QAAQ,EAAE,UAAU;IACpBS,IAAI,EAAE;EACR,CAAC;EACDZ,aAAa,EAAE;IACba,GAAG,EAAE;EACP,CAAC;EACDd,eAAe,EAAE;IACfc,GAAG,EAAE;EACP;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Badge","obj","__esModule","default","ICON_SIZE","TabBarIcon","_ref","route","_","horizontal","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","style","createElement","View","styles","iconHorizontal","iconVertical","icon","opacity","focused","size","color","Badge","visible","StyleSheet","create","position","alignSelf","alignItems","justifyContent","height","width","minWidth","right","top"],"sourceRoot":"../../../src","sources":["views/TabBarIcon.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AAAgC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAmBhC,MAAMG,SAAS,GAAG,EAAE;AAEb,SAASC,UAAUA,CAAAC,IAAA,EAWhB;EAAA,IAXiB;IACzBC,KAAK,EAAEC,CAAC;IACRC,UAAU;IACVC,KAAK;IACLC,UAAU;IACVC,aAAa;IACbC,eAAe;IACfC,eAAe;IACfC,iBAAiB;IACjBC,UAAU;IACVC;EACK,CAAC,GAAAX,IAAA;EACN;EACA;EACA,oBACEV,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAACnB,YAAA,CAAAoB,IAAI;IACHF,KAAK,EAAE,CAACR,UAAU,GAAGW,MAAM,CAACC,cAAc,GAAGD,MAAM,CAACE,YAAY,EAAEL,KAAK;EAAE,gBAEzErB,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAACnB,YAAA,CAAAoB,IAAI;IAACF,KAAK,EAAE,CAACG,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEZ;IAAc,CAAC;EAAE,GACpDI,UAAU,CAAC;IACVS,OAAO,EAAE,IAAI;IACbC,IAAI,EAAEtB,SAAS;IACfuB,KAAK,EAAEb;EACT,CAAC,CACG,CAAC,eACPlB,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAACnB,YAAA,CAAAoB,IAAI;IAACF,KAAK,EAAE,CAACG,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEX;IAAgB,CAAC;EAAE,GACtDG,UAAU,CAAC;IACVS,OAAO,EAAE,KAAK;IACdC,IAAI,EAAEtB,SAAS;IACfuB,KAAK,EAAEZ;EACT,CAAC,CACG,CAAC,eACPnB,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAAClB,MAAA,CAAA4B,KAAK;IACJC,OAAO,EAAEnB,KAAK,IAAI,IAAK;IACvBO,KAAK,EAAE,CAACG,MAAM,CAACV,KAAK,EAAEC,UAAU,CAAE;IAClCe,IAAI,EAAEtB,SAAS,GAAG;EAAK,GAEtBM,KACI,CACH,CAAC;AAEX;AAEA,MAAMU,MAAM,GAAGU,uBAAU,CAACC,MAAM,CAAC;EAC/BR,IAAI,EAAE;IACJ;IACA;IACA;IACAS,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,MAAM;IACb;IACAC,QAAQ,EAAElC;EACZ,CAAC;EACDkB,YAAY,EAAE;IACZe,KAAK,EAAEjC,SAAS;IAChBgC,MAAM,EAAEhC;EACV,CAAC;EACDiB,cAAc,EAAE;IACdgB,KAAK,EAAEjC,SAAS;IAChBgC,MAAM,EAAEhC;EACV,CAAC;EACDM,KAAK,EAAE;IACLsB,QAAQ,EAAE,UAAU;IACpBO,KAAK,EAAE,CAAC,CAAC;IACTC,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Simple cross fade animation
3
+ */
4
+ export function forCrossFade(_ref) {
5
+ let {
6
+ current
7
+ } = _ref;
8
+ return {
9
+ sceneStyle: {
10
+ opacity: current.interpolate({
11
+ inputRange: [-1, 0, 1],
12
+ outputRange: [0, 1, 0]
13
+ })
14
+ }
15
+ };
16
+ }
17
+
18
+ /**
19
+ * Animation where the screens slightly shift to left/right
20
+ */
21
+ export function forShifting(_ref2) {
22
+ let {
23
+ current
24
+ } = _ref2;
25
+ return {
26
+ sceneStyle: {
27
+ opacity: current.interpolate({
28
+ inputRange: [-1, 0, 1],
29
+ outputRange: [0, 1, 0]
30
+ }),
31
+ transform: [{
32
+ translateX: current.interpolate({
33
+ inputRange: [-1, 0, 1],
34
+ outputRange: [-50, 0, 50]
35
+ })
36
+ }]
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=SceneStyleInterpolators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forCrossFade","_ref","current","sceneStyle","opacity","interpolate","inputRange","outputRange","forShifting","_ref2","transform","translateX"],"sourceRoot":"../../../src","sources":["TransitionConfigs/SceneStyleInterpolators.tsx"],"mappings":"AAKA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAAAC,IAAA,EAE0C;EAAA,IAFzC;IAC3BC;EACgC,CAAC,GAAAD,IAAA;EACjC,OAAO;IACLE,UAAU,EAAE;MACVC,OAAO,EAAEF,OAAO,CAACG,WAAW,CAAC;QAC3BC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MACvB,CAAC;IACH;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAAC,KAAA,EAE2C;EAAA,IAF1C;IAC1BP;EACgC,CAAC,GAAAO,KAAA;EACjC,OAAO;IACLN,UAAU,EAAE;MACVC,OAAO,EAAEF,OAAO,CAACG,WAAW,CAAC;QAC3BC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MACvB,CAAC,CAAC;MACFG,SAAS,EAAE,CACT;QACEC,UAAU,EAAET,OAAO,CAACG,WAAW,CAAC;UAC9BC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;UACtBC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,CAAC;MACH,CAAC;IAEL;EACF,CAAC;AACH"}
@@ -0,0 +1,11 @@
1
+ import { forCrossFade, forShifting } from './SceneStyleInterpolators';
2
+ import { CrossFadeSpec, ShiftingSpec } from './TransitionSpecs';
3
+ export const FadeTransition = {
4
+ transitionSpec: CrossFadeSpec,
5
+ sceneStyleInterpolator: forCrossFade
6
+ };
7
+ export const ShiftingTransition = {
8
+ transitionSpec: ShiftingSpec,
9
+ sceneStyleInterpolator: forShifting
10
+ };
11
+ //# sourceMappingURL=TransitionPresets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forCrossFade","forShifting","CrossFadeSpec","ShiftingSpec","FadeTransition","transitionSpec","sceneStyleInterpolator","ShiftingTransition"],"sourceRoot":"../../../src","sources":["TransitionConfigs/TransitionPresets.tsx"],"mappings":"AACA,SAASA,YAAY,EAAEC,WAAW,QAAQ,2BAA2B;AACrE,SAASC,aAAa,EAAEC,YAAY,QAAQ,mBAAmB;AAE/D,OAAO,MAAMC,cAAyC,GAAG;EACvDC,cAAc,EAAEH,aAAa;EAC7BI,sBAAsB,EAAEN;AAC1B,CAAC;AAED,OAAO,MAAMO,kBAA6C,GAAG;EAC3DF,cAAc,EAAEF,YAAY;EAC5BG,sBAAsB,EAAEL;AAC1B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Easing } from 'react-native';
2
+ export const CrossFadeSpec = {
3
+ animation: 'timing',
4
+ config: {
5
+ duration: 150,
6
+ easing: Easing.in(Easing.linear)
7
+ }
8
+ };
9
+ export const ShiftingSpec = {
10
+ animation: 'timing',
11
+ config: {
12
+ duration: 150,
13
+ easing: Easing.inOut(Easing.ease)
14
+ }
15
+ };
16
+ //# sourceMappingURL=TransitionSpecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Easing","CrossFadeSpec","animation","config","duration","easing","in","linear","ShiftingSpec","inOut","ease"],"sourceRoot":"../../../src","sources":["TransitionConfigs/TransitionSpecs.tsx"],"mappings":"AAAA,SAASA,MAAM,QAAQ,cAAc;AAIrC,OAAO,MAAMC,aAA6B,GAAG;EAC3CC,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNC,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEL,MAAM,CAACM,EAAE,CAACN,MAAM,CAACO,MAAM;EACjC;AACF,CAAC;AAED,OAAO,MAAMC,YAA4B,GAAG;EAC1CN,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNC,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEL,MAAM,CAACS,KAAK,CAACT,MAAM,CAACU,IAAI;EAClC;AACF,CAAC"}
@@ -1,3 +1,12 @@
1
+ import * as SceneStyleInterpolator from './TransitionConfigs/SceneStyleInterpolators';
2
+ import * as TransitionPresets from './TransitionConfigs/TransitionPresets';
3
+ import * as TransitionSpecs from './TransitionConfigs/TransitionSpecs';
4
+
5
+ /**
6
+ * Transition Presets
7
+ */
8
+ export { SceneStyleInterpolator, TransitionPresets, TransitionSpecs };
9
+
1
10
  /**
2
11
  * Navigators
3
12
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createBottomTabNavigator","BottomTabBar","BottomTabView","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useBottomTabBarHeight"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,wBAAwB,QAAQ,uCAAuC;;AAEhF;AACA;AACA;AACA,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,SAASC,iCAAiC,QAAQ,2CAA2C;AAC7F,SAASC,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,qBAAqB,QAAQ,+BAA+B;;AAErE;AACA;AACA"}
1
+ {"version":3,"names":["SceneStyleInterpolator","TransitionPresets","TransitionSpecs","createBottomTabNavigator","BottomTabBar","BottomTabView","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useBottomTabBarHeight"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAO,KAAKA,sBAAsB,MAAM,6CAA6C;AACrF,OAAO,KAAKC,iBAAiB,MAAM,uCAAuC;AAC1E,OAAO,KAAKC,eAAe,MAAM,qCAAqC;;AAEtE;AACA;AACA;AACA,SAASF,sBAAsB,EAAEC,iBAAiB,EAAEC,eAAe;;AAEnE;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,uCAAuC;;AAEhF;AACA;AACA;AACA,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,SAASC,iCAAiC,QAAQ,2CAA2C;AAC7F,SAASC,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,qBAAqB,QAAQ,+BAA+B;;AAErE;AACA;AACA"}
@@ -8,6 +8,7 @@ function BottomTabNavigator(_ref) {
8
8
  initialRouteName,
9
9
  backBehavior,
10
10
  children,
11
+ layout,
11
12
  screenListeners,
12
13
  screenOptions,
13
14
  sceneContainerStyle,
@@ -23,6 +24,7 @@ function BottomTabNavigator(_ref) {
23
24
  initialRouteName,
24
25
  backBehavior,
25
26
  children,
27
+ layout,
26
28
  screenListeners,
27
29
  screenOptions
28
30
  });
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","TabRouter","useNavigationBuilder","React","BottomTabView","BottomTabNavigator","id","initialRouteName","backBehavior","children","screenListeners","screenOptions","sceneContainerStyle","rest","state","descriptors","navigation","NavigationContent","createBottomTabNavigator"],"sourceRoot":"../../../src","sources":["navigators/createBottomTabNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAKtBC,SAAS,EAETC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,SAASC,aAAa,QAAQ,wBAAwB;AAWtD,SAASC,kBAAkB,OASjB;EAAA,IATkB;IAC1BC,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACbC,mBAAmB;IACnB,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDf,oBAAoB,CAMlBD,SAAS,EAAE;IACXK,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJ,oBACE,oBAAC,iBAAiB,qBAChB,oBAAC,aAAa,eACRE,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED,WAAY;IACzB,mBAAmB,EAAEH;EAAoB,GACzC,CACgB;AAExB;AAEA,OAAO,MAAMM,wBAAwB,GAAGlB,sBAAsB,CAK5DK,kBAAkB,CAAC"}
1
+ {"version":3,"names":["createNavigatorFactory","TabRouter","useNavigationBuilder","React","BottomTabView","BottomTabNavigator","_ref","id","initialRouteName","backBehavior","children","layout","screenListeners","screenOptions","sceneContainerStyle","rest","state","descriptors","navigation","NavigationContent","createElement","_extends","createBottomTabNavigator"],"sourceRoot":"../../../src","sources":["navigators/createBottomTabNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAKtBC,SAAS,EAETC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,SAASC,aAAa,QAAQ,wBAAwB;AAWtD,SAASC,kBAAkBA,CAAAC,IAAA,EAUjB;EAAA,IAVkB;IAC1BC,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,mBAAmB;IACnB,GAAGC;EACE,CAAC,GAAAT,IAAA;EACN,MAAM;IAAEU,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDjB,oBAAoB,CAMlBD,SAAS,EAAE;IACXM,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJ,oBACEV,KAAA,CAAAiB,aAAA,CAACD,iBAAiB,qBAChBhB,KAAA,CAAAiB,aAAA,CAAChB,aAAa,EAAAiB,QAAA,KACRN,IAAI;IACRC,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA,WAAY;IACzBH,mBAAmB,EAAEA;EAAoB,EAC1C,CACgB,CAAC;AAExB;AAEA,OAAO,MAAMQ,wBAAwB,GAAGtB,sBAAsB,CAK5DK,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["React","BottomTabBarHeightCallbackContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/BottomTabBarHeightCallbackContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,iCAAiC,gBAAGD,KAAK,CAACE,aAAa,CAElEC,SAAS,CAAC"}
1
+ {"version":3,"names":["React","BottomTabBarHeightCallbackContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/BottomTabBarHeightCallbackContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,iCAAiC,gBAAGD,KAAK,CAACE,aAAa,CAElEC,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","BottomTabBarHeightContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/BottomTabBarHeightContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,yBAAyB,gBAAGD,KAAK,CAACE,aAAa,CAE1DC,SAAS,CAAC"}
1
+ {"version":3,"names":["React","BottomTabBarHeightContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/BottomTabBarHeightContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,yBAAyB,gBAAGD,KAAK,CAACE,aAAa,CAE1DC,SAAS,CAAC"}
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { Animated } from 'react-native';
3
+ export function useAnimatedHashMap(_ref) {
4
+ let {
5
+ routes,
6
+ index
7
+ } = _ref;
8
+ const refs = React.useRef({});
9
+ const previous = refs.current;
10
+ const routeKeys = Object.keys(previous);
11
+ if (routes.length === routeKeys.length && routes.every(route => routeKeys.includes(route.key))) {
12
+ return previous;
13
+ }
14
+ refs.current = {};
15
+ routes.forEach((_ref2, i) => {
16
+ let {
17
+ key
18
+ } = _ref2;
19
+ refs.current[key] = previous[key] ?? new Animated.Value(i === index ? 0 : i >= index ? 1 : -1);
20
+ });
21
+ return refs.current;
22
+ }
23
+ //# sourceMappingURL=useAnimatedHashMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Animated","useAnimatedHashMap","_ref","routes","index","refs","useRef","previous","current","routeKeys","Object","keys","length","every","route","includes","key","forEach","_ref2","i","Value"],"sourceRoot":"../../../src","sources":["utils/useAnimatedHashMap.tsx"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAO,SAASC,kBAAkBA,CAAAC,IAAA,EAAqC;EAAA,IAApC;IAAEC,MAAM;IAAEC;EAAuB,CAAC,GAAAF,IAAA;EACnE,MAAMG,IAAI,GAAGN,KAAK,CAACO,MAAM,CAAiC,CAAC,CAAC,CAAC;EAC7D,MAAMC,QAAQ,GAAGF,IAAI,CAACG,OAAO;EAC7B,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAAC;EAEvC,IACEJ,MAAM,CAACS,MAAM,KAAKH,SAAS,CAACG,MAAM,IAClCT,MAAM,CAACU,KAAK,CAAEC,KAAK,IAAKL,SAAS,CAACM,QAAQ,CAACD,KAAK,CAACE,GAAG,CAAC,CAAC,EACtD;IACA,OAAOT,QAAQ;EACjB;EACAF,IAAI,CAACG,OAAO,GAAG,CAAC,CAAC;EAEjBL,MAAM,CAACc,OAAO,CAAC,CAAAC,KAAA,EAAUC,CAAC,KAAK;IAAA,IAAf;MAAEH;IAAI,CAAC,GAAAE,KAAA;IACrBb,IAAI,CAACG,OAAO,CAACQ,GAAG,CAAC,GACfT,QAAQ,CAACS,GAAG,CAAC,IACb,IAAIhB,QAAQ,CAACoB,KAAK,CAACD,CAAC,KAAKf,KAAK,GAAG,CAAC,GAAGe,CAAC,IAAIf,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EAC7D,CAAC,CAAC;EAEF,OAAOC,IAAI,CAACG,OAAO;AACrB"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","BottomTabBarHeightContext","useBottomTabBarHeight","height","useContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useBottomTabBarHeight.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,OAAO,SAASC,qBAAqB,GAAG;EACtC,MAAMC,MAAM,GAAGH,KAAK,CAACI,UAAU,CAACH,yBAAyB,CAAC;EAE1D,IAAIE,MAAM,KAAKE,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,2FAA2F,CAC5F;EACH;EAEA,OAAOH,MAAM;AACf"}
1
+ {"version":3,"names":["React","BottomTabBarHeightContext","useBottomTabBarHeight","height","useContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useBottomTabBarHeight.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,MAAMC,MAAM,GAAGH,KAAK,CAACI,UAAU,CAACH,yBAAyB,CAAC;EAE1D,IAAIE,MAAM,KAAKE,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,2FACF,CAAC;EACH;EAEA,OAAOH,MAAM;AACf"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Keyboard","Platform","useIsKeyboardShown","isKeyboardShown","setIsKeyboardShown","useState","useEffect","handleKeyboardShow","handleKeyboardHide","subscriptions","OS","addListener","forEach","s","remove"],"sourceRoot":"../../../src","sources":["utils/useIsKeyboardShown.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAA8BC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAEtE,OAAO,SAASC,kBAAkB,GAAG;EACnC,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGL,KAAK,CAACM,QAAQ,CAAC,KAAK,CAAC;EAEnEN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,kBAAkB,GAAG,MAAMH,kBAAkB,CAAC,IAAI,CAAC;IACzD,MAAMI,kBAAkB,GAAG,MAAMJ,kBAAkB,CAAC,KAAK,CAAC;IAE1D,IAAIK,aAAoC;IAExC,IAAIR,QAAQ,CAACS,EAAE,KAAK,KAAK,EAAE;MACzBD,aAAa,GAAG,CACdT,QAAQ,CAACW,WAAW,CAAC,kBAAkB,EAAEJ,kBAAkB,CAAC,EAC5DP,QAAQ,CAACW,WAAW,CAAC,kBAAkB,EAAEH,kBAAkB,CAAC,CAC7D;IACH,CAAC,MAAM;MACLC,aAAa,GAAG,CACdT,QAAQ,CAACW,WAAW,CAAC,iBAAiB,EAAEJ,kBAAkB,CAAC,EAC3DP,QAAQ,CAACW,WAAW,CAAC,iBAAiB,EAAEH,kBAAkB,CAAC,CAC5D;IACH;IAEA,OAAO,MAAM;MACXC,aAAa,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,EAAE,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOX,eAAe;AACxB"}
1
+ {"version":3,"names":["React","Keyboard","Platform","useIsKeyboardShown","isKeyboardShown","setIsKeyboardShown","useState","useEffect","handleKeyboardShow","handleKeyboardHide","subscriptions","OS","addListener","forEach","s","remove"],"sourceRoot":"../../../src","sources":["utils/useIsKeyboardShown.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAAmCC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAE3E,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGL,KAAK,CAACM,QAAQ,CAAC,KAAK,CAAC;EAEnEN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,kBAAkB,GAAGA,CAAA,KAAMH,kBAAkB,CAAC,IAAI,CAAC;IACzD,MAAMI,kBAAkB,GAAGA,CAAA,KAAMJ,kBAAkB,CAAC,KAAK,CAAC;IAE1D,IAAIK,aAAoC;IAExC,IAAIR,QAAQ,CAACS,EAAE,KAAK,KAAK,EAAE;MACzBD,aAAa,GAAG,CACdT,QAAQ,CAACW,WAAW,CAAC,kBAAkB,EAAEJ,kBAAkB,CAAC,EAC5DP,QAAQ,CAACW,WAAW,CAAC,kBAAkB,EAAEH,kBAAkB,CAAC,CAC7D;IACH,CAAC,MAAM;MACLC,aAAa,GAAG,CACdT,QAAQ,CAACW,WAAW,CAAC,iBAAiB,EAAEJ,kBAAkB,CAAC,EAC3DP,QAAQ,CAACW,WAAW,CAAC,iBAAiB,EAAEH,kBAAkB,CAAC,CAC5D;IACH;IAEA,OAAO,MAAM;MACXC,aAAa,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOX,eAAe;AACxB"}