@react-navigation/stack 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.
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +19 -12
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +11 -21
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +7 -14
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/commonjs/index.js +2 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createStackNavigator.js +32 -24
- package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/CardAnimationContext.js +3 -4
- package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
- package/lib/commonjs/utils/GestureHandlerRefContext.js +3 -4
- package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/commonjs/utils/ModalPresentationContext.js +3 -4
- package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
- package/lib/commonjs/utils/conditional.js.map +1 -1
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/utils/findLastIndex.js +1 -1
- package/lib/commonjs/utils/findLastIndex.js.map +1 -1
- package/lib/commonjs/utils/getDistanceForDirection.js +2 -2
- package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
- package/lib/commonjs/utils/getInvertedMultiplier.js +3 -4
- package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/commonjs/utils/memoize.js.map +1 -1
- package/lib/commonjs/utils/useCardAnimation.js +2 -2
- package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
- package/lib/commonjs/utils/useGestureHandlerRef.js +2 -2
- package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardManager.js +6 -6
- package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +5 -8
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +2 -2
- package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
- package/lib/commonjs/views/Header/Header.js +4 -4
- package/lib/commonjs/views/Header/Header.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderContainer.js +12 -9
- package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderSegment.js +11 -3
- package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
- package/lib/commonjs/views/Screens.js +2 -2
- package/lib/commonjs/views/Screens.js.map +1 -1
- package/lib/commonjs/views/Stack/Card.js +48 -41
- package/lib/commonjs/views/Stack/Card.js.map +1 -1
- package/lib/commonjs/views/Stack/CardContainer.js +25 -21
- package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
- package/lib/commonjs/views/Stack/CardSheet.js +24 -4
- package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
- package/lib/commonjs/views/Stack/CardStack.js +58 -60
- package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
- package/lib/commonjs/views/Stack/StackView.js +26 -30
- package/lib/commonjs/views/Stack/StackView.js.map +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +20 -13
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +30 -21
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/CardAnimationContext.js.map +1 -1
- package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/module/utils/ModalPresentationContext.js.map +1 -1
- package/lib/module/utils/conditional.js.map +1 -1
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/utils/findLastIndex.js +1 -1
- package/lib/module/utils/findLastIndex.js.map +1 -1
- package/lib/module/utils/getDistanceForDirection.js +2 -2
- package/lib/module/utils/getDistanceForDirection.js.map +1 -1
- package/lib/module/utils/getInvertedMultiplier.js +3 -4
- package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/module/utils/memoize.js.map +1 -1
- package/lib/module/utils/useCardAnimation.js.map +1 -1
- package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/module/utils/useKeyboardManager.js +4 -4
- package/lib/module/utils/useKeyboardManager.js.map +1 -1
- package/lib/module/views/GestureHandler.android.js.map +1 -1
- package/lib/module/views/GestureHandler.ios.js.map +1 -1
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/GestureHandlerNative.js.map +1 -1
- package/lib/module/views/Header/Header.js +1 -0
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +11 -8
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +9 -1
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/Screens.js.map +1 -1
- package/lib/module/views/Stack/Card.js +45 -37
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +23 -18
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardSheet.js +21 -0
- package/lib/module/views/Stack/CardSheet.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +53 -54
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +24 -28
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createStackNavigator.d.ts +4 -4
- package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +47 -9
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
- package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -3
- package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts +4 -4
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
- package/lib/typescript/src/views/Screens.d.ts +4 -3
- package/lib/typescript/src/views/Screens.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/Card.d.ts +6 -5
- package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardContainer.d.ts +3 -6
- package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardSheet.d.ts +1 -1
- package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardStack.d.ts +4 -5
- package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/StackView.d.ts +9 -80
- package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
- package/package.json +20 -21
- package/src/TransitionConfigs/CardStyleInterpolators.tsx +5 -5
- package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +32 -22
- package/src/TransitionConfigs/TransitionPresets.tsx +4 -4
- package/src/navigators/createStackNavigator.tsx +18 -7
- package/src/types.tsx +50 -10
- package/src/utils/findLastIndex.tsx +1 -1
- package/src/utils/getDistanceForDirection.tsx +3 -2
- package/src/utils/getInvertedMultiplier.tsx +4 -5
- package/src/utils/useKeyboardManager.tsx +1 -1
- package/src/views/GestureHandlerNative.tsx +1 -1
- package/src/views/Header/Header.tsx +3 -2
- package/src/views/Header/HeaderContainer.tsx +17 -6
- package/src/views/Header/HeaderSegment.tsx +12 -4
- package/src/views/Screens.tsx +2 -1
- package/src/views/Stack/Card.tsx +75 -56
- package/src/views/Stack/CardContainer.tsx +18 -9
- package/src/views/Stack/CardSheet.tsx +25 -1
- package/src/views/Stack/CardStack.tsx +216 -186
- package/src/views/Stack/StackView.tsx +24 -27
- package/lib/commonjs/views/ModalStatusBarManager.js +0 -44
- package/lib/commonjs/views/ModalStatusBarManager.js.map +0 -1
- package/lib/module/views/ModalStatusBarManager.js +0 -36
- package/lib/module/views/ModalStatusBarManager.js.map +0 -1
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts +0 -12
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +0 -1
- 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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
|
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
|
-
}
|