@react-navigation/stack 7.0.0-alpha.1 → 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 (160) hide show
  1. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  2. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +19 -12
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  4. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +11 -21
  5. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
  6. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +7 -14
  7. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
  8. package/lib/commonjs/index.js +2 -2
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/navigators/createStackNavigator.js +32 -24
  11. package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
  12. package/lib/commonjs/types.js.map +1 -1
  13. package/lib/commonjs/utils/CardAnimationContext.js +3 -4
  14. package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
  15. package/lib/commonjs/utils/GestureHandlerRefContext.js +3 -4
  16. package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
  17. package/lib/commonjs/utils/ModalPresentationContext.js +3 -4
  18. package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
  19. package/lib/commonjs/utils/conditional.js.map +1 -1
  20. package/lib/commonjs/utils/debounce.js.map +1 -1
  21. package/lib/commonjs/utils/findLastIndex.js +1 -1
  22. package/lib/commonjs/utils/findLastIndex.js.map +1 -1
  23. package/lib/commonjs/utils/getDistanceForDirection.js +2 -2
  24. package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
  25. package/lib/commonjs/utils/getInvertedMultiplier.js +3 -4
  26. package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
  27. package/lib/commonjs/utils/memoize.js.map +1 -1
  28. package/lib/commonjs/utils/useCardAnimation.js +2 -2
  29. package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
  30. package/lib/commonjs/utils/useGestureHandlerRef.js +2 -2
  31. package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
  32. package/lib/commonjs/utils/useKeyboardManager.js +6 -6
  33. package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
  34. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  35. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  36. package/lib/commonjs/views/GestureHandler.js +5 -8
  37. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandlerNative.js +2 -2
  39. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  40. package/lib/commonjs/views/Header/Header.js +4 -4
  41. package/lib/commonjs/views/Header/Header.js.map +1 -1
  42. package/lib/commonjs/views/Header/HeaderContainer.js +12 -9
  43. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
  44. package/lib/commonjs/views/Header/HeaderSegment.js +11 -3
  45. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
  46. package/lib/commonjs/views/Screens.js +2 -2
  47. package/lib/commonjs/views/Screens.js.map +1 -1
  48. package/lib/commonjs/views/Stack/Card.js +48 -41
  49. package/lib/commonjs/views/Stack/Card.js.map +1 -1
  50. package/lib/commonjs/views/Stack/CardContainer.js +25 -21
  51. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
  52. package/lib/commonjs/views/Stack/CardSheet.js +24 -4
  53. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
  54. package/lib/commonjs/views/Stack/CardStack.js +58 -60
  55. package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
  56. package/lib/commonjs/views/Stack/StackView.js +26 -30
  57. package/lib/commonjs/views/Stack/StackView.js.map +1 -1
  58. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  59. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +20 -13
  60. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  61. package/lib/module/TransitionConfigs/TransitionPresets.js +1 -1
  62. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  63. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  64. package/lib/module/index.js.map +1 -1
  65. package/lib/module/navigators/createStackNavigator.js +30 -21
  66. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  67. package/lib/module/types.js.map +1 -1
  68. package/lib/module/utils/CardAnimationContext.js.map +1 -1
  69. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
  70. package/lib/module/utils/ModalPresentationContext.js.map +1 -1
  71. package/lib/module/utils/conditional.js.map +1 -1
  72. package/lib/module/utils/debounce.js.map +1 -1
  73. package/lib/module/utils/findLastIndex.js +1 -1
  74. package/lib/module/utils/findLastIndex.js.map +1 -1
  75. package/lib/module/utils/getDistanceForDirection.js +2 -2
  76. package/lib/module/utils/getDistanceForDirection.js.map +1 -1
  77. package/lib/module/utils/getInvertedMultiplier.js +3 -4
  78. package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
  79. package/lib/module/utils/memoize.js.map +1 -1
  80. package/lib/module/utils/useCardAnimation.js.map +1 -1
  81. package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
  82. package/lib/module/utils/useKeyboardManager.js +4 -4
  83. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  84. package/lib/module/views/GestureHandler.android.js.map +1 -1
  85. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  86. package/lib/module/views/GestureHandler.js.map +1 -1
  87. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  88. package/lib/module/views/Header/Header.js +1 -0
  89. package/lib/module/views/Header/Header.js.map +1 -1
  90. package/lib/module/views/Header/HeaderContainer.js +11 -8
  91. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  92. package/lib/module/views/Header/HeaderSegment.js +9 -1
  93. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  94. package/lib/module/views/Screens.js.map +1 -1
  95. package/lib/module/views/Stack/Card.js +45 -37
  96. package/lib/module/views/Stack/Card.js.map +1 -1
  97. package/lib/module/views/Stack/CardContainer.js +23 -18
  98. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  99. package/lib/module/views/Stack/CardSheet.js +21 -0
  100. package/lib/module/views/Stack/CardSheet.js.map +1 -1
  101. package/lib/module/views/Stack/CardStack.js +53 -54
  102. package/lib/module/views/Stack/CardStack.js.map +1 -1
  103. package/lib/module/views/Stack/StackView.js +24 -28
  104. package/lib/module/views/Stack/StackView.js.map +1 -1
  105. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
  106. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  107. package/lib/typescript/src/navigators/createStackNavigator.d.ts +4 -4
  108. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  109. package/lib/typescript/src/types.d.ts +47 -9
  110. package/lib/typescript/src/types.d.ts.map +1 -1
  111. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  112. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  113. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  114. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  115. package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -3
  116. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  117. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  118. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +4 -4
  119. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  120. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
  121. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  122. package/lib/typescript/src/views/Screens.d.ts +4 -3
  123. package/lib/typescript/src/views/Screens.d.ts.map +1 -1
  124. package/lib/typescript/src/views/Stack/Card.d.ts +6 -5
  125. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  126. package/lib/typescript/src/views/Stack/CardContainer.d.ts +3 -6
  127. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  128. package/lib/typescript/src/views/Stack/CardSheet.d.ts +1 -1
  129. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -1
  130. package/lib/typescript/src/views/Stack/CardStack.d.ts +4 -5
  131. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  132. package/lib/typescript/src/views/Stack/StackView.d.ts +9 -80
  133. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  134. package/package.json +20 -21
  135. package/src/TransitionConfigs/CardStyleInterpolators.tsx +5 -5
  136. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +32 -22
  137. package/src/TransitionConfigs/TransitionPresets.tsx +4 -4
  138. package/src/navigators/createStackNavigator.tsx +18 -7
  139. package/src/types.tsx +50 -10
  140. package/src/utils/findLastIndex.tsx +1 -1
  141. package/src/utils/getDistanceForDirection.tsx +3 -2
  142. package/src/utils/getInvertedMultiplier.tsx +4 -5
  143. package/src/utils/useKeyboardManager.tsx +1 -1
  144. package/src/views/GestureHandlerNative.tsx +1 -1
  145. package/src/views/Header/Header.tsx +3 -2
  146. package/src/views/Header/HeaderContainer.tsx +17 -6
  147. package/src/views/Header/HeaderSegment.tsx +12 -4
  148. package/src/views/Screens.tsx +2 -1
  149. package/src/views/Stack/Card.tsx +75 -56
  150. package/src/views/Stack/CardContainer.tsx +18 -9
  151. package/src/views/Stack/CardSheet.tsx +25 -1
  152. package/src/views/Stack/CardStack.tsx +216 -186
  153. package/src/views/Stack/StackView.tsx +24 -27
  154. package/lib/commonjs/views/ModalStatusBarManager.js +0 -44
  155. package/lib/commonjs/views/ModalStatusBarManager.js.map +0 -1
  156. package/lib/module/views/ModalStatusBarManager.js +0 -36
  157. package/lib/module/views/ModalStatusBarManager.js.map +0 -1
  158. package/lib/typescript/src/views/ModalStatusBarManager.d.ts +0 -12
  159. package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +0 -1
  160. package/src/views/ModalStatusBarManager.tsx +0 -45
@@ -4,19 +4,19 @@ 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,
@@ -25,14 +25,19 @@ import { ModalPresentationContext } from '../../utils/ModalPresentationContext';
25
25
  import { GestureHandlerRootView } from '../GestureHandler';
26
26
  import {
27
27
  HeaderContainer,
28
- Props as HeaderContainerProps,
28
+ type Props as HeaderContainerProps,
29
29
  } from '../Header/HeaderContainer';
30
30
  import { CardStack } from './CardStack';
31
31
 
32
32
  type Props = StackNavigationConfig & {
33
+ direction: LocaleDirection;
33
34
  state: StackNavigationState<ParamListBase>;
34
35
  navigation: StackNavigationHelpers;
35
36
  descriptors: StackDescriptorMap;
37
+ describe: (
38
+ route: RouteProp<ParamListBase>,
39
+ placeholder: boolean
40
+ ) => StackDescriptor;
36
41
  };
37
42
 
38
43
  type State = {
@@ -125,12 +130,9 @@ export class StackView extends React.Component<Props, State> {
125
130
  : props.state.routes;
126
131
 
127
132
  // Now we need to determine which routes were added and removed
128
- let {
129
- openingRouteKeys,
130
- closingRouteKeys,
131
- replacingRouteKeys,
132
- previousRoutes,
133
- } = state;
133
+ const { previousRoutes } = state;
134
+
135
+ let { openingRouteKeys, closingRouteKeys, replacingRouteKeys } = state;
134
136
 
135
137
  const previousFocusedRoute = previousRoutes[previousRoutes.length - 1] as
136
138
  | Route<string>
@@ -303,17 +305,6 @@ export class StackView extends React.Component<Props, State> {
303
305
  return routes[index - 1];
304
306
  };
305
307
 
306
- private renderScene = ({ route }: { route: Route<string> }) => {
307
- const descriptor =
308
- this.state.descriptors[route.key] || this.props.descriptors[route.key];
309
-
310
- if (!descriptor) {
311
- return null;
312
- }
313
-
314
- return descriptor.render();
315
- };
316
-
317
308
  private renderHeader = (props: HeaderContainerProps) => {
318
309
  return <HeaderContainer {...props} />;
319
310
  };
@@ -438,6 +429,12 @@ export class StackView extends React.Component<Props, State> {
438
429
  const { routes, descriptors, openingRouteKeys, closingRouteKeys } =
439
430
  this.state;
440
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
+
441
438
  return (
442
439
  <GestureHandlerWrapper style={styles.container}>
443
440
  <SafeAreaProviderCompat>
@@ -448,7 +445,7 @@ export class StackView extends React.Component<Props, State> {
448
445
  <HeaderShownContext.Consumer>
449
446
  {(isParentHeaderShown) => (
450
447
  <CardStack
451
- insets={insets as EdgeInsets}
448
+ insets={insets!}
452
449
  isParentHeaderShown={isParentHeaderShown}
453
450
  isParentModal={isParentModal}
454
451
  getPreviousRoute={this.getPreviousRoute}
@@ -460,12 +457,12 @@ export class StackView extends React.Component<Props, State> {
460
457
  onTransitionStart={this.handleTransitionStart}
461
458
  onTransitionEnd={this.handleTransitionEnd}
462
459
  renderHeader={this.renderHeader}
463
- renderScene={this.renderScene}
464
460
  state={state}
465
461
  descriptors={descriptors}
466
462
  onGestureStart={this.handleGestureStart}
467
463
  onGestureEnd={this.handleGestureEnd}
468
464
  onGestureCancel={this.handleGestureCancel}
465
+ preloadedDescriptors={preloadedDescriptors}
469
466
  {...rest}
470
467
  />
471
468
  )}
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ModalStatusBarManager = 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":["views/ModalStatusBarManager.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AAAqD;AAAA;AAY9C,SAASA,qBAAqB,OAAyC;EAAA;EAAA,IAAxC;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAa,CAAC;EAC1E,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 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":["views/ModalStatusBarManager.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAYpD,OAAO,SAASC,qBAAqB,OAAyC;EAAA;EAAA,IAAxC;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAa,CAAC;EAC1E,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 declare 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,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,eA8B3E"}
@@ -1,45 +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 function ModalStatusBarManager({ dark, layout, insets, style }: Props) {
16
- const { dark: darkTheme } = useTheme();
17
- const [overlapping, setOverlapping] = React.useState(true);
18
-
19
- const scale = 1 - 20 / layout.width;
20
- const offset = (insets.top - 34) * scale;
21
-
22
- const flattenedStyle = StyleSheet.flatten(style);
23
- const translateY = flattenedStyle?.transform?.find(
24
- (s: any) => s.translateY !== undefined
25
- )?.translateY;
26
-
27
- React.useEffect(() => {
28
- const listener = ({ value }: { value: number }) => {
29
- setOverlapping(value < offset);
30
- };
31
-
32
- const sub = translateY?.addListener(listener);
33
-
34
- return () => translateY?.removeListener(sub);
35
- }, [offset, translateY]);
36
-
37
- const darkContent = dark ?? !darkTheme;
38
-
39
- return (
40
- <StatusBar
41
- animated
42
- barStyle={overlapping && darkContent ? 'dark-content' : 'light-content'}
43
- />
44
- );
45
- }