@react-navigation/stack 7.0.0-alpha.0 → 7.0.0-alpha.10

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 (207) hide show
  1. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +4 -5
  2. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +19 -12
  4. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  5. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +11 -21
  6. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
  7. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +7 -14
  8. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
  9. package/lib/commonjs/index.js +16 -17
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/navigators/createStackNavigator.js +35 -28
  12. package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
  13. package/lib/commonjs/types.js.map +1 -1
  14. package/lib/commonjs/utils/CardAnimationContext.js +4 -5
  15. package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
  16. package/lib/commonjs/utils/GestureHandlerRefContext.js +4 -5
  17. package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
  18. package/lib/commonjs/utils/ModalPresentationContext.js +4 -6
  19. package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
  20. package/lib/commonjs/utils/conditional.js +1 -1
  21. package/lib/commonjs/utils/conditional.js.map +1 -1
  22. package/lib/commonjs/utils/debounce.js +1 -1
  23. package/lib/commonjs/utils/debounce.js.map +1 -1
  24. package/lib/commonjs/utils/findLastIndex.js +2 -2
  25. package/lib/commonjs/utils/findLastIndex.js.map +1 -1
  26. package/lib/commonjs/utils/getDistanceForDirection.js +4 -5
  27. package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
  28. package/lib/commonjs/utils/getInvertedMultiplier.js +4 -5
  29. package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
  30. package/lib/commonjs/utils/memoize.js +1 -1
  31. package/lib/commonjs/utils/memoize.js.map +1 -1
  32. package/lib/commonjs/utils/useCardAnimation.js +5 -6
  33. package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
  34. package/lib/commonjs/utils/useGestureHandlerRef.js +5 -6
  35. package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
  36. package/lib/commonjs/utils/useKeyboardManager.js +7 -7
  37. package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  39. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  40. package/lib/commonjs/views/GestureHandler.js +5 -8
  41. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  42. package/lib/commonjs/views/GestureHandlerNative.js +4 -5
  43. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  44. package/lib/commonjs/views/Header/Header.js +11 -12
  45. package/lib/commonjs/views/Header/Header.js.map +1 -1
  46. package/lib/commonjs/views/Header/HeaderContainer.js +15 -13
  47. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
  48. package/lib/commonjs/views/Header/HeaderSegment.js +14 -7
  49. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
  50. package/lib/commonjs/views/Screens.js +2 -2
  51. package/lib/commonjs/views/Screens.js.map +1 -1
  52. package/lib/commonjs/views/Stack/Card.js +236 -234
  53. package/lib/commonjs/views/Stack/Card.js.map +1 -1
  54. package/lib/commonjs/views/Stack/CardContainer.js +33 -30
  55. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
  56. package/lib/commonjs/views/Stack/CardSheet.js +25 -5
  57. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
  58. package/lib/commonjs/views/Stack/CardStack.js +131 -136
  59. package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
  60. package/lib/commonjs/views/Stack/StackView.js +153 -164
  61. package/lib/commonjs/views/Stack/StackView.js.map +1 -1
  62. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +1 -1
  63. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  64. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +20 -13
  65. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  66. package/lib/module/TransitionConfigs/TransitionPresets.js +1 -1
  67. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  68. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  69. package/lib/module/index.js +7 -7
  70. package/lib/module/index.js.map +1 -1
  71. package/lib/module/navigators/createStackNavigator.js +32 -23
  72. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  73. package/lib/module/types.js.map +1 -1
  74. package/lib/module/utils/CardAnimationContext.js +1 -1
  75. package/lib/module/utils/CardAnimationContext.js.map +1 -1
  76. package/lib/module/utils/GestureHandlerRefContext.js +1 -1
  77. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
  78. package/lib/module/utils/ModalPresentationContext.js +1 -2
  79. package/lib/module/utils/ModalPresentationContext.js.map +1 -1
  80. package/lib/module/utils/conditional.js +1 -1
  81. package/lib/module/utils/conditional.js.map +1 -1
  82. package/lib/module/utils/debounce.js +1 -1
  83. package/lib/module/utils/debounce.js.map +1 -1
  84. package/lib/module/utils/findLastIndex.js +2 -2
  85. package/lib/module/utils/findLastIndex.js.map +1 -1
  86. package/lib/module/utils/getDistanceForDirection.js +3 -3
  87. package/lib/module/utils/getDistanceForDirection.js.map +1 -1
  88. package/lib/module/utils/getInvertedMultiplier.js +3 -4
  89. package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
  90. package/lib/module/utils/memoize.js +1 -1
  91. package/lib/module/utils/memoize.js.map +1 -1
  92. package/lib/module/utils/useCardAnimation.js +2 -2
  93. package/lib/module/utils/useCardAnimation.js.map +1 -1
  94. package/lib/module/utils/useGestureHandlerRef.js +3 -3
  95. package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
  96. package/lib/module/utils/useKeyboardManager.js +5 -5
  97. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  98. package/lib/module/views/GestureHandler.android.js.map +1 -1
  99. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  100. package/lib/module/views/GestureHandler.js.map +1 -1
  101. package/lib/module/views/GestureHandlerNative.js +1 -1
  102. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  103. package/lib/module/views/Header/Header.js +5 -4
  104. package/lib/module/views/Header/Header.js.map +1 -1
  105. package/lib/module/views/Header/HeaderContainer.js +13 -10
  106. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  107. package/lib/module/views/Header/HeaderSegment.js +11 -3
  108. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  109. package/lib/module/views/Screens.js.map +1 -1
  110. package/lib/module/views/Stack/Card.js +231 -228
  111. package/lib/module/views/Stack/Card.js.map +1 -1
  112. package/lib/module/views/Stack/CardContainer.js +28 -23
  113. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  114. package/lib/module/views/Stack/CardSheet.js +22 -1
  115. package/lib/module/views/Stack/CardSheet.js.map +1 -1
  116. package/lib/module/views/Stack/CardStack.js +124 -128
  117. package/lib/module/views/Stack/CardStack.js.map +1 -1
  118. package/lib/module/views/Stack/StackView.js +149 -159
  119. package/lib/module/views/Stack/StackView.js.map +1 -1
  120. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
  121. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  122. package/lib/typescript/src/index.d.ts +7 -7
  123. package/lib/typescript/src/index.d.ts.map +1 -1
  124. package/lib/typescript/src/navigators/createStackNavigator.d.ts +6 -6
  125. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  126. package/lib/typescript/src/types.d.ts +47 -9
  127. package/lib/typescript/src/types.d.ts.map +1 -1
  128. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -2
  129. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  130. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +1 -2
  131. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -1
  132. package/lib/typescript/src/utils/ModalPresentationContext.d.ts +1 -2
  133. package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -1
  134. package/lib/typescript/src/utils/conditional.d.ts +1 -1
  135. package/lib/typescript/src/utils/conditional.d.ts.map +1 -1
  136. package/lib/typescript/src/utils/debounce.d.ts +1 -1
  137. package/lib/typescript/src/utils/debounce.d.ts.map +1 -1
  138. package/lib/typescript/src/utils/findLastIndex.d.ts +1 -1
  139. package/lib/typescript/src/utils/findLastIndex.d.ts.map +1 -1
  140. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  141. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  142. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  143. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  144. package/lib/typescript/src/utils/memoize.d.ts +1 -1
  145. package/lib/typescript/src/utils/memoize.d.ts.map +1 -1
  146. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  147. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  148. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +1 -1
  149. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -1
  150. package/lib/typescript/src/utils/useKeyboardManager.d.ts +1 -1
  151. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
  152. package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -3
  153. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  154. package/lib/typescript/src/views/Header/Header.d.ts +1 -2
  155. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  156. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +4 -4
  157. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  158. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
  159. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  160. package/lib/typescript/src/views/Screens.d.ts +4 -3
  161. package/lib/typescript/src/views/Screens.d.ts.map +1 -1
  162. package/lib/typescript/src/views/Stack/Card.d.ts +7 -6
  163. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  164. package/lib/typescript/src/views/Stack/CardContainer.d.ts +5 -8
  165. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  166. package/lib/typescript/src/views/Stack/CardSheet.d.ts +2 -3
  167. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -1
  168. package/lib/typescript/src/views/Stack/CardStack.d.ts +5 -6
  169. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  170. package/lib/typescript/src/views/Stack/StackView.d.ts +10 -81
  171. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  172. package/package.json +20 -21
  173. package/src/TransitionConfigs/CardStyleInterpolators.tsx +6 -6
  174. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +32 -22
  175. package/src/TransitionConfigs/TransitionPresets.tsx +4 -4
  176. package/src/index.tsx +7 -7
  177. package/src/navigators/createStackNavigator.tsx +20 -9
  178. package/src/types.tsx +50 -10
  179. package/src/utils/CardAnimationContext.tsx +3 -3
  180. package/src/utils/GestureHandlerRefContext.tsx +1 -1
  181. package/src/utils/ModalPresentationContext.tsx +1 -3
  182. package/src/utils/conditional.tsx +1 -1
  183. package/src/utils/debounce.tsx +1 -1
  184. package/src/utils/findLastIndex.tsx +2 -5
  185. package/src/utils/getDistanceForDirection.tsx +5 -4
  186. package/src/utils/getInvertedMultiplier.tsx +5 -6
  187. package/src/utils/memoize.tsx +1 -1
  188. package/src/utils/useCardAnimation.tsx +2 -2
  189. package/src/utils/useGestureHandlerRef.tsx +3 -3
  190. package/src/utils/useKeyboardManager.tsx +2 -2
  191. package/src/views/GestureHandlerNative.tsx +2 -2
  192. package/src/views/Header/Header.tsx +7 -6
  193. package/src/views/Header/HeaderContainer.tsx +19 -8
  194. package/src/views/Header/HeaderSegment.tsx +14 -6
  195. package/src/views/Screens.tsx +2 -1
  196. package/src/views/Stack/Card.tsx +80 -61
  197. package/src/views/Stack/CardContainer.tsx +23 -14
  198. package/src/views/Stack/CardSheet.tsx +58 -35
  199. package/src/views/Stack/CardStack.tsx +220 -190
  200. package/src/views/Stack/StackView.tsx +29 -31
  201. package/lib/commonjs/views/ModalStatusBarManager.js +0 -44
  202. package/lib/commonjs/views/ModalStatusBarManager.js.map +0 -1
  203. package/lib/module/views/ModalStatusBarManager.js +0 -36
  204. package/lib/module/views/ModalStatusBarManager.js.map +0 -1
  205. package/lib/typescript/src/views/ModalStatusBarManager.d.ts +0 -12
  206. package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +0 -1
  207. package/src/views/ModalStatusBarManager.tsx +0 -50
@@ -4,34 +4,40 @@ import {
4
4
  } from '@react-navigation/elements';
5
5
  import {
6
6
  CommonActions,
7
- ParamListBase,
8
- Route,
7
+ type LocaleDirection,
8
+ type ParamListBase,
9
+ type Route,
10
+ type RouteProp,
9
11
  StackActions,
10
- StackNavigationState,
12
+ type StackNavigationState,
11
13
  } from '@react-navigation/native';
12
14
  import * as React from 'react';
13
15
  import { StyleSheet, View } from 'react-native';
14
- import {
15
- EdgeInsets,
16
- SafeAreaInsetsContext,
17
- } from 'react-native-safe-area-context';
16
+ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
18
17
 
19
18
  import type {
19
+ StackDescriptor,
20
20
  StackDescriptorMap,
21
21
  StackNavigationConfig,
22
22
  StackNavigationHelpers,
23
23
  } from '../../types';
24
- import ModalPresentationContext from '../../utils/ModalPresentationContext';
24
+ import { ModalPresentationContext } from '../../utils/ModalPresentationContext';
25
25
  import { GestureHandlerRootView } from '../GestureHandler';
26
- import HeaderContainer, {
27
- Props as HeaderContainerProps,
26
+ import {
27
+ HeaderContainer,
28
+ type Props as HeaderContainerProps,
28
29
  } from '../Header/HeaderContainer';
29
- import CardStack from './CardStack';
30
+ import { CardStack } from './CardStack';
30
31
 
31
32
  type Props = StackNavigationConfig & {
33
+ direction: LocaleDirection;
32
34
  state: StackNavigationState<ParamListBase>;
33
35
  navigation: StackNavigationHelpers;
34
36
  descriptors: StackDescriptorMap;
37
+ describe: (
38
+ route: RouteProp<ParamListBase>,
39
+ placeholder: boolean
40
+ ) => StackDescriptor;
35
41
  };
36
42
 
37
43
  type State = {
@@ -61,7 +67,7 @@ const GestureHandlerWrapper = GestureHandlerRootView ?? View;
61
67
  const isArrayEqual = (a: any[], b: any[]) =>
62
68
  a.length === b.length && a.every((it, index) => it === b[index]);
63
69
 
64
- export default class StackView extends React.Component<Props, State> {
70
+ export class StackView extends React.Component<Props, State> {
65
71
  static getDerivedStateFromProps(
66
72
  props: Readonly<Props>,
67
73
  state: Readonly<State>
@@ -124,12 +130,9 @@ export default class StackView extends React.Component<Props, State> {
124
130
  : props.state.routes;
125
131
 
126
132
  // Now we need to determine which routes were added and removed
127
- let {
128
- openingRouteKeys,
129
- closingRouteKeys,
130
- replacingRouteKeys,
131
- previousRoutes,
132
- } = state;
133
+ const { previousRoutes } = state;
134
+
135
+ let { openingRouteKeys, closingRouteKeys, replacingRouteKeys } = state;
133
136
 
134
137
  const previousFocusedRoute = previousRoutes[previousRoutes.length - 1] as
135
138
  | Route<string>
@@ -302,17 +305,6 @@ export default class StackView extends React.Component<Props, State> {
302
305
  return routes[index - 1];
303
306
  };
304
307
 
305
- private renderScene = ({ route }: { route: Route<string> }) => {
306
- const descriptor =
307
- this.state.descriptors[route.key] || this.props.descriptors[route.key];
308
-
309
- if (!descriptor) {
310
- return null;
311
- }
312
-
313
- return descriptor.render();
314
- };
315
-
316
308
  private renderHeader = (props: HeaderContainerProps) => {
317
309
  return <HeaderContainer {...props} />;
318
310
  };
@@ -437,6 +429,12 @@ export default class StackView extends React.Component<Props, State> {
437
429
  const { routes, descriptors, openingRouteKeys, closingRouteKeys } =
438
430
  this.state;
439
431
 
432
+ const preloadedDescriptors =
433
+ state.preloadedRoutes.reduce<StackDescriptorMap>((acc, route) => {
434
+ acc[route.key] = acc[route.key] || this.props.describe(route, true);
435
+ return acc;
436
+ }, {});
437
+
440
438
  return (
441
439
  <GestureHandlerWrapper style={styles.container}>
442
440
  <SafeAreaProviderCompat>
@@ -447,7 +445,7 @@ export default class StackView extends React.Component<Props, State> {
447
445
  <HeaderShownContext.Consumer>
448
446
  {(isParentHeaderShown) => (
449
447
  <CardStack
450
- insets={insets as EdgeInsets}
448
+ insets={insets!}
451
449
  isParentHeaderShown={isParentHeaderShown}
452
450
  isParentModal={isParentModal}
453
451
  getPreviousRoute={this.getPreviousRoute}
@@ -459,12 +457,12 @@ export default class StackView extends React.Component<Props, State> {
459
457
  onTransitionStart={this.handleTransitionStart}
460
458
  onTransitionEnd={this.handleTransitionEnd}
461
459
  renderHeader={this.renderHeader}
462
- renderScene={this.renderScene}
463
460
  state={state}
464
461
  descriptors={descriptors}
465
462
  onGestureStart={this.handleGestureStart}
466
463
  onGestureEnd={this.handleGestureEnd}
467
464
  onGestureCancel={this.handleGestureCancel}
465
+ preloadedDescriptors={preloadedDescriptors}
468
466
  {...rest}
469
467
  />
470
468
  )}
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = ModalStatusBarManager;
7
- var _native = require("@react-navigation/native");
8
- var React = _interopRequireWildcard(require("react"));
9
- var _reactNative = require("react-native");
10
- 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); }
11
- 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; }
12
- function ModalStatusBarManager(_ref) {
13
- var _flattenedStyle$trans, _flattenedStyle$trans2;
14
- let {
15
- dark,
16
- layout,
17
- insets,
18
- style
19
- } = _ref;
20
- const {
21
- dark: darkTheme
22
- } = (0, _native.useTheme)();
23
- const [overlapping, setOverlapping] = React.useState(true);
24
- const scale = 1 - 20 / layout.width;
25
- const offset = (insets.top - 34) * scale;
26
- const flattenedStyle = _reactNative.StyleSheet.flatten(style);
27
- const translateY = flattenedStyle === null || flattenedStyle === void 0 ? void 0 : (_flattenedStyle$trans = flattenedStyle.transform) === null || _flattenedStyle$trans === void 0 ? void 0 : (_flattenedStyle$trans2 = _flattenedStyle$trans.find(s => s.translateY !== undefined)) === null || _flattenedStyle$trans2 === void 0 ? void 0 : _flattenedStyle$trans2.translateY;
28
- React.useEffect(() => {
29
- const listener = _ref2 => {
30
- let {
31
- value
32
- } = _ref2;
33
- setOverlapping(value < offset);
34
- };
35
- const sub = translateY === null || translateY === void 0 ? void 0 : translateY.addListener(listener);
36
- return () => translateY === null || translateY === void 0 ? void 0 : translateY.removeListener(sub);
37
- }, [offset, translateY]);
38
- const darkContent = dark ?? !darkTheme;
39
- return /*#__PURE__*/React.createElement(_reactNative.StatusBar, {
40
- animated: true,
41
- barStyle: overlapping && darkContent ? 'dark-content' : 'light-content'
42
- });
43
- }
44
- //# sourceMappingURL=ModalStatusBarManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ModalStatusBarManager","dark","layout","insets","style","darkTheme","useTheme","overlapping","setOverlapping","React","useState","scale","width","offset","top","flattenedStyle","StyleSheet","flatten","translateY","transform","find","s","undefined","useEffect","listener","value","sub","addListener","removeListener","darkContent"],"sourceRoot":"../../src","sources":["ModalStatusBarManager.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AAAqD;AAAA;AAYtC,SAASA,qBAAqB,OAKnC;EAAA;EAAA,IALoC;IAC5CC,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC;EACK,CAAC;EACN,MAAM;IAAEH,IAAI,EAAEI;EAAU,CAAC,GAAG,IAAAC,gBAAQ,GAAE;EACtC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAAC,IAAI,CAAC;EAE1D,MAAMC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGT,MAAM,CAACU,KAAK;EACnC,MAAMC,MAAM,GAAG,CAACV,MAAM,CAACW,GAAG,GAAG,EAAE,IAAIH,KAAK;EAExC,MAAMI,cAAc,GAAGC,uBAAU,CAACC,OAAO,CAACb,KAAK,CAAC;EAChD,MAAMc,UAAU,GAAGH,cAAc,aAAdA,cAAc,gDAAdA,cAAc,CAAEI,SAAS,oFAAzB,sBAA2BC,IAAI,CAC/CC,CAAM,IAAKA,CAAC,CAACH,UAAU,KAAKI,SAAS,CACvC,2DAFkB,uBAEhBJ,UAAU;EAEbT,KAAK,CAACc,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG,SAAkC;MAAA,IAAjC;QAAEC;MAAyB,CAAC;MAC5CjB,cAAc,CAACiB,KAAK,GAAGZ,MAAM,CAAC;IAChC,CAAC;IAED,MAAMa,GAAG,GAAGR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,WAAW,CAACH,QAAQ,CAAC;IAE7C,OAAO,MAAMN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,cAAc,CAACF,GAAG,CAAC;EAC9C,CAAC,EAAE,CAACb,MAAM,EAAEK,UAAU,CAAC,CAAC;EAExB,MAAMW,WAAW,GAAG5B,IAAI,IAAI,CAACI,SAAS;EAEtC,oBACE,oBAAC,sBAAS;IACR,QAAQ;IACR,QAAQ,EAAEE,WAAW,IAAIsB,WAAW,GAAG,cAAc,GAAG;EAAgB,EACxE;AAEN"}
@@ -1,36 +0,0 @@
1
- import { useTheme } from '@react-navigation/native';
2
- import * as React from 'react';
3
- import { StatusBar, StyleSheet } from 'react-native';
4
- export default function ModalStatusBarManager(_ref) {
5
- var _flattenedStyle$trans, _flattenedStyle$trans2;
6
- let {
7
- dark,
8
- layout,
9
- insets,
10
- style
11
- } = _ref;
12
- const {
13
- dark: darkTheme
14
- } = useTheme();
15
- const [overlapping, setOverlapping] = React.useState(true);
16
- const scale = 1 - 20 / layout.width;
17
- const offset = (insets.top - 34) * scale;
18
- const flattenedStyle = StyleSheet.flatten(style);
19
- const translateY = flattenedStyle === null || flattenedStyle === void 0 ? void 0 : (_flattenedStyle$trans = flattenedStyle.transform) === null || _flattenedStyle$trans === void 0 ? void 0 : (_flattenedStyle$trans2 = _flattenedStyle$trans.find(s => s.translateY !== undefined)) === null || _flattenedStyle$trans2 === void 0 ? void 0 : _flattenedStyle$trans2.translateY;
20
- React.useEffect(() => {
21
- const listener = _ref2 => {
22
- let {
23
- value
24
- } = _ref2;
25
- setOverlapping(value < offset);
26
- };
27
- const sub = translateY === null || translateY === void 0 ? void 0 : translateY.addListener(listener);
28
- return () => translateY === null || translateY === void 0 ? void 0 : translateY.removeListener(sub);
29
- }, [offset, translateY]);
30
- const darkContent = dark ?? !darkTheme;
31
- return /*#__PURE__*/React.createElement(StatusBar, {
32
- animated: true,
33
- barStyle: overlapping && darkContent ? 'dark-content' : 'light-content'
34
- });
35
- }
36
- //# sourceMappingURL=ModalStatusBarManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useTheme","React","StatusBar","StyleSheet","ModalStatusBarManager","dark","layout","insets","style","darkTheme","overlapping","setOverlapping","useState","scale","width","offset","top","flattenedStyle","flatten","translateY","transform","find","s","undefined","useEffect","listener","value","sub","addListener","removeListener","darkContent"],"sourceRoot":"../../src","sources":["ModalStatusBarManager.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAYpD,eAAe,SAASC,qBAAqB,OAKnC;EAAA;EAAA,IALoC;IAC5CC,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC;EACK,CAAC;EACN,MAAM;IAAEH,IAAI,EAAEI;EAAU,CAAC,GAAGT,QAAQ,EAAE;EACtC,MAAM,CAACU,WAAW,EAAEC,cAAc,CAAC,GAAGV,KAAK,CAACW,QAAQ,CAAC,IAAI,CAAC;EAE1D,MAAMC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGP,MAAM,CAACQ,KAAK;EACnC,MAAMC,MAAM,GAAG,CAACR,MAAM,CAACS,GAAG,GAAG,EAAE,IAAIH,KAAK;EAExC,MAAMI,cAAc,GAAGd,UAAU,CAACe,OAAO,CAACV,KAAK,CAAC;EAChD,MAAMW,UAAU,GAAGF,cAAc,aAAdA,cAAc,gDAAdA,cAAc,CAAEG,SAAS,oFAAzB,sBAA2BC,IAAI,CAC/CC,CAAM,IAAKA,CAAC,CAACH,UAAU,KAAKI,SAAS,CACvC,2DAFkB,uBAEhBJ,UAAU;EAEblB,KAAK,CAACuB,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG,SAAkC;MAAA,IAAjC;QAAEC;MAAyB,CAAC;MAC5Cf,cAAc,CAACe,KAAK,GAAGX,MAAM,CAAC;IAChC,CAAC;IAED,MAAMY,GAAG,GAAGR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,WAAW,CAACH,QAAQ,CAAC;IAE7C,OAAO,MAAMN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,cAAc,CAACF,GAAG,CAAC;EAC9C,CAAC,EAAE,CAACZ,MAAM,EAAEI,UAAU,CAAC,CAAC;EAExB,MAAMW,WAAW,GAAGzB,IAAI,IAAI,CAACI,SAAS;EAEtC,oBACE,oBAAC,SAAS;IACR,QAAQ;IACR,QAAQ,EAAEC,WAAW,IAAIoB,WAAW,GAAG,cAAc,GAAG;EAAgB,EACxE;AAEN"}
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- import type { EdgeInsets } from 'react-native-safe-area-context';
3
- import type { Layout } from '../types';
4
- type Props = {
5
- dark: boolean | undefined;
6
- layout: Layout;
7
- insets: EdgeInsets;
8
- style: any;
9
- };
10
- export default function ModalStatusBarManager({ dark, layout, insets, style, }: Props): JSX.Element;
11
- export {};
12
- //# sourceMappingURL=ModalStatusBarManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModalStatusBarManager.d.ts","sourceRoot":"","sources":["../../../../src/views/ModalStatusBarManager.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,KAAK,eA8BP"}
@@ -1,50 +0,0 @@
1
- import { useTheme } from '@react-navigation/native';
2
- import * as React from 'react';
3
- import { StatusBar, StyleSheet } from 'react-native';
4
- import type { EdgeInsets } from 'react-native-safe-area-context';
5
-
6
- import type { Layout } from '../types';
7
-
8
- type Props = {
9
- dark: boolean | undefined;
10
- layout: Layout;
11
- insets: EdgeInsets;
12
- style: any;
13
- };
14
-
15
- export default function ModalStatusBarManager({
16
- dark,
17
- layout,
18
- insets,
19
- style,
20
- }: Props) {
21
- const { dark: darkTheme } = useTheme();
22
- const [overlapping, setOverlapping] = React.useState(true);
23
-
24
- const scale = 1 - 20 / layout.width;
25
- const offset = (insets.top - 34) * scale;
26
-
27
- const flattenedStyle = StyleSheet.flatten(style);
28
- const translateY = flattenedStyle?.transform?.find(
29
- (s: any) => s.translateY !== undefined
30
- )?.translateY;
31
-
32
- React.useEffect(() => {
33
- const listener = ({ value }: { value: number }) => {
34
- setOverlapping(value < offset);
35
- };
36
-
37
- const sub = translateY?.addListener(listener);
38
-
39
- return () => translateY?.removeListener(sub);
40
- }, [offset, translateY]);
41
-
42
- const darkContent = dark ?? !darkTheme;
43
-
44
- return (
45
- <StatusBar
46
- animated
47
- barStyle={overlapping && darkContent ? 'dark-content' : 'light-content'}
48
- />
49
- );
50
- }