@react-navigation/stack 6.0.11 → 6.1.0
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 +72 -64
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +37 -32
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +1 -1
- package/lib/commonjs/index.js +13 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createStackNavigator.js +8 -7
- package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
- package/lib/commonjs/utils/debounce.js +5 -1
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/utils/memoize.js +5 -1
- package/lib/commonjs/utils/memoize.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +7 -4
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +1 -1
- package/lib/commonjs/views/Header/Header.js +10 -9
- package/lib/commonjs/views/Header/Header.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderContainer.js +10 -9
- package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderSegment.js +5 -0
- package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
- package/lib/commonjs/views/ModalStatusBarManager.js +11 -9
- package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -1
- package/lib/commonjs/views/Screens.js +14 -10
- package/lib/commonjs/views/Screens.js.map +1 -1
- package/lib/commonjs/views/Stack/Card.js +32 -24
- package/lib/commonjs/views/Stack/Card.js.map +1 -1
- package/lib/commonjs/views/Stack/CardContainer.js +43 -40
- package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
- package/lib/commonjs/views/Stack/CardSheet.js +7 -6
- package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
- package/lib/commonjs/views/Stack/CardStack.js +19 -11
- package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
- package/lib/commonjs/views/Stack/StackView.js +62 -46
- package/lib/commonjs/views/Stack/StackView.js.map +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js +67 -59
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +35 -30
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +8 -7
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/utils/debounce.js +5 -1
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/utils/memoize.js +5 -1
- package/lib/module/utils/memoize.js.map +1 -1
- package/lib/module/views/GestureHandler.js +6 -3
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/Header/Header.js +10 -9
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +10 -9
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +5 -0
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/ModalStatusBarManager.js +11 -9
- package/lib/module/views/ModalStatusBarManager.js.map +1 -1
- package/lib/module/views/Screens.js +13 -9
- package/lib/module/views/Screens.js.map +1 -1
- package/lib/module/views/Stack/Card.js +32 -24
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +43 -40
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardSheet.js +7 -6
- package/lib/module/views/Stack/CardSheet.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +19 -11
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +62 -46
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/types.d.ts +6 -2
- package/package.json +9 -9
- package/src/index.tsx +1 -0
- package/src/types.tsx +6 -1
- package/src/views/Header/HeaderSegment.tsx +16 -4
- package/src/views/Stack/Card.tsx +1 -1
- package/src/views/Stack/CardContainer.tsx +3 -2
- package/src/views/Stack/CardStack.tsx +6 -1
|
@@ -7,8 +7,12 @@ exports.default = debounce;
|
|
|
7
7
|
|
|
8
8
|
function debounce(func, duration) {
|
|
9
9
|
let timeout;
|
|
10
|
-
return function (
|
|
10
|
+
return function () {
|
|
11
11
|
if (!timeout) {
|
|
12
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
13
|
+
args[_key] = arguments[_key];
|
|
14
|
+
}
|
|
15
|
+
|
|
12
16
|
// eslint-disable-next-line babel/no-invalid-this
|
|
13
17
|
func.apply(this, args);
|
|
14
18
|
timeout = setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":";;;;;;;AAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,
|
|
1
|
+
{"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":";;;;;;;AAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,YAA8B;AACnC,QAAI,CAACA,OAAL,EAAc;AAAA,wCADeC,IACf;AADeA,QAAAA,IACf;AAAA;;AACZ;AACAH,MAAAA,IAAI,CAACI,KAAL,CAAW,IAAX,EAAiBD,IAAjB;AAEAD,MAAAA,OAAO,GAAGG,UAAU,CAAC,MAAM;AACzBH,QAAAA,OAAO,GAAGI,SAAV;AACD,OAFmB,EAEjBL,QAFiB,CAApB;AAGD;AACF,GATD;AAUD","sourcesContent":["export default function debounce<T extends (...args: any[]) => void>(\n func: T,\n duration: number\n): T {\n let timeout: NodeJS.Timeout | number | undefined;\n\n return function (this: any, ...args) {\n if (!timeout) {\n // eslint-disable-next-line babel/no-invalid-this\n func.apply(this, args);\n\n timeout = setTimeout(() => {\n timeout = undefined;\n }, duration);\n }\n } as T;\n}\n"]}
|
|
@@ -8,9 +8,13 @@ exports.default = memoize;
|
|
|
8
8
|
function memoize(callback) {
|
|
9
9
|
let previous;
|
|
10
10
|
let result;
|
|
11
|
-
return (
|
|
11
|
+
return function () {
|
|
12
12
|
let hasChanged = false;
|
|
13
13
|
|
|
14
|
+
for (var _len = arguments.length, dependencies = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
15
|
+
dependencies[_key] = arguments[_key];
|
|
16
|
+
}
|
|
17
|
+
|
|
14
18
|
if (previous) {
|
|
15
19
|
if (previous.length !== dependencies.length) {
|
|
16
20
|
hasChanged = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","
|
|
1
|
+
{"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","hasChanged","dependencies","length","i","undefined"],"mappings":";;;;;;;AAAe,SAASA,OAAT,CACbC,QADa,EAEb;AACA,MAAIC,QAAJ;AACA,MAAIC,MAAJ;AAEA,SAAO,YAAmC;AACxC,QAAIC,UAAU,GAAG,KAAjB;;AADwC,sCAA/BC,YAA+B;AAA/BA,MAAAA,YAA+B;AAAA;;AAGxC,QAAIH,QAAJ,EAAc;AACZ,UAAIA,QAAQ,CAACI,MAAT,KAAoBD,YAAY,CAACC,MAArC,EAA6C;AAC3CF,QAAAA,UAAU,GAAG,IAAb;AACD,OAFD,MAEO;AACL,aAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAAQ,CAACI,MAA7B,EAAqCC,CAAC,EAAtC,EAA0C;AACxC,cAAIL,QAAQ,CAACK,CAAD,CAAR,KAAgBF,YAAY,CAACE,CAAD,CAAhC,EAAqC;AACnCH,YAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;AACF,KAXD,MAWO;AACLA,MAAAA,UAAU,GAAG,IAAb;AACD;;AAEDF,IAAAA,QAAQ,GAAGG,YAAX;;AAEA,QAAID,UAAU,IAAID,MAAM,KAAKK,SAA7B,EAAwC;AACtCL,MAAAA,MAAM,GAAGF,QAAQ,CAAC,GAAGI,YAAJ,CAAjB;AACD;;AAED,WAAOF,MAAP;AACD,GAzBD;AA0BD","sourcesContent":["export default function memoize<Result, Deps extends readonly any[]>(\n callback: (...deps: Deps) => Result\n) {\n let previous: Deps | undefined;\n let result: Result | undefined;\n\n return (...dependencies: Deps): Result => {\n let hasChanged = false;\n\n if (previous) {\n if (previous.length !== dependencies.length) {\n hasChanged = true;\n } else {\n for (let i = 0; i < previous.length; i++) {\n if (previous[i] !== dependencies[i]) {\n hasChanged = true;\n break;\n }\n }\n }\n } else {\n hasChanged = true;\n }\n\n previous = dependencies;\n\n if (hasChanged || result === undefined) {\n result = callback(...dependencies);\n }\n\n return result;\n };\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.PanGestureHandler = exports.GestureState = exports.GestureHandlerRootView = void 0;
|
|
7
7
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
@@ -13,9 +13,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
13
13
|
|
|
14
14
|
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; }
|
|
15
15
|
|
|
16
|
-
const Dummy =
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const Dummy = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
children
|
|
19
|
+
} = _ref;
|
|
20
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
21
|
+
};
|
|
19
22
|
|
|
20
23
|
const PanGestureHandler = Dummy;
|
|
21
24
|
exports.PanGestureHandler = PanGestureHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GestureHandler.tsx"],"names":["Dummy","children","PanGestureHandler","GestureHandlerRootView","View","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAGA,MAAMA,KAAU,GAAG,
|
|
1
|
+
{"version":3,"sources":["GestureHandler.tsx"],"names":["Dummy","children","PanGestureHandler","GestureHandlerRootView","View","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAGA,MAAMA,KAAU,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,sBACjB,0CAAGA,QAAH,CADiB;AAAA,CAAnB;;AAIO,MAAMC,iBAAiB,GAC5BF,KADK;;AAGA,MAAMG,sBAAsB,GAAGC,iBAA/B;;AAEA,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,YAAY,EAAE,CADY;AAE1BC,EAAAA,MAAM,EAAE,CAFkB;AAG1BC,EAAAA,KAAK,EAAE,CAHmB;AAI1BC,EAAAA,SAAS,EAAE,CAJe;AAK1BC,EAAAA,MAAM,EAAE,CALkB;AAM1BC,EAAAA,GAAG,EAAE;AANqB,CAArB","sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport type { PanGestureHandlerProperties } from 'react-native-gesture-handler';\n\nconst Dummy: any = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\n\nexport const PanGestureHandler =\n Dummy as React.ComponentType<PanGestureHandlerProperties>;\n\nexport const GestureHandlerRootView = View;\n\nexport const GestureState = {\n UNDETERMINED: 0,\n FAILED: 1,\n BEGAN: 2,\n CANCELLED: 3,\n ACTIVE: 4,\n END: 5,\n};\n\nexport type { PanGestureHandlerGestureEvent } from 'react-native-gesture-handler';\n"]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.PanGestureHandler = PanGestureHandler;
|
|
7
6
|
Object.defineProperty(exports, "GestureHandlerRootView", {
|
|
8
7
|
enumerable: true,
|
|
9
8
|
get: function () {
|
|
@@ -16,6 +15,7 @@ Object.defineProperty(exports, "GestureState", {
|
|
|
16
15
|
return _reactNativeGestureHandler.State;
|
|
17
16
|
}
|
|
18
17
|
});
|
|
18
|
+
exports.PanGestureHandler = PanGestureHandler;
|
|
19
19
|
Object.defineProperty(exports, "PanGestureHandlerGestureEvent", {
|
|
20
20
|
enumerable: true,
|
|
21
21
|
get: function () {
|
|
@@ -27,15 +27,16 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
27
|
|
|
28
28
|
function _extends() { _extends = Object.assign || 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); }
|
|
29
29
|
|
|
30
|
-
var _default = /*#__PURE__*/React.memo(function Header({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
var _default = /*#__PURE__*/React.memo(function Header(_ref) {
|
|
31
|
+
let {
|
|
32
|
+
back,
|
|
33
|
+
layout,
|
|
34
|
+
progress,
|
|
35
|
+
options,
|
|
36
|
+
route,
|
|
37
|
+
navigation,
|
|
38
|
+
styleInterpolator
|
|
39
|
+
} = _ref;
|
|
39
40
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
40
41
|
let previousTitle; // The label for the left back button shows the title of the previous screen
|
|
41
42
|
// If a custom label is specified, we use it, otherwise use previous screen's title
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Header.tsx"],"names":["React","memo","Header","back","layout","progress","options","route","navigation","styleInterpolator","insets","previousTitle","headerBackTitle","undefined","title","goBack","useCallback","isFocused","canGoBack","dispatch","StackActions","pop","source","key","isModal","useContext","ModalPresentationContext","isParentHeaderShown","HeaderShownContext","statusBarHeight","headerStatusBarHeight","top","name"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;4BAEeA,KAAK,CAACC,IAAN,CAAW,SAASC,MAAT,
|
|
1
|
+
{"version":3,"sources":["Header.tsx"],"names":["React","memo","Header","back","layout","progress","options","route","navigation","styleInterpolator","insets","previousTitle","headerBackTitle","undefined","title","goBack","useCallback","isFocused","canGoBack","dispatch","StackActions","pop","source","key","isModal","useContext","ModalPresentationContext","isParentHeaderShown","HeaderShownContext","statusBarHeight","headerStatusBarHeight","top","name"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;4BAEeA,KAAK,CAACC,IAAN,CAAW,SAASC,MAAT,OAQL;AAAA,MARqB;AACxCC,IAAAA,IADwC;AAExCC,IAAAA,MAFwC;AAGxCC,IAAAA,QAHwC;AAIxCC,IAAAA,OAJwC;AAKxCC,IAAAA,KALwC;AAMxCC,IAAAA,UANwC;AAOxCC,IAAAA;AAPwC,GAQrB;AACnB,QAAMC,MAAM,GAAG,oDAAf;AAEA,MAAIC,aAAJ,CAHmB,CAKnB;AACA;;AACA,MAAIL,OAAO,CAACM,eAAR,KAA4BC,SAAhC,EAA2C;AACzCF,IAAAA,aAAa,GAAGL,OAAO,CAACM,eAAxB;AACD,GAFD,MAEO,IAAIT,IAAJ,EAAU;AACfQ,IAAAA,aAAa,GAAGR,IAAI,CAACW,KAArB;AACD,GAXkB,CAanB;;;AACA,QAAMC,MAAM,GAAGf,KAAK,CAACgB,WAAN,CACb,uBAAS,MAAM;AACb,QAAIR,UAAU,CAACS,SAAX,MAA0BT,UAAU,CAACU,SAAX,EAA9B,EAAsD;AACpDV,MAAAA,UAAU,CAACW,QAAX,CAAoB,EAClB,GAAGC,qBAAaC,GAAb,EADe;AAElBC,QAAAA,MAAM,EAAEf,KAAK,CAACgB;AAFI,OAApB;AAID;AACF,GAPD,EAOG,EAPH,CADa,EASb,CAACf,UAAD,EAAaD,KAAK,CAACgB,GAAnB,CATa,CAAf;AAYA,QAAMC,OAAO,GAAGxB,KAAK,CAACyB,UAAN,CAAiBC,iCAAjB,CAAhB;AACA,QAAMC,mBAAmB,GAAG3B,KAAK,CAACyB,UAAN,CAAiBG,4BAAjB,CAA5B;AAEA,QAAMC,eAAe,GACnBvB,OAAO,CAACwB,qBAAR,KAAkCjB,SAAlC,GACIP,OAAO,CAACwB,qBADZ,GAEIN,OAAO,IAAIG,mBAAX,GACA,CADA,GAEAjB,MAAM,CAACqB,GALb;AAOA,sBACE,oBAAC,sBAAD,eACMzB,OADN;AAEE,IAAA,KAAK,EAAE,8BAAeA,OAAf,EAAwBC,KAAK,CAACyB,IAA9B,CAFT;AAGE,IAAA,QAAQ,EAAE3B,QAHZ;AAIE,IAAA,MAAM,EAAED,MAJV;AAKE,IAAA,KAAK,EAAEoB,OALT;AAME,IAAA,eAAe,EACblB,OAAO,CAACM,eAAR,KAA4BC,SAA5B,GACIP,OAAO,CAACM,eADZ,GAEID,aATR;AAWE,IAAA,qBAAqB,EAAEkB,eAXzB;AAYE,IAAA,QAAQ,EAAE1B,IAAI,GAAGY,MAAH,GAAYF,SAZ5B;AAaE,IAAA,iBAAiB,EAAEJ;AAbrB,KADF;AAiBD,CA7Dc,C","sourcesContent":["import { getHeaderTitle, HeaderShownContext } from '@react-navigation/elements';\nimport { StackActions } from '@react-navigation/native';\nimport * as React from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport type { StackHeaderProps } from '../../types';\nimport debounce from '../../utils/debounce';\nimport ModalPresentationContext from '../../utils/ModalPresentationContext';\nimport HeaderSegment from './HeaderSegment';\n\nexport default React.memo(function Header({\n back,\n layout,\n progress,\n options,\n route,\n navigation,\n styleInterpolator,\n}: StackHeaderProps) {\n const insets = useSafeAreaInsets();\n\n let previousTitle;\n\n // The label for the left back button shows the title of the previous screen\n // If a custom label is specified, we use it, otherwise use previous screen's title\n if (options.headerBackTitle !== undefined) {\n previousTitle = options.headerBackTitle;\n } else if (back) {\n previousTitle = back.title;\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const goBack = React.useCallback(\n debounce(() => {\n if (navigation.isFocused() && navigation.canGoBack()) {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n });\n }\n }, 50),\n [navigation, route.key]\n );\n\n const isModal = React.useContext(ModalPresentationContext);\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n\n const statusBarHeight =\n options.headerStatusBarHeight !== undefined\n ? options.headerStatusBarHeight\n : isModal || isParentHeaderShown\n ? 0\n : insets.top;\n\n return (\n <HeaderSegment\n {...options}\n title={getHeaderTitle(options, route.name)}\n progress={progress}\n layout={layout}\n modal={isModal}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : previousTitle\n }\n headerStatusBarHeight={statusBarHeight}\n onGoBack={back ? goBack : undefined}\n styleInterpolator={styleInterpolator}\n />\n );\n});\n"]}
|
|
@@ -23,15 +23,16 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
23
23
|
|
|
24
24
|
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; }
|
|
25
25
|
|
|
26
|
-
function HeaderContainer({
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
function HeaderContainer(_ref) {
|
|
27
|
+
let {
|
|
28
|
+
mode,
|
|
29
|
+
scenes,
|
|
30
|
+
layout,
|
|
31
|
+
getPreviousScene,
|
|
32
|
+
getFocusedRoute,
|
|
33
|
+
onContentHeightChange,
|
|
34
|
+
style
|
|
35
|
+
} = _ref;
|
|
35
36
|
const focusedRoute = getFocusedRoute();
|
|
36
37
|
const parentHeaderBack = React.useContext(_elements.HeaderBackContext);
|
|
37
38
|
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeaderContainer.tsx"],"names":["HeaderContainer","mode","scenes","layout","getPreviousScene","getFocusedRoute","onContentHeightChange","style","focusedRoute","parentHeaderBack","React","useContext","HeaderBackContext","slice","map","scene","i","self","length","header","headerMode","headerShown","headerTransparent","headerStyleInterpolator","descriptor","options","isFocused","key","route","previousScene","headerBack","title","name","previousDescriptor","nextDescriptor","previousHeaderShown","previousHeaderMode","nextHeaderlessScene","find","currentHeaderShown","currentHeaderMode","gestureDirection","nextHeaderlessGestureDirection","isHeaderStatic","props","back","progress","navigation","styleInterpolator","forSlideUp","forSlideRight","forSlideLeft","forNoAnimation","e","height","nativeEvent","undefined","styles","StyleSheet","create","position","top","left","right"],"mappings":"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","sourcesContent":["import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Animated, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport {\n forNoAnimation,\n forSlideLeft,\n forSlideRight,\n forSlideUp,\n} from '../../TransitionConfigs/HeaderStyleInterpolators';\nimport type {\n Layout,\n Scene,\n StackHeaderMode,\n StackHeaderProps,\n StackNavigationProp,\n} from '../../types';\nimport Header from './Header';\n\nexport type Props = {\n mode: StackHeaderMode;\n layout: Layout;\n scenes: (Scene | undefined)[];\n getPreviousScene: (props: { route: Route<string> }) => Scene | undefined;\n getFocusedRoute: () => Route<string>;\n onContentHeightChange?: (props: {\n route: Route<string>;\n height: number;\n }) => void;\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n};\n\nexport default function HeaderContainer({\n mode,\n scenes,\n layout,\n getPreviousScene,\n getFocusedRoute,\n onContentHeightChange,\n style,\n}: Props) {\n const focusedRoute = getFocusedRoute();\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <Animated.View pointerEvents=\"box-none\" style={style}>\n {scenes.slice(-3).map((scene, i, self) => {\n if ((mode === 'screen' && i !== self.length - 1) || !scene) {\n return null;\n }\n\n const {\n header,\n headerMode,\n headerShown = true,\n headerTransparent,\n headerStyleInterpolator,\n } = scene.descriptor.options;\n\n if (headerMode !== mode || !headerShown) {\n return null;\n }\n\n const isFocused = focusedRoute.key === scene.descriptor.route.key;\n const previousScene = getPreviousScene({\n route: scene.descriptor.route,\n });\n\n let headerBack = parentHeaderBack;\n\n if (previousScene) {\n const { options, route } = previousScene.descriptor;\n\n headerBack = previousScene\n ? { title: getHeaderTitle(options, route.name) }\n : parentHeaderBack;\n }\n\n // If the screen is next to a headerless screen, we need to make the header appear static\n // This makes the header look like it's moving with the screen\n const previousDescriptor = self[i - 1]?.descriptor;\n const nextDescriptor = self[i + 1]?.descriptor;\n\n const {\n headerShown: previousHeaderShown = true,\n headerMode: previousHeaderMode,\n } = previousDescriptor?.options || {};\n\n // If any of the next screens don't have a header or header is part of the screen\n // Then we need to move this header offscreen so that it doesn't cover it\n const nextHeaderlessScene = self.slice(i + 1).find((scene) => {\n const {\n headerShown: currentHeaderShown = true,\n headerMode: currentHeaderMode,\n } = scene?.descriptor.options || {};\n\n return currentHeaderShown === false || currentHeaderMode === 'screen';\n });\n\n const { gestureDirection: nextHeaderlessGestureDirection } =\n nextHeaderlessScene?.descriptor.options || {};\n\n const isHeaderStatic =\n ((previousHeaderShown === false || previousHeaderMode === 'screen') &&\n // We still need to animate when coming back from next scene\n // A hacky way to check this is if the next scene exists\n !nextDescriptor) ||\n nextHeaderlessScene;\n\n const props: StackHeaderProps = {\n layout,\n back: headerBack,\n progress: scene.progress,\n options: scene.descriptor.options,\n route: scene.descriptor.route,\n navigation: scene.descriptor\n .navigation as StackNavigationProp<ParamListBase>,\n styleInterpolator:\n mode === 'float'\n ? isHeaderStatic\n ? nextHeaderlessGestureDirection === 'vertical' ||\n nextHeaderlessGestureDirection === 'vertical-inverted'\n ? forSlideUp\n : nextHeaderlessGestureDirection === 'horizontal-inverted'\n ? forSlideRight\n : forSlideLeft\n : headerStyleInterpolator\n : forNoAnimation,\n };\n\n return (\n <NavigationContext.Provider\n key={scene.descriptor.route.key}\n value={scene.descriptor.navigation}\n >\n <NavigationRouteContext.Provider value={scene.descriptor.route}>\n <View\n onLayout={\n onContentHeightChange\n ? (e) => {\n const { height } = e.nativeEvent.layout;\n\n onContentHeightChange({\n route: scene.descriptor.route,\n height,\n });\n }\n : undefined\n }\n pointerEvents={isFocused ? 'box-none' : 'none'}\n accessibilityElementsHidden={!isFocused}\n importantForAccessibility={\n isFocused ? 'auto' : 'no-hide-descendants'\n }\n style={\n // Avoid positioning the focused header absolutely\n // Otherwise accessibility tools don't seem to be able to find it\n (mode === 'float' && !isFocused) || headerTransparent\n ? styles.header\n : null\n }\n >\n {header !== undefined ? header(props) : <Header {...props} />}\n </View>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n );\n })}\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n header: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["HeaderContainer.tsx"],"names":["HeaderContainer","mode","scenes","layout","getPreviousScene","getFocusedRoute","onContentHeightChange","style","focusedRoute","parentHeaderBack","React","useContext","HeaderBackContext","slice","map","scene","i","self","length","header","headerMode","headerShown","headerTransparent","headerStyleInterpolator","descriptor","options","isFocused","key","route","previousScene","headerBack","title","name","previousDescriptor","nextDescriptor","previousHeaderShown","previousHeaderMode","nextHeaderlessScene","find","currentHeaderShown","currentHeaderMode","gestureDirection","nextHeaderlessGestureDirection","isHeaderStatic","props","back","progress","navigation","styleInterpolator","forSlideUp","forSlideRight","forSlideLeft","forNoAnimation","e","height","nativeEvent","undefined","styles","StyleSheet","create","position","top","left","right"],"mappings":"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","sourcesContent":["import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Animated, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport {\n forNoAnimation,\n forSlideLeft,\n forSlideRight,\n forSlideUp,\n} from '../../TransitionConfigs/HeaderStyleInterpolators';\nimport type {\n Layout,\n Scene,\n StackHeaderMode,\n StackHeaderProps,\n StackNavigationProp,\n} from '../../types';\nimport Header from './Header';\n\nexport type Props = {\n mode: StackHeaderMode;\n layout: Layout;\n scenes: (Scene | undefined)[];\n getPreviousScene: (props: { route: Route<string> }) => Scene | undefined;\n getFocusedRoute: () => Route<string>;\n onContentHeightChange?: (props: {\n route: Route<string>;\n height: number;\n }) => void;\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n};\n\nexport default function HeaderContainer({\n mode,\n scenes,\n layout,\n getPreviousScene,\n getFocusedRoute,\n onContentHeightChange,\n style,\n}: Props) {\n const focusedRoute = getFocusedRoute();\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <Animated.View pointerEvents=\"box-none\" style={style}>\n {scenes.slice(-3).map((scene, i, self) => {\n if ((mode === 'screen' && i !== self.length - 1) || !scene) {\n return null;\n }\n\n const {\n header,\n headerMode,\n headerShown = true,\n headerTransparent,\n headerStyleInterpolator,\n } = scene.descriptor.options;\n\n if (headerMode !== mode || !headerShown) {\n return null;\n }\n\n const isFocused = focusedRoute.key === scene.descriptor.route.key;\n const previousScene = getPreviousScene({\n route: scene.descriptor.route,\n });\n\n let headerBack = parentHeaderBack;\n\n if (previousScene) {\n const { options, route } = previousScene.descriptor;\n\n headerBack = previousScene\n ? { title: getHeaderTitle(options, route.name) }\n : parentHeaderBack;\n }\n\n // If the screen is next to a headerless screen, we need to make the header appear static\n // This makes the header look like it's moving with the screen\n const previousDescriptor = self[i - 1]?.descriptor;\n const nextDescriptor = self[i + 1]?.descriptor;\n\n const {\n headerShown: previousHeaderShown = true,\n headerMode: previousHeaderMode,\n } = previousDescriptor?.options || {};\n\n // If any of the next screens don't have a header or header is part of the screen\n // Then we need to move this header offscreen so that it doesn't cover it\n const nextHeaderlessScene = self.slice(i + 1).find((scene) => {\n const {\n headerShown: currentHeaderShown = true,\n headerMode: currentHeaderMode,\n } = scene?.descriptor.options || {};\n\n return currentHeaderShown === false || currentHeaderMode === 'screen';\n });\n\n const { gestureDirection: nextHeaderlessGestureDirection } =\n nextHeaderlessScene?.descriptor.options || {};\n\n const isHeaderStatic =\n ((previousHeaderShown === false || previousHeaderMode === 'screen') &&\n // We still need to animate when coming back from next scene\n // A hacky way to check this is if the next scene exists\n !nextDescriptor) ||\n nextHeaderlessScene;\n\n const props: StackHeaderProps = {\n layout,\n back: headerBack,\n progress: scene.progress,\n options: scene.descriptor.options,\n route: scene.descriptor.route,\n navigation: scene.descriptor\n .navigation as StackNavigationProp<ParamListBase>,\n styleInterpolator:\n mode === 'float'\n ? isHeaderStatic\n ? nextHeaderlessGestureDirection === 'vertical' ||\n nextHeaderlessGestureDirection === 'vertical-inverted'\n ? forSlideUp\n : nextHeaderlessGestureDirection === 'horizontal-inverted'\n ? forSlideRight\n : forSlideLeft\n : headerStyleInterpolator\n : forNoAnimation,\n };\n\n return (\n <NavigationContext.Provider\n key={scene.descriptor.route.key}\n value={scene.descriptor.navigation}\n >\n <NavigationRouteContext.Provider value={scene.descriptor.route}>\n <View\n onLayout={\n onContentHeightChange\n ? (e) => {\n const { height } = e.nativeEvent.layout;\n\n onContentHeightChange({\n route: scene.descriptor.route,\n height,\n });\n }\n : undefined\n }\n pointerEvents={isFocused ? 'box-none' : 'none'}\n accessibilityElementsHidden={!isFocused}\n importantForAccessibility={\n isFocused ? 'auto' : 'no-hide-descendants'\n }\n style={\n // Avoid positioning the focused header absolutely\n // Otherwise accessibility tools don't seem to be able to find it\n (mode === 'float' && !isFocused) || headerTransparent\n ? styles.header\n : null\n }\n >\n {header !== undefined ? header(props) : <Header {...props} />}\n </View>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n );\n })}\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n header: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
|
|
@@ -82,6 +82,7 @@ function HeaderSegment(props) {
|
|
|
82
82
|
onGoBack,
|
|
83
83
|
headerTitle: title,
|
|
84
84
|
headerLeft: left = onGoBack ? props => /*#__PURE__*/React.createElement(_elements.HeaderBackButton, props) : undefined,
|
|
85
|
+
headerRight: right,
|
|
85
86
|
headerBackImage,
|
|
86
87
|
headerBackTitle,
|
|
87
88
|
headerBackTitleVisible = _reactNative.Platform.OS === 'ios',
|
|
@@ -126,6 +127,9 @@ function HeaderSegment(props) {
|
|
|
126
127
|
titleLayout,
|
|
127
128
|
canGoBack: Boolean(onGoBack)
|
|
128
129
|
}) : undefined;
|
|
130
|
+
const headerRight = right ? props => right({ ...props,
|
|
131
|
+
canGoBack: Boolean(onGoBack)
|
|
132
|
+
}) : undefined;
|
|
129
133
|
const headerTitle = typeof title !== 'function' ? props => /*#__PURE__*/React.createElement(_elements.HeaderTitle, _extends({}, props, {
|
|
130
134
|
onLayout: handleTitleLayout
|
|
131
135
|
})) : props => title({ ...props,
|
|
@@ -137,6 +141,7 @@ function HeaderSegment(props) {
|
|
|
137
141
|
headerTitle: headerTitle,
|
|
138
142
|
headerLeft: headerLeft,
|
|
139
143
|
headerLeftLabelVisible: headerBackTitleVisible,
|
|
144
|
+
headerRight: headerRight,
|
|
140
145
|
headerTitleContainerStyle: [titleStyle, headerTitleContainerStyle],
|
|
141
146
|
headerLeftContainerStyle: [leftButtonStyle, headerLeftContainerStyle],
|
|
142
147
|
headerRightContainerStyle: [rightButtonStyle, headerRightContainerStyle],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeaderSegment.tsx"],"names":["HeaderSegment","props","leftLabelLayout","setLeftLabelLayout","React","useState","undefined","titleLayout","setTitleLayout","handleTitleLayout","e","height","width","nativeEvent","layout","handleLeftLabelLayout","getInterpolatedStyle","styleInterpolator","current","next","headerHeight","progress","layouts","header","screen","title","leftLabel","modal","onGoBack","headerTitle","headerLeft","left","headerBackImage","headerBackTitle","headerBackTitleVisible","Platform","OS","headerTruncatedBackTitle","headerBackAccessibilityLabel","headerBackTestID","headerBackAllowFontScaling","headerBackTitleStyle","headerTitleContainerStyle","headerLeftContainerStyle","headerRightContainerStyle","headerBackgroundContainerStyle","headerStyle","customHeaderStyle","headerStatusBarHeight","rest","defaultHeight","StyleSheet","flatten","titleStyle","leftButtonStyle","leftLabelStyle","rightButtonStyle","backgroundStyle","backImage","accessibilityLabel","testID","allowFontScaling","onPress","label","truncatedLabel","labelStyle","onLabelLayout","screenLayout","canGoBack","Boolean","onLayout"],"mappings":"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","sourcesContent":["import {\n getDefaultHeaderHeight,\n Header,\n HeaderBackButton,\n HeaderBackButtonProps,\n HeaderTitle,\n} from '@react-navigation/elements';\nimport * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\n\nimport type {\n Layout,\n SceneProgress,\n StackHeaderOptions,\n StackHeaderStyleInterpolator,\n} from '../../types';\nimport memoize from '../../utils/memoize';\n\ntype Props = Omit<StackHeaderOptions, 'headerStatusBarHeight'> & {\n headerStatusBarHeight: number;\n layout: Layout;\n title: string;\n modal: boolean;\n onGoBack?: () => void;\n progress: SceneProgress;\n styleInterpolator: StackHeaderStyleInterpolator;\n};\n\nexport default function HeaderSegment(props: Props) {\n const [leftLabelLayout, setLeftLabelLayout] =\n React.useState<Layout | undefined>(undefined);\n\n const [titleLayout, setTitleLayout] =\n React.useState<Layout | undefined>(undefined);\n\n const handleTitleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setTitleLayout((titleLayout) => {\n if (\n titleLayout &&\n height === titleLayout.height &&\n width === titleLayout.width\n ) {\n return titleLayout;\n }\n\n return { height, width };\n });\n };\n\n const handleLeftLabelLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n if (\n leftLabelLayout &&\n height === leftLabelLayout.height &&\n width === leftLabelLayout.width\n ) {\n return;\n }\n\n setLeftLabelLayout({ height, width });\n };\n\n const getInterpolatedStyle = memoize(\n (\n styleInterpolator: StackHeaderStyleInterpolator,\n layout: Layout,\n current: Animated.AnimatedInterpolation,\n next: Animated.AnimatedInterpolation | undefined,\n titleLayout: Layout | undefined,\n leftLabelLayout: Layout | undefined,\n headerHeight: number\n ) =>\n styleInterpolator({\n current: { progress: current },\n next: next && { progress: next },\n layouts: {\n header: {\n height: headerHeight,\n width: layout.width,\n },\n screen: layout,\n title: titleLayout,\n leftLabel: leftLabelLayout,\n },\n })\n );\n\n const {\n progress,\n layout,\n modal,\n onGoBack,\n headerTitle: title,\n headerLeft: left = onGoBack\n ? (props: HeaderBackButtonProps) => <HeaderBackButton {...props} />\n : undefined,\n headerBackImage,\n headerBackTitle,\n headerBackTitleVisible = Platform.OS === 'ios',\n headerTruncatedBackTitle,\n headerBackAccessibilityLabel,\n headerBackTestID,\n headerBackAllowFontScaling,\n headerBackTitleStyle,\n headerTitleContainerStyle,\n headerLeftContainerStyle,\n headerRightContainerStyle,\n headerBackgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerStatusBarHeight,\n styleInterpolator,\n ...rest\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const { height = defaultHeight } = StyleSheet.flatten(\n customHeaderStyle || {}\n ) as ViewStyle;\n\n const {\n titleStyle,\n leftButtonStyle,\n leftLabelStyle,\n rightButtonStyle,\n backgroundStyle,\n } = getInterpolatedStyle(\n styleInterpolator,\n layout,\n progress.current,\n progress.next,\n titleLayout,\n headerBackTitle ? leftLabelLayout : undefined,\n typeof height === 'number' ? height : defaultHeight\n );\n\n const headerLeft: StackHeaderOptions['headerLeft'] = left\n ? (props) =>\n left({\n ...props,\n backImage: headerBackImage,\n accessibilityLabel: headerBackAccessibilityLabel,\n testID: headerBackTestID,\n allowFontScaling: headerBackAllowFontScaling,\n onPress: onGoBack,\n label: headerBackTitle,\n truncatedLabel: headerTruncatedBackTitle,\n labelStyle: [leftLabelStyle, headerBackTitleStyle],\n onLabelLayout: handleLeftLabelLayout,\n screenLayout: layout,\n titleLayout,\n canGoBack: Boolean(onGoBack),\n })\n : undefined;\n\n const headerTitle: StackHeaderOptions['headerTitle'] =\n typeof title !== 'function'\n ? (props) => <HeaderTitle {...props} onLayout={handleTitleLayout} />\n : (props) => title({ ...props, onLayout: handleTitleLayout });\n\n return (\n <Header\n modal={modal}\n layout={layout}\n headerTitle={headerTitle}\n headerLeft={headerLeft}\n headerLeftLabelVisible={headerBackTitleVisible}\n headerTitleContainerStyle={[titleStyle, headerTitleContainerStyle]}\n headerLeftContainerStyle={[leftButtonStyle, headerLeftContainerStyle]}\n headerRightContainerStyle={[rightButtonStyle, headerRightContainerStyle]}\n headerBackgroundContainerStyle={[\n backgroundStyle,\n headerBackgroundContainerStyle,\n ]}\n headerStyle={customHeaderStyle}\n headerStatusBarHeight={headerStatusBarHeight}\n {...rest}\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["HeaderSegment.tsx"],"names":["HeaderSegment","props","leftLabelLayout","setLeftLabelLayout","React","useState","undefined","titleLayout","setTitleLayout","handleTitleLayout","e","height","width","nativeEvent","layout","handleLeftLabelLayout","getInterpolatedStyle","styleInterpolator","current","next","headerHeight","progress","layouts","header","screen","title","leftLabel","modal","onGoBack","headerTitle","headerLeft","left","headerRight","right","headerBackImage","headerBackTitle","headerBackTitleVisible","Platform","OS","headerTruncatedBackTitle","headerBackAccessibilityLabel","headerBackTestID","headerBackAllowFontScaling","headerBackTitleStyle","headerTitleContainerStyle","headerLeftContainerStyle","headerRightContainerStyle","headerBackgroundContainerStyle","headerStyle","customHeaderStyle","headerStatusBarHeight","rest","defaultHeight","StyleSheet","flatten","titleStyle","leftButtonStyle","leftLabelStyle","rightButtonStyle","backgroundStyle","backImage","accessibilityLabel","testID","allowFontScaling","onPress","label","truncatedLabel","labelStyle","onLabelLayout","screenLayout","canGoBack","Boolean","onLayout"],"mappings":"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","sourcesContent":["import {\n getDefaultHeaderHeight,\n Header,\n HeaderBackButton,\n HeaderBackButtonProps,\n HeaderTitle,\n} from '@react-navigation/elements';\nimport * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\n\nimport type {\n Layout,\n SceneProgress,\n StackHeaderOptions,\n StackHeaderStyleInterpolator,\n} from '../../types';\nimport memoize from '../../utils/memoize';\n\ntype Props = Omit<StackHeaderOptions, 'headerStatusBarHeight'> & {\n headerStatusBarHeight: number;\n layout: Layout;\n title: string;\n modal: boolean;\n onGoBack?: () => void;\n progress: SceneProgress;\n styleInterpolator: StackHeaderStyleInterpolator;\n};\n\nexport default function HeaderSegment(props: Props) {\n const [leftLabelLayout, setLeftLabelLayout] = React.useState<\n Layout | undefined\n >(undefined);\n\n const [titleLayout, setTitleLayout] = React.useState<Layout | undefined>(\n undefined\n );\n\n const handleTitleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setTitleLayout((titleLayout) => {\n if (\n titleLayout &&\n height === titleLayout.height &&\n width === titleLayout.width\n ) {\n return titleLayout;\n }\n\n return { height, width };\n });\n };\n\n const handleLeftLabelLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n if (\n leftLabelLayout &&\n height === leftLabelLayout.height &&\n width === leftLabelLayout.width\n ) {\n return;\n }\n\n setLeftLabelLayout({ height, width });\n };\n\n const getInterpolatedStyle = memoize(\n (\n styleInterpolator: StackHeaderStyleInterpolator,\n layout: Layout,\n current: Animated.AnimatedInterpolation,\n next: Animated.AnimatedInterpolation | undefined,\n titleLayout: Layout | undefined,\n leftLabelLayout: Layout | undefined,\n headerHeight: number\n ) =>\n styleInterpolator({\n current: { progress: current },\n next: next && { progress: next },\n layouts: {\n header: {\n height: headerHeight,\n width: layout.width,\n },\n screen: layout,\n title: titleLayout,\n leftLabel: leftLabelLayout,\n },\n })\n );\n\n const {\n progress,\n layout,\n modal,\n onGoBack,\n headerTitle: title,\n headerLeft: left = onGoBack\n ? (props: HeaderBackButtonProps) => <HeaderBackButton {...props} />\n : undefined,\n headerRight: right,\n headerBackImage,\n headerBackTitle,\n headerBackTitleVisible = Platform.OS === 'ios',\n headerTruncatedBackTitle,\n headerBackAccessibilityLabel,\n headerBackTestID,\n headerBackAllowFontScaling,\n headerBackTitleStyle,\n headerTitleContainerStyle,\n headerLeftContainerStyle,\n headerRightContainerStyle,\n headerBackgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerStatusBarHeight,\n styleInterpolator,\n ...rest\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const { height = defaultHeight } = StyleSheet.flatten(\n customHeaderStyle || {}\n ) as ViewStyle;\n\n const {\n titleStyle,\n leftButtonStyle,\n leftLabelStyle,\n rightButtonStyle,\n backgroundStyle,\n } = getInterpolatedStyle(\n styleInterpolator,\n layout,\n progress.current,\n progress.next,\n titleLayout,\n headerBackTitle ? leftLabelLayout : undefined,\n typeof height === 'number' ? height : defaultHeight\n );\n\n const headerLeft: StackHeaderOptions['headerLeft'] = left\n ? (props) =>\n left({\n ...props,\n backImage: headerBackImage,\n accessibilityLabel: headerBackAccessibilityLabel,\n testID: headerBackTestID,\n allowFontScaling: headerBackAllowFontScaling,\n onPress: onGoBack,\n label: headerBackTitle,\n truncatedLabel: headerTruncatedBackTitle,\n labelStyle: [leftLabelStyle, headerBackTitleStyle],\n onLabelLayout: handleLeftLabelLayout,\n screenLayout: layout,\n titleLayout,\n canGoBack: Boolean(onGoBack),\n })\n : undefined;\n\n const headerRight: StackHeaderOptions['headerRight'] = right\n ? (props) =>\n right({\n ...props,\n canGoBack: Boolean(onGoBack),\n })\n : undefined;\n\n const headerTitle: StackHeaderOptions['headerTitle'] =\n typeof title !== 'function'\n ? (props) => <HeaderTitle {...props} onLayout={handleTitleLayout} />\n : (props) => title({ ...props, onLayout: handleTitleLayout });\n\n return (\n <Header\n modal={modal}\n layout={layout}\n headerTitle={headerTitle}\n headerLeft={headerLeft}\n headerLeftLabelVisible={headerBackTitleVisible}\n headerRight={headerRight}\n headerTitleContainerStyle={[titleStyle, headerTitleContainerStyle]}\n headerLeftContainerStyle={[leftButtonStyle, headerLeftContainerStyle]}\n headerRightContainerStyle={[rightButtonStyle, headerRightContainerStyle]}\n headerBackgroundContainerStyle={[\n backgroundStyle,\n headerBackgroundContainerStyle,\n ]}\n headerStyle={customHeaderStyle}\n headerStatusBarHeight={headerStatusBarHeight}\n {...rest}\n />\n );\n}\n"]}
|
|
@@ -15,14 +15,15 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
15
15
|
|
|
16
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; }
|
|
17
17
|
|
|
18
|
-
function ModalStatusBarManager({
|
|
19
|
-
dark,
|
|
20
|
-
layout,
|
|
21
|
-
insets,
|
|
22
|
-
style
|
|
23
|
-
}) {
|
|
18
|
+
function ModalStatusBarManager(_ref) {
|
|
24
19
|
var _flattenedStyle$trans, _flattenedStyle$trans2;
|
|
25
20
|
|
|
21
|
+
let {
|
|
22
|
+
dark,
|
|
23
|
+
layout,
|
|
24
|
+
insets,
|
|
25
|
+
style
|
|
26
|
+
} = _ref;
|
|
26
27
|
const {
|
|
27
28
|
dark: darkTheme
|
|
28
29
|
} = (0, _native.useTheme)();
|
|
@@ -34,9 +35,10 @@ function ModalStatusBarManager({
|
|
|
34
35
|
|
|
35
36
|
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;
|
|
36
37
|
React.useEffect(() => {
|
|
37
|
-
const listener =
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
const listener = _ref2 => {
|
|
39
|
+
let {
|
|
40
|
+
value
|
|
41
|
+
} = _ref2;
|
|
40
42
|
setOverlapping(value < offset);
|
|
41
43
|
};
|
|
42
44
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ModalStatusBarManager.tsx"],"names":["ModalStatusBarManager","dark","layout","insets","style","darkTheme","overlapping","setOverlapping","React","useState","scale","width","offset","top","flattenedStyle","StyleSheet","flatten","translateY","transform","find","s","undefined","useEffect","listener","value","sub","addListener","removeListener","darkContent"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAYe,SAASA,qBAAT,
|
|
1
|
+
{"version":3,"sources":["ModalStatusBarManager.tsx"],"names":["ModalStatusBarManager","dark","layout","insets","style","darkTheme","overlapping","setOverlapping","React","useState","scale","width","offset","top","flattenedStyle","StyleSheet","flatten","translateY","transform","find","s","undefined","useEffect","listener","value","sub","addListener","removeListener","darkContent"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAYe,SAASA,qBAAT,OAKL;AAAA;;AAAA,MALoC;AAC5CC,IAAAA,IAD4C;AAE5CC,IAAAA,MAF4C;AAG5CC,IAAAA,MAH4C;AAI5CC,IAAAA;AAJ4C,GAKpC;AACR,QAAM;AAAEH,IAAAA,IAAI,EAAEI;AAAR,MAAsB,uBAA5B;AACA,QAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCC,KAAK,CAACC,QAAN,CAAe,IAAf,CAAtC;AAEA,QAAMC,KAAK,GAAG,IAAI,KAAKR,MAAM,CAACS,KAA9B;AACA,QAAMC,MAAM,GAAG,CAACT,MAAM,CAACU,GAAP,GAAa,EAAd,IAAoBH,KAAnC;;AAEA,QAAMI,cAAc,GAAGC,wBAAWC,OAAX,CAAmBZ,KAAnB,CAAvB;;AACA,QAAMa,UAAU,GAAGH,cAAH,aAAGA,cAAH,gDAAGA,cAAc,CAAEI,SAAnB,oFAAG,sBAA2BC,IAA3B,CAChBC,CAAD,IAAYA,CAAC,CAACH,UAAF,KAAiBI,SADZ,CAAH,2DAAG,uBAEhBJ,UAFH;AAIAT,EAAAA,KAAK,CAACc,SAAN,CAAgB,MAAM;AACpB,UAAMC,QAAQ,GAAG,SAAkC;AAAA,UAAjC;AAAEC,QAAAA;AAAF,OAAiC;AACjDjB,MAAAA,cAAc,CAACiB,KAAK,GAAGZ,MAAT,CAAd;AACD,KAFD;;AAIA,UAAMa,GAAG,GAAGR,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAES,WAAZ,CAAwBH,QAAxB,CAAZ;AAEA,WAAO,MAAMN,UAAN,aAAMA,UAAN,uBAAMA,UAAU,CAAEU,cAAZ,CAA2BF,GAA3B,CAAb;AACD,GARD,EAQG,CAACb,MAAD,EAASK,UAAT,CARH;AAUA,QAAMW,WAAW,GAAG3B,IAAH,aAAGA,IAAH,cAAGA,IAAH,GAAW,CAACI,SAA7B;AAEA,sBACE,oBAAC,sBAAD;AACE,IAAA,QAAQ,MADV;AAEE,IAAA,QAAQ,EAAEC,WAAW,IAAIsB,WAAf,GAA6B,cAA7B,GAA8C;AAF1D,IADF;AAMD","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { StatusBar, StyleSheet } from 'react-native';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\n\nimport type { Layout } from '../types';\n\ntype Props = {\n dark: boolean | undefined;\n layout: Layout;\n insets: EdgeInsets;\n style: any;\n};\n\nexport default function ModalStatusBarManager({\n dark,\n layout,\n insets,\n style,\n}: Props) {\n const { dark: darkTheme } = useTheme();\n const [overlapping, setOverlapping] = React.useState(true);\n\n const scale = 1 - 20 / layout.width;\n const offset = (insets.top - 34) * scale;\n\n const flattenedStyle = StyleSheet.flatten(style);\n const translateY = flattenedStyle?.transform?.find(\n (s: any) => s.translateY !== undefined\n )?.translateY;\n\n React.useEffect(() => {\n const listener = ({ value }: { value: number }) => {\n setOverlapping(value < offset);\n };\n\n const sub = translateY?.addListener(listener);\n\n return () => translateY?.removeListener(sub);\n }, [offset, translateY]);\n\n const darkContent = dark ?? !darkTheme;\n\n return (\n <StatusBar\n animated\n barStyle={overlapping && darkContent ? 'dark-content' : 'light-content'}\n />\n );\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.MaybeScreenContainer = exports.MaybeScreen = void 0;
|
|
7
7
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
@@ -22,10 +22,12 @@ try {
|
|
|
22
22
|
} catch (e) {// Ignore
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
const MaybeScreenContainer =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
const MaybeScreenContainer = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
enabled,
|
|
28
|
+
...rest
|
|
29
|
+
} = _ref;
|
|
30
|
+
|
|
29
31
|
if (Screens != null) {
|
|
30
32
|
return /*#__PURE__*/React.createElement(Screens.ScreenContainer, _extends({
|
|
31
33
|
enabled: enabled
|
|
@@ -37,11 +39,13 @@ const MaybeScreenContainer = ({
|
|
|
37
39
|
|
|
38
40
|
exports.MaybeScreenContainer = MaybeScreenContainer;
|
|
39
41
|
|
|
40
|
-
const MaybeScreen =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const MaybeScreen = _ref2 => {
|
|
43
|
+
let {
|
|
44
|
+
enabled,
|
|
45
|
+
active,
|
|
46
|
+
...rest
|
|
47
|
+
} = _ref2;
|
|
48
|
+
|
|
45
49
|
if (Screens != null) {
|
|
46
50
|
return /*#__PURE__*/React.createElement(Screens.Screen, _extends({
|
|
47
51
|
enabled: enabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Screens.tsx"],"names":["Screens","require","e","MaybeScreenContainer","enabled","rest","MaybeScreen","active"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAEA,IAAIA,OAAJ;;AAEA,IAAI;AACFA,EAAAA,OAAO,GAAGC,OAAO,CAAC,sBAAD,CAAjB;AACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACV;AACD;;AAEM,MAAMC,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"sources":["Screens.tsx"],"names":["Screens","require","e","MaybeScreenContainer","enabled","rest","MaybeScreen","active"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAEA,IAAIA,OAAJ;;AAEA,IAAI;AACFA,EAAAA,OAAO,GAAGC,OAAO,CAAC,sBAAD,CAAjB;AACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACV;AACD;;AAEM,MAAMC,oBAAoB,GAAG,QAM9B;AAAA,MAN+B;AACnCC,IAAAA,OADmC;AAEnC,OAAGC;AAFgC,GAM/B;;AACJ,MAAIL,OAAO,IAAI,IAAf,EAAqB;AACnB,wBAAO,oBAAC,OAAD,CAAS,eAAT;AAAyB,MAAA,OAAO,EAAEI;AAAlC,OAA+CC,IAA/C,EAAP;AACD;;AAED,sBAAO,oBAAC,iBAAD,EAAUA,IAAV,CAAP;AACD,CAZM;;;;AAcA,MAAMC,WAAW,GAAG,SAQrB;AAAA,MARsB;AAC1BF,IAAAA,OAD0B;AAE1BG,IAAAA,MAF0B;AAG1B,OAAGF;AAHuB,GAQtB;;AACJ,MAAIL,OAAO,IAAI,IAAf,EAAqB;AACnB,wBACE,oBAAC,OAAD,CAAS,MAAT;AAAgB,MAAA,OAAO,EAAEI,OAAzB;AAAkC,MAAA,aAAa,EAAEG;AAAjD,OAA6DF,IAA7D,EADF;AAGD;;AAED,sBAAO,oBAAC,iBAAD,EAAUA,IAAV,CAAP;AACD,CAhBM","sourcesContent":["import * as React from 'react';\nimport { Animated, View, ViewProps } from 'react-native';\n\nlet Screens: typeof import('react-native-screens') | undefined;\n\ntry {\n Screens = require('react-native-screens');\n} catch (e) {\n // Ignore\n}\n\nexport const MaybeScreenContainer = ({\n enabled,\n ...rest\n}: ViewProps & {\n enabled: boolean;\n children: React.ReactNode;\n}) => {\n if (Screens != null) {\n return <Screens.ScreenContainer enabled={enabled} {...rest} />;\n }\n\n return <View {...rest} />;\n};\n\nexport const MaybeScreen = ({\n enabled,\n active,\n ...rest\n}: ViewProps & {\n enabled: boolean;\n active: 0 | 1 | Animated.AnimatedInterpolation;\n children: React.ReactNode;\n}) => {\n if (Screens != null) {\n return (\n <Screens.Screen enabled={enabled} activityState={active} {...rest} />\n );\n }\n\n return <View {...rest} />;\n};\n"]}
|
|
@@ -59,8 +59,8 @@ const hasOpacityStyle = style => {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
class Card extends React.Component {
|
|
62
|
-
constructor(
|
|
63
|
-
super(...
|
|
62
|
+
constructor() {
|
|
63
|
+
super(...arguments);
|
|
64
64
|
|
|
65
65
|
_defineProperty(this, "isCurrentlyMounted", false);
|
|
66
66
|
|
|
@@ -81,10 +81,11 @@ class Card extends React.Component {
|
|
|
81
81
|
|
|
82
82
|
_defineProperty(this, "lastToValue", void 0);
|
|
83
83
|
|
|
84
|
-
_defineProperty(this, "animate",
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
_defineProperty(this, "animate", _ref => {
|
|
85
|
+
let {
|
|
86
|
+
closing,
|
|
87
|
+
velocity
|
|
88
|
+
} = _ref;
|
|
88
89
|
const {
|
|
89
90
|
gesture,
|
|
90
91
|
transitionSpec,
|
|
@@ -111,9 +112,10 @@ class Card extends React.Component {
|
|
|
111
112
|
toValue,
|
|
112
113
|
useNativeDriver,
|
|
113
114
|
isInteraction: false
|
|
114
|
-
}).start(
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
}).start(_ref2 => {
|
|
116
|
+
let {
|
|
117
|
+
finished
|
|
118
|
+
} = _ref2;
|
|
117
119
|
this.handleEndInteraction();
|
|
118
120
|
clearTimeout(this.pendingGestureCallback);
|
|
119
121
|
|
|
@@ -132,11 +134,13 @@ class Card extends React.Component {
|
|
|
132
134
|
});
|
|
133
135
|
});
|
|
134
136
|
|
|
135
|
-
_defineProperty(this, "getAnimateToValue",
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
_defineProperty(this, "getAnimateToValue", _ref3 => {
|
|
138
|
+
let {
|
|
139
|
+
closing,
|
|
140
|
+
layout,
|
|
141
|
+
gestureDirection
|
|
142
|
+
} = _ref3;
|
|
143
|
+
|
|
140
144
|
if (!closing) {
|
|
141
145
|
return 0;
|
|
142
146
|
}
|
|
@@ -167,9 +171,10 @@ class Card extends React.Component {
|
|
|
167
171
|
}
|
|
168
172
|
});
|
|
169
173
|
|
|
170
|
-
_defineProperty(this, "handleGestureStateChange",
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
_defineProperty(this, "handleGestureStateChange", _ref4 => {
|
|
175
|
+
let {
|
|
176
|
+
nativeEvent
|
|
177
|
+
} = _ref4;
|
|
173
178
|
const {
|
|
174
179
|
layout,
|
|
175
180
|
onClose,
|
|
@@ -181,7 +186,7 @@ class Card extends React.Component {
|
|
|
181
186
|
} = this.props;
|
|
182
187
|
|
|
183
188
|
switch (nativeEvent.state) {
|
|
184
|
-
case _GestureHandler.GestureState.
|
|
189
|
+
case _GestureHandler.GestureState.ACTIVE:
|
|
185
190
|
this.isSwiping.setValue(TRUE);
|
|
186
191
|
this.handleStartInteraction();
|
|
187
192
|
onGestureBegin === null || onGestureBegin === void 0 ? void 0 : onGestureBegin();
|
|
@@ -471,12 +476,15 @@ _defineProperty(Card, "defaultProps", {
|
|
|
471
476
|
shadowEnabled: false,
|
|
472
477
|
gestureEnabled: true,
|
|
473
478
|
gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,
|
|
474
|
-
overlay:
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
style
|
|
479
|
-
|
|
479
|
+
overlay: _ref5 => {
|
|
480
|
+
let {
|
|
481
|
+
style
|
|
482
|
+
} = _ref5;
|
|
483
|
+
return style ? /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
484
|
+
pointerEvents: "none",
|
|
485
|
+
style: [styles.overlay, style]
|
|
486
|
+
}) : null;
|
|
487
|
+
}
|
|
480
488
|
});
|
|
481
489
|
|
|
482
490
|
const getIsModalPresentation = cardStyleInterpolator => {
|