react-native-screen-transitions 3.7.0-beta.2 → 3.7.1
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/shared/adapters/with-screen-transitions/options.js +37 -9
- package/lib/commonjs/shared/adapters/with-screen-transitions/options.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +9 -6
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/options.js +37 -9
- package/lib/module/shared/adapters/with-screen-transitions/options.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +9 -6
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/adapters/with-screen-transitions/options.ts +86 -19
- package/src/shared/components/overlay/variations/float-overlay.tsx +11 -5
|
@@ -11,10 +11,15 @@ const NATIVE_STACK_TRANSITION_RESET_OPTIONS = {
|
|
|
11
11
|
headerShown: false,
|
|
12
12
|
gestureEnabled: false
|
|
13
13
|
};
|
|
14
|
-
const
|
|
14
|
+
const ADAPTER_GESTURE_ENABLED_RESTORE = Symbol("react-native-screen-transitions.adapterGestureEnabledRestore");
|
|
15
|
+
const ADAPTER_GESTURE_DIRECTION_RESTORE = Symbol("react-native-screen-transitions.adapterGestureDirectionRestore");
|
|
16
|
+
const ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE = Symbol("react-native-screen-transitions.adapterGestureResponseDistanceRestore");
|
|
15
17
|
function isPlainOptions(value) {
|
|
16
18
|
return typeof value === "object" && value !== null;
|
|
17
19
|
}
|
|
20
|
+
function hasOwnOption(value, key) {
|
|
21
|
+
return Object.getOwnPropertyDescriptor(value, key) !== undefined;
|
|
22
|
+
}
|
|
18
23
|
function adaptNativeStackTransitionOptions(options) {
|
|
19
24
|
if (typeof options === "function") {
|
|
20
25
|
return (...args) => adaptNativeStackTransitionOptions(options(...args));
|
|
@@ -32,26 +37,49 @@ function adaptNativeStackTransitionOptions(options) {
|
|
|
32
37
|
...NATIVE_STACK_TRANSITION_RESET_OPTIONS,
|
|
33
38
|
enableTransitions: true
|
|
34
39
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
delete adaptedOptions.gestureDirection;
|
|
41
|
+
delete adaptedOptions.gestureResponseDistance;
|
|
42
|
+
if (hasOwnOption(nativeOptions, "gestureEnabled")) {
|
|
43
|
+
adaptedOptions[ADAPTER_GESTURE_ENABLED_RESTORE] = nativeOptions.gestureEnabled;
|
|
44
|
+
}
|
|
45
|
+
if (hasOwnOption(nativeOptions, "gestureDirection")) {
|
|
46
|
+
adaptedOptions[ADAPTER_GESTURE_DIRECTION_RESTORE] = nativeOptions.gestureDirection;
|
|
47
|
+
}
|
|
48
|
+
if (hasOwnOption(nativeOptions, "gestureResponseDistance")) {
|
|
49
|
+
adaptedOptions[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE] = nativeOptions.gestureResponseDistance;
|
|
50
|
+
}
|
|
39
51
|
return adaptedOptions;
|
|
40
52
|
}
|
|
41
53
|
function resolveAdapterTransitionOptions(options) {
|
|
42
|
-
const
|
|
43
|
-
|
|
54
|
+
const optionRecord = options;
|
|
55
|
+
const hasGestureEnabledRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_ENABLED_RESTORE);
|
|
56
|
+
const hasGestureDirectionRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_DIRECTION_RESTORE);
|
|
57
|
+
const hasGestureResponseDistanceRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE);
|
|
58
|
+
if (!hasGestureEnabledRestore && !hasGestureDirectionRestore && !hasGestureResponseDistanceRestore) {
|
|
44
59
|
return options;
|
|
45
60
|
}
|
|
46
61
|
const resolvedOptions = {
|
|
47
62
|
...options,
|
|
48
63
|
enableTransitions: true
|
|
49
64
|
};
|
|
50
|
-
|
|
51
|
-
|
|
65
|
+
delete resolvedOptions[ADAPTER_GESTURE_ENABLED_RESTORE];
|
|
66
|
+
delete resolvedOptions[ADAPTER_GESTURE_DIRECTION_RESTORE];
|
|
67
|
+
delete resolvedOptions[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE];
|
|
68
|
+
if (hasGestureEnabledRestore) {
|
|
69
|
+
resolvedOptions.gestureEnabled = optionRecord[ADAPTER_GESTURE_ENABLED_RESTORE];
|
|
52
70
|
} else {
|
|
53
71
|
delete resolvedOptions.gestureEnabled;
|
|
54
72
|
}
|
|
73
|
+
if (hasGestureDirectionRestore) {
|
|
74
|
+
resolvedOptions.gestureDirection = optionRecord[ADAPTER_GESTURE_DIRECTION_RESTORE];
|
|
75
|
+
} else {
|
|
76
|
+
delete resolvedOptions.gestureDirection;
|
|
77
|
+
}
|
|
78
|
+
if (hasGestureResponseDistanceRestore) {
|
|
79
|
+
resolvedOptions.gestureResponseDistance = optionRecord[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE];
|
|
80
|
+
} else {
|
|
81
|
+
delete resolvedOptions.gestureResponseDistance;
|
|
82
|
+
}
|
|
55
83
|
return resolvedOptions;
|
|
56
84
|
}
|
|
57
85
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NATIVE_STACK_TRANSITION_RESET_OPTIONS","presentation","animation","headerShown","gestureEnabled","
|
|
1
|
+
{"version":3,"names":["NATIVE_STACK_TRANSITION_RESET_OPTIONS","presentation","animation","headerShown","gestureEnabled","ADAPTER_GESTURE_ENABLED_RESTORE","Symbol","ADAPTER_GESTURE_DIRECTION_RESTORE","ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE","isPlainOptions","value","hasOwnOption","key","Object","getOwnPropertyDescriptor","undefined","adaptNativeStackTransitionOptions","options","args","hasTransitionsEnabled","enableTransitions","nativeOptions","adaptedOptions","gestureDirection","gestureResponseDistance","resolveAdapterTransitionOptions","optionRecord","hasGestureEnabledRestore","hasGestureDirectionRestore","hasGestureResponseDistanceRestore","resolvedOptions"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/options.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _useOptimisticFocusedIndex = require("../../../hooks/navigation/use-optimist
|
|
|
10
10
|
var _useStack = require("../../../hooks/navigation/use-stack");
|
|
11
11
|
var _animation = require("../../../providers/screen/animation");
|
|
12
12
|
var _descriptors = require("../../../providers/screen/descriptors");
|
|
13
|
+
var _options = require("../../../providers/screen/options");
|
|
13
14
|
var _styles = require("../../../providers/screen/styles");
|
|
14
15
|
var _getActiveOverlay = require("../helpers/get-active-overlay");
|
|
15
16
|
var _overlayHost = require("./overlay-host");
|
|
@@ -73,12 +74,14 @@ function FloatOverlay() {
|
|
|
73
74
|
current: current,
|
|
74
75
|
previous: previous,
|
|
75
76
|
next: next,
|
|
76
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
77
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_options.ScreenOptionsProvider, {
|
|
78
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_animation.ScreenAnimationProvider, {
|
|
79
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.ScreenStylesProvider, {
|
|
80
|
+
isFloatingOverlay: true,
|
|
81
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlayHost.OverlayHost, {
|
|
82
|
+
scene: scene,
|
|
83
|
+
overlayScreenState: overlayScreenState
|
|
84
|
+
})
|
|
82
85
|
})
|
|
83
86
|
})
|
|
84
87
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_snapTo","_useOptimisticFocusedIndex","_useStack","_animation","_descriptors","_styles","_getActiveOverlay","_overlayHost","_jsxRuntime","FloatOverlay","scenes","optimisticFocusedIndex","flags","routes","routeKeys","useStack","focusedIndex","useOptimisticFocusedIndex","length","activeOverlay","useMemo","getActiveFloatOverlay","TRANSITIONS_ALWAYS_ON","overlayData","scene","overlayIndex","previous","descriptor","current","next","focusedScene","focusedDescriptor","overlayScreenState","index","indexOf","route","key","options","focusedRoute","meta","navigation","snapTo","snapDescriptorToIndex","jsx","DescriptorsProvider","children","ScreenAnimationProvider","ScreenStylesProvider","isFloatingOverlay","OverlayHost"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/float-overlay.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,
|
|
1
|
+
{"version":3,"names":["_react","require","_snapTo","_useOptimisticFocusedIndex","_useStack","_animation","_descriptors","_options","_styles","_getActiveOverlay","_overlayHost","_jsxRuntime","FloatOverlay","scenes","optimisticFocusedIndex","flags","routes","routeKeys","useStack","focusedIndex","useOptimisticFocusedIndex","length","activeOverlay","useMemo","getActiveFloatOverlay","TRANSITIONS_ALWAYS_ON","overlayData","scene","overlayIndex","previous","descriptor","current","next","focusedScene","focusedDescriptor","overlayScreenState","index","indexOf","route","key","options","focusedRoute","meta","navigation","snapTo","snapDescriptorToIndex","jsx","DescriptorsProvider","children","ScreenOptionsProvider","ScreenAnimationProvider","ScreenStylesProvider","isFloatingOverlay","OverlayHost"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/float-overlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,10 +6,15 @@ const NATIVE_STACK_TRANSITION_RESET_OPTIONS = {
|
|
|
6
6
|
headerShown: false,
|
|
7
7
|
gestureEnabled: false
|
|
8
8
|
};
|
|
9
|
-
const
|
|
9
|
+
const ADAPTER_GESTURE_ENABLED_RESTORE = Symbol("react-native-screen-transitions.adapterGestureEnabledRestore");
|
|
10
|
+
const ADAPTER_GESTURE_DIRECTION_RESTORE = Symbol("react-native-screen-transitions.adapterGestureDirectionRestore");
|
|
11
|
+
const ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE = Symbol("react-native-screen-transitions.adapterGestureResponseDistanceRestore");
|
|
10
12
|
function isPlainOptions(value) {
|
|
11
13
|
return typeof value === "object" && value !== null;
|
|
12
14
|
}
|
|
15
|
+
function hasOwnOption(value, key) {
|
|
16
|
+
return Object.getOwnPropertyDescriptor(value, key) !== undefined;
|
|
17
|
+
}
|
|
13
18
|
export function adaptNativeStackTransitionOptions(options) {
|
|
14
19
|
if (typeof options === "function") {
|
|
15
20
|
return (...args) => adaptNativeStackTransitionOptions(options(...args));
|
|
@@ -27,26 +32,49 @@ export function adaptNativeStackTransitionOptions(options) {
|
|
|
27
32
|
...NATIVE_STACK_TRANSITION_RESET_OPTIONS,
|
|
28
33
|
enableTransitions: true
|
|
29
34
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
delete adaptedOptions.gestureDirection;
|
|
36
|
+
delete adaptedOptions.gestureResponseDistance;
|
|
37
|
+
if (hasOwnOption(nativeOptions, "gestureEnabled")) {
|
|
38
|
+
adaptedOptions[ADAPTER_GESTURE_ENABLED_RESTORE] = nativeOptions.gestureEnabled;
|
|
39
|
+
}
|
|
40
|
+
if (hasOwnOption(nativeOptions, "gestureDirection")) {
|
|
41
|
+
adaptedOptions[ADAPTER_GESTURE_DIRECTION_RESTORE] = nativeOptions.gestureDirection;
|
|
42
|
+
}
|
|
43
|
+
if (hasOwnOption(nativeOptions, "gestureResponseDistance")) {
|
|
44
|
+
adaptedOptions[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE] = nativeOptions.gestureResponseDistance;
|
|
45
|
+
}
|
|
34
46
|
return adaptedOptions;
|
|
35
47
|
}
|
|
36
48
|
export function resolveAdapterTransitionOptions(options) {
|
|
37
|
-
const
|
|
38
|
-
|
|
49
|
+
const optionRecord = options;
|
|
50
|
+
const hasGestureEnabledRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_ENABLED_RESTORE);
|
|
51
|
+
const hasGestureDirectionRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_DIRECTION_RESTORE);
|
|
52
|
+
const hasGestureResponseDistanceRestore = hasOwnOption(optionRecord, ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE);
|
|
53
|
+
if (!hasGestureEnabledRestore && !hasGestureDirectionRestore && !hasGestureResponseDistanceRestore) {
|
|
39
54
|
return options;
|
|
40
55
|
}
|
|
41
56
|
const resolvedOptions = {
|
|
42
57
|
...options,
|
|
43
58
|
enableTransitions: true
|
|
44
59
|
};
|
|
45
|
-
|
|
46
|
-
|
|
60
|
+
delete resolvedOptions[ADAPTER_GESTURE_ENABLED_RESTORE];
|
|
61
|
+
delete resolvedOptions[ADAPTER_GESTURE_DIRECTION_RESTORE];
|
|
62
|
+
delete resolvedOptions[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE];
|
|
63
|
+
if (hasGestureEnabledRestore) {
|
|
64
|
+
resolvedOptions.gestureEnabled = optionRecord[ADAPTER_GESTURE_ENABLED_RESTORE];
|
|
47
65
|
} else {
|
|
48
66
|
delete resolvedOptions.gestureEnabled;
|
|
49
67
|
}
|
|
68
|
+
if (hasGestureDirectionRestore) {
|
|
69
|
+
resolvedOptions.gestureDirection = optionRecord[ADAPTER_GESTURE_DIRECTION_RESTORE];
|
|
70
|
+
} else {
|
|
71
|
+
delete resolvedOptions.gestureDirection;
|
|
72
|
+
}
|
|
73
|
+
if (hasGestureResponseDistanceRestore) {
|
|
74
|
+
resolvedOptions.gestureResponseDistance = optionRecord[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE];
|
|
75
|
+
} else {
|
|
76
|
+
delete resolvedOptions.gestureResponseDistance;
|
|
77
|
+
}
|
|
50
78
|
return resolvedOptions;
|
|
51
79
|
}
|
|
52
80
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NATIVE_STACK_TRANSITION_RESET_OPTIONS","presentation","animation","headerShown","gestureEnabled","
|
|
1
|
+
{"version":3,"names":["NATIVE_STACK_TRANSITION_RESET_OPTIONS","presentation","animation","headerShown","gestureEnabled","ADAPTER_GESTURE_ENABLED_RESTORE","Symbol","ADAPTER_GESTURE_DIRECTION_RESTORE","ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE","isPlainOptions","value","hasOwnOption","key","Object","getOwnPropertyDescriptor","undefined","adaptNativeStackTransitionOptions","options","args","hasTransitionsEnabled","enableTransitions","nativeOptions","adaptedOptions","gestureDirection","gestureResponseDistance","resolveAdapterTransitionOptions","optionRecord","hasGestureEnabledRestore","hasGestureDirectionRestore","hasGestureResponseDistanceRestore","resolvedOptions"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/options.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimis
|
|
|
6
6
|
import { useStack } from "../../../hooks/navigation/use-stack";
|
|
7
7
|
import { ScreenAnimationProvider } from "../../../providers/screen/animation";
|
|
8
8
|
import { DescriptorsProvider } from "../../../providers/screen/descriptors";
|
|
9
|
+
import { ScreenOptionsProvider } from "../../../providers/screen/options";
|
|
9
10
|
import { ScreenStylesProvider } from "../../../providers/screen/styles";
|
|
10
11
|
import { getActiveFloatOverlay } from "../helpers/get-active-overlay";
|
|
11
12
|
import { OverlayHost } from "./overlay-host";
|
|
@@ -70,12 +71,14 @@ export function FloatOverlay() {
|
|
|
70
71
|
current: current,
|
|
71
72
|
previous: previous,
|
|
72
73
|
next: next,
|
|
73
|
-
children: /*#__PURE__*/_jsx(
|
|
74
|
-
children: /*#__PURE__*/_jsx(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
children: /*#__PURE__*/_jsx(ScreenOptionsProvider, {
|
|
75
|
+
children: /*#__PURE__*/_jsx(ScreenAnimationProvider, {
|
|
76
|
+
children: /*#__PURE__*/_jsx(ScreenStylesProvider, {
|
|
77
|
+
isFloatingOverlay: true,
|
|
78
|
+
children: /*#__PURE__*/_jsx(OverlayHost, {
|
|
79
|
+
scene: scene,
|
|
80
|
+
overlayScreenState: overlayScreenState
|
|
81
|
+
})
|
|
79
82
|
})
|
|
80
83
|
})
|
|
81
84
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","snapDescriptorToIndex","useOptimisticFocusedIndex","useStack","ScreenAnimationProvider","DescriptorsProvider","ScreenStylesProvider","getActiveFloatOverlay","OverlayHost","jsx","_jsx","FloatOverlay","scenes","optimisticFocusedIndex","flags","routes","routeKeys","focusedIndex","length","activeOverlay","TRANSITIONS_ALWAYS_ON","overlayData","scene","overlayIndex","previous","descriptor","current","next","focusedScene","focusedDescriptor","overlayScreenState","index","indexOf","route","key","options","focusedRoute","meta","navigation","snapTo","children","isFloatingOverlay"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/float-overlay.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,yBAAyB,QAAQ,wDAAwD;AAClG,SAASC,QAAQ,QAAQ,qCAAqC;AAC9D,SAASC,uBAAuB,QAAQ,qCAAqC;AAE7E,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,oBAAoB,QAAQ,kCAAkC;AAGvE,SAASC,qBAAqB,QAAQ,+BAA+B;AACrE,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAIA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC9B,MAAM;IAAEC,MAAM;IAAEC,sBAAsB;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAU,CAAC,
|
|
1
|
+
{"version":3,"names":["useMemo","snapDescriptorToIndex","useOptimisticFocusedIndex","useStack","ScreenAnimationProvider","DescriptorsProvider","ScreenOptionsProvider","ScreenStylesProvider","getActiveFloatOverlay","OverlayHost","jsx","_jsx","FloatOverlay","scenes","optimisticFocusedIndex","flags","routes","routeKeys","focusedIndex","length","activeOverlay","TRANSITIONS_ALWAYS_ON","overlayData","scene","overlayIndex","previous","descriptor","current","next","focusedScene","focusedDescriptor","overlayScreenState","index","indexOf","route","key","options","focusedRoute","meta","navigation","snapTo","children","isFloatingOverlay"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/float-overlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/shared/adapters/with-screen-transitions/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAS1D,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,GAAG;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACpC,cAAc,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpD,IAAI,CAAC,cAAc,EAAE,MAAM,wBAAwB,CAAC,GACvD,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/shared/adapters/with-screen-transitions/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAS1D,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,GAAG;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACpC,cAAc,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpD,IAAI,CAAC,cAAc,EAAE,MAAM,wBAAwB,CAAC,GACvD,wBAAwB,CAAC;AA0B1B,MAAM,MAAM,6BAA6B,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AAU7D,wBAAgB,iCAAiC,CAChD,QAAQ,SAAS,6BAA6B,GAAG,SAAS,EACzD,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAgD7B;AAED,wBAAgB,+BAA+B,CAC9C,QAAQ,SAAS,wBAAwB,EACxC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,sBAAsB,CA2DtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"float-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/float-overlay.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"float-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/float-overlay.tsx"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,YAAY,mDAmE3B"}
|
package/package.json
CHANGED
|
@@ -24,16 +24,22 @@ const NATIVE_STACK_TRANSITION_RESET_OPTIONS: NativeStackTransitionResetOptions =
|
|
|
24
24
|
gestureEnabled: false,
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const ADAPTER_GESTURE_ENABLED_RESTORE = Symbol(
|
|
28
|
+
"react-native-screen-transitions.adapterGestureEnabledRestore",
|
|
29
|
+
);
|
|
30
|
+
const ADAPTER_GESTURE_DIRECTION_RESTORE = Symbol(
|
|
31
|
+
"react-native-screen-transitions.adapterGestureDirectionRestore",
|
|
32
|
+
);
|
|
33
|
+
const ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE = Symbol(
|
|
34
|
+
"react-native-screen-transitions.adapterGestureResponseDistanceRestore",
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
type OptionsWithTransitionRestore = Record<string, unknown> & {
|
|
38
|
+
[ADAPTER_GESTURE_ENABLED_RESTORE]?: ScreenTransitionConfig["gestureEnabled"];
|
|
39
|
+
[ADAPTER_GESTURE_DIRECTION_RESTORE]?: ScreenTransitionConfig["gestureDirection"];
|
|
40
|
+
[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE]?: ScreenTransitionConfig["gestureResponseDistance"];
|
|
30
41
|
};
|
|
31
42
|
|
|
32
|
-
const gestureEnabledRestoreByAdaptedOptions = new WeakMap<
|
|
33
|
-
Record<string, unknown>,
|
|
34
|
-
GestureEnabledRestore
|
|
35
|
-
>();
|
|
36
|
-
|
|
37
43
|
export type NativeStackAdapterOptionInput =
|
|
38
44
|
| Record<string, unknown>
|
|
39
45
|
| ((...args: any[]) => Record<string, unknown> | undefined);
|
|
@@ -42,6 +48,10 @@ function isPlainOptions(value: unknown): value is Record<string, unknown> {
|
|
|
42
48
|
return typeof value === "object" && value !== null;
|
|
43
49
|
}
|
|
44
50
|
|
|
51
|
+
function hasOwnOption(value: object, key: PropertyKey): boolean {
|
|
52
|
+
return Object.getOwnPropertyDescriptor(value, key) !== undefined;
|
|
53
|
+
}
|
|
54
|
+
|
|
45
55
|
export function adaptNativeStackTransitionOptions<
|
|
46
56
|
TOptions extends NativeStackAdapterOptionInput | undefined,
|
|
47
57
|
>(options: TOptions): TOptions {
|
|
@@ -66,11 +76,30 @@ export function adaptNativeStackTransitionOptions<
|
|
|
66
76
|
...NATIVE_STACK_TRANSITION_RESET_OPTIONS,
|
|
67
77
|
enableTransitions: true,
|
|
68
78
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
79
|
+
|
|
80
|
+
delete adaptedOptions.gestureDirection;
|
|
81
|
+
delete adaptedOptions.gestureResponseDistance;
|
|
82
|
+
|
|
83
|
+
if (hasOwnOption(nativeOptions, "gestureEnabled")) {
|
|
84
|
+
(adaptedOptions as OptionsWithTransitionRestore)[
|
|
85
|
+
ADAPTER_GESTURE_ENABLED_RESTORE
|
|
86
|
+
] =
|
|
87
|
+
nativeOptions.gestureEnabled as ScreenTransitionConfig["gestureEnabled"];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (hasOwnOption(nativeOptions, "gestureDirection")) {
|
|
91
|
+
(adaptedOptions as OptionsWithTransitionRestore)[
|
|
92
|
+
ADAPTER_GESTURE_DIRECTION_RESTORE
|
|
93
|
+
] =
|
|
94
|
+
nativeOptions.gestureDirection as ScreenTransitionConfig["gestureDirection"];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (hasOwnOption(nativeOptions, "gestureResponseDistance")) {
|
|
98
|
+
(adaptedOptions as OptionsWithTransitionRestore)[
|
|
99
|
+
ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE
|
|
100
|
+
] =
|
|
101
|
+
nativeOptions.gestureResponseDistance as ScreenTransitionConfig["gestureResponseDistance"];
|
|
102
|
+
}
|
|
74
103
|
|
|
75
104
|
return adaptedOptions as TOptions;
|
|
76
105
|
}
|
|
@@ -78,11 +107,25 @@ export function adaptNativeStackTransitionOptions<
|
|
|
78
107
|
export function resolveAdapterTransitionOptions<
|
|
79
108
|
TOptions extends AdapterDescriptorOptions,
|
|
80
109
|
>(options: TOptions): TOptions & ScreenTransitionConfig {
|
|
81
|
-
const
|
|
82
|
-
|
|
110
|
+
const optionRecord = options as OptionsWithTransitionRestore;
|
|
111
|
+
const hasGestureEnabledRestore = hasOwnOption(
|
|
112
|
+
optionRecord,
|
|
113
|
+
ADAPTER_GESTURE_ENABLED_RESTORE,
|
|
114
|
+
);
|
|
115
|
+
const hasGestureDirectionRestore = hasOwnOption(
|
|
116
|
+
optionRecord,
|
|
117
|
+
ADAPTER_GESTURE_DIRECTION_RESTORE,
|
|
118
|
+
);
|
|
119
|
+
const hasGestureResponseDistanceRestore = hasOwnOption(
|
|
120
|
+
optionRecord,
|
|
121
|
+
ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE,
|
|
83
122
|
);
|
|
84
123
|
|
|
85
|
-
if (
|
|
124
|
+
if (
|
|
125
|
+
!hasGestureEnabledRestore &&
|
|
126
|
+
!hasGestureDirectionRestore &&
|
|
127
|
+
!hasGestureResponseDistanceRestore
|
|
128
|
+
) {
|
|
86
129
|
return options;
|
|
87
130
|
}
|
|
88
131
|
|
|
@@ -90,12 +133,36 @@ export function resolveAdapterTransitionOptions<
|
|
|
90
133
|
...options,
|
|
91
134
|
enableTransitions: true,
|
|
92
135
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
136
|
+
delete (resolvedOptions as OptionsWithTransitionRestore)[
|
|
137
|
+
ADAPTER_GESTURE_ENABLED_RESTORE
|
|
138
|
+
];
|
|
139
|
+
delete (resolvedOptions as OptionsWithTransitionRestore)[
|
|
140
|
+
ADAPTER_GESTURE_DIRECTION_RESTORE
|
|
141
|
+
];
|
|
142
|
+
delete (resolvedOptions as OptionsWithTransitionRestore)[
|
|
143
|
+
ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE
|
|
144
|
+
];
|
|
145
|
+
|
|
146
|
+
if (hasGestureEnabledRestore) {
|
|
147
|
+
resolvedOptions.gestureEnabled =
|
|
148
|
+
optionRecord[ADAPTER_GESTURE_ENABLED_RESTORE];
|
|
96
149
|
} else {
|
|
97
150
|
delete resolvedOptions.gestureEnabled;
|
|
98
151
|
}
|
|
99
152
|
|
|
153
|
+
if (hasGestureDirectionRestore) {
|
|
154
|
+
resolvedOptions.gestureDirection =
|
|
155
|
+
optionRecord[ADAPTER_GESTURE_DIRECTION_RESTORE];
|
|
156
|
+
} else {
|
|
157
|
+
delete resolvedOptions.gestureDirection;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (hasGestureResponseDistanceRestore) {
|
|
161
|
+
resolvedOptions.gestureResponseDistance =
|
|
162
|
+
optionRecord[ADAPTER_GESTURE_RESPONSE_DISTANCE_RESTORE];
|
|
163
|
+
} else {
|
|
164
|
+
delete resolvedOptions.gestureResponseDistance;
|
|
165
|
+
}
|
|
166
|
+
|
|
100
167
|
return resolvedOptions;
|
|
101
168
|
}
|
|
@@ -5,6 +5,7 @@ import { useStack } from "../../../hooks/navigation/use-stack";
|
|
|
5
5
|
import { ScreenAnimationProvider } from "../../../providers/screen/animation";
|
|
6
6
|
import type { BaseDescriptor } from "../../../providers/screen/descriptors";
|
|
7
7
|
import { DescriptorsProvider } from "../../../providers/screen/descriptors";
|
|
8
|
+
import { ScreenOptionsProvider } from "../../../providers/screen/options";
|
|
8
9
|
import { ScreenStylesProvider } from "../../../providers/screen/styles";
|
|
9
10
|
import type { OverlayScreenState } from "../../../types/overlay.types";
|
|
10
11
|
|
|
@@ -70,11 +71,16 @@ export function FloatOverlay() {
|
|
|
70
71
|
|
|
71
72
|
return (
|
|
72
73
|
<DescriptorsProvider current={current} previous={previous} next={next}>
|
|
73
|
-
<
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
<ScreenOptionsProvider>
|
|
75
|
+
<ScreenAnimationProvider>
|
|
76
|
+
<ScreenStylesProvider isFloatingOverlay>
|
|
77
|
+
<OverlayHost
|
|
78
|
+
scene={scene}
|
|
79
|
+
overlayScreenState={overlayScreenState}
|
|
80
|
+
/>
|
|
81
|
+
</ScreenStylesProvider>
|
|
82
|
+
</ScreenAnimationProvider>
|
|
83
|
+
</ScreenOptionsProvider>
|
|
78
84
|
</DescriptorsProvider>
|
|
79
85
|
);
|
|
80
86
|
}
|