react-native-screen-transitions 3.2.0-beta.1 → 3.2.0-beta.2
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/component-stack/components/component-screen.js +3 -1
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +4 -3
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +39 -9
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -1
- package/lib/commonjs/shared/components/root-transition-aware.js +5 -1
- package/lib/commonjs/shared/components/root-transition-aware.js.map +1 -1
- package/lib/commonjs/shared/hooks/use-stack-pointer-events.js +23 -0
- package/lib/commonjs/shared/hooks/use-stack-pointer-events.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures.provider.js +3 -0
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/core.provider.js +1 -0
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/types/stack.types.js +1 -0
- package/lib/commonjs/shared/types/stack.types.js.map +1 -1
- package/lib/module/component-stack/components/component-screen.js +3 -1
- package/lib/module/component-stack/components/component-screen.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +4 -3
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js +38 -9
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -1
- package/lib/module/shared/components/root-transition-aware.js +5 -1
- package/lib/module/shared/components/root-transition-aware.js.map +1 -1
- package/lib/module/shared/hooks/use-stack-pointer-events.js +20 -0
- package/lib/module/shared/hooks/use-stack-pointer-events.js.map +1 -0
- package/lib/module/shared/providers/gestures.provider.js +3 -0
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/core.provider.js +1 -0
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/types/stack.types.js +1 -0
- package/lib/module/shared/types/stack.types.js.map +1 -1
- package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +9 -2
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/shared/components/root-transition-aware.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts +10 -0
- package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/stack.types.d.ts +2 -1
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/component-stack/components/component-screen.tsx +3 -3
- package/src/component-stack/components/stack-view.tsx +4 -4
- package/src/component-stack/navigators/create-component-stack-navigator.tsx +68 -37
- package/src/shared/components/root-transition-aware.tsx +7 -2
- package/src/shared/hooks/use-stack-pointer-events.ts +15 -0
- package/src/shared/providers/gestures.provider.tsx +5 -1
- package/src/shared/providers/stack/core.provider.tsx +6 -1
- package/src/shared/types/stack.types.ts +1 -0
- package/lib/commonjs/component-stack/components/component-screen-container.js +0 -23
- package/lib/commonjs/component-stack/components/component-screen-container.js.map +0 -1
- package/lib/module/component-stack/components/component-screen-container.js +0 -18
- package/lib/module/component-stack/components/component-screen-container.js.map +0 -1
- package/lib/typescript/component-stack/components/component-screen-container.d.ts +0 -6
- package/lib/typescript/component-stack/components/component-screen-container.d.ts.map +0 -1
- package/src/component-stack/components/component-screen-container.tsx +0 -15
|
@@ -10,6 +10,8 @@ var _layoutAnchor = require("../../shared/providers/layout-anchor.provider");
|
|
|
10
10
|
var _animation = require("../../shared/stores/animation.store");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const POINT_NONE = "none";
|
|
14
|
+
const POINT_BOX_NONE = "box-none";
|
|
13
15
|
const ComponentScreen = ({
|
|
14
16
|
routeKey,
|
|
15
17
|
children
|
|
@@ -18,7 +20,7 @@ const ComponentScreen = ({
|
|
|
18
20
|
const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
19
21
|
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
20
22
|
return {
|
|
21
|
-
pointerEvents: sceneClosing.get() ?
|
|
23
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
22
24
|
};
|
|
23
25
|
});
|
|
24
26
|
const ComponentScreenComponent = _reactNativeReanimated.default.View;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_layoutAnchor","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ComponentScreen","routeKey","children","sceneClosing","AnimationStore","getAnimation","screenRef","useAnimatedRef","animatedProps","useAnimatedProps","pointerEvents","ComponentScreenComponent","Animated","View","jsx","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_layoutAnchor","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POINT_NONE","POINT_BOX_NONE","ComponentScreen","routeKey","children","sceneClosing","AnimationStore","getAnimation","screenRef","useAnimatedRef","animatedProps","useAnimatedProps","pointerEvents","ComponentScreenComponent","Animated","View","jsx","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMrE,MAAMkB,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAEnC,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGC,yBAAc,CAACC,YAAY,CAACJ,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMK,SAAS,GAAG,IAAAC,qCAAc,EAAO,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,OAAO;MACNC,aAAa,EAAEP,YAAY,CAACZ,GAAG,CAAC,CAAC,GAAGO,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMY,wBAAwB,GAAGC,8BAAQ,CAACC,IAAI;EAE9C,oBACC,IAAAnC,WAAA,CAAAoC,GAAA,EAACH,wBAAwB;IACxBI,GAAG,EAAET,SAAU;IACfU,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BV,aAAa,EAAEA,aAAc;IAAAN,QAAA,eAE7B,IAAAxB,WAAA,CAAAoC,GAAA,EAACtC,aAAA,CAAA2C,oBAAoB;MAACC,SAAS,EAAEd,SAAU;MAAAJ,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC;AAACmB,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -12,8 +12,8 @@ var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
|
|
|
12
12
|
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
13
13
|
var _core = require("../../shared/providers/stack/core.provider");
|
|
14
14
|
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
15
|
+
var _stack = require("../../shared/types/stack.types");
|
|
15
16
|
var _componentScreen = require("./component-screen");
|
|
16
|
-
var _componentScreenContainer = require("./component-screen-container");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
19
|
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
@@ -33,13 +33,14 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
36
|
-
TRANSITIONS_ALWAYS_ON: true
|
|
36
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
37
|
+
STACK_TYPE: _stack.StackType.COMPONENT
|
|
37
38
|
}, (0, _managed.withManagedStack)(({
|
|
38
39
|
scenes,
|
|
39
40
|
shouldShowFloatOverlay
|
|
40
41
|
}) => {
|
|
41
42
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
42
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
43
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
43
44
|
children: scenes.map((scene, sceneIndex) => {
|
|
44
45
|
const descriptor = scene.descriptor;
|
|
45
46
|
const route = scene.route;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","_stack","_componentScreen","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","STACK_TYPE","StackType","COMPONENT","withManagedStack","scenes","shouldShowFloatOverlay","Fragment","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","ComponentScreen","routeKey","key","ScreenComposer","previous","current","next","LifecycleController","ManagedLifecycle"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,9 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createComponentStackNavigator = createComponentStackNavigator;
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _stackView = require("../components/stack-view");
|
|
9
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
/**
|
|
13
|
+
* Context to detect if we're inside a ComponentStack.
|
|
14
|
+
* Used to avoid double-wrapping nested ComponentStacks in NavigationIndependentTree.
|
|
15
|
+
*/
|
|
16
|
+
const ComponentStackContext = /*#__PURE__*/React.createContext(false);
|
|
17
|
+
ComponentStackContext.displayName = "ComponentStackContext";
|
|
18
|
+
const ComponentStackNavigatorInner = /*#__PURE__*/React.memo(function ComponentStackNavigatorInner({
|
|
11
19
|
id,
|
|
12
20
|
initialRouteName,
|
|
13
21
|
children,
|
|
@@ -32,21 +40,43 @@ function ComponentStackNavigator({
|
|
|
32
40
|
screenOptions,
|
|
33
41
|
screenLayout
|
|
34
42
|
});
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(NavigationContent, {
|
|
44
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_stackView.StackView, {
|
|
45
|
+
...rest,
|
|
46
|
+
state: state,
|
|
47
|
+
navigation: navigation,
|
|
48
|
+
descriptors: descriptors,
|
|
49
|
+
describe: describe
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* ComponentStackNavigator conditionally wraps in NavigationIndependentTree.
|
|
56
|
+
* - If already inside a ComponentStack (nested), just render the inner navigator
|
|
57
|
+
* so it participates in the parent's navigation tree and goBack() works.
|
|
58
|
+
* - If top-level, wrap in NavigationIndependentTree + NavigationContainer
|
|
59
|
+
* to isolate from Expo Router / React Navigation.
|
|
60
|
+
*/
|
|
61
|
+
function IsolatedComponentStackNavigator(props) {
|
|
62
|
+
const isNested = React.useContext(ComponentStackContext);
|
|
63
|
+
if (isNested) {
|
|
64
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentStackNavigatorInner, {
|
|
65
|
+
...props
|
|
66
|
+
});
|
|
67
|
+
}
|
|
35
68
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationIndependentTree, {
|
|
36
69
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContainer, {
|
|
37
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
navigation: navigation,
|
|
42
|
-
descriptors: descriptors,
|
|
43
|
-
describe: describe
|
|
70
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentStackContext.Provider, {
|
|
71
|
+
value: true,
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentStackNavigatorInner, {
|
|
73
|
+
...props
|
|
44
74
|
})
|
|
45
75
|
})
|
|
46
76
|
})
|
|
47
77
|
});
|
|
48
78
|
}
|
|
49
79
|
function createComponentStackNavigator(config) {
|
|
50
|
-
return (0, _native.createNavigatorFactory)(
|
|
80
|
+
return (0, _native.createNavigatorFactory)(IsolatedComponentStackNavigator)(config);
|
|
51
81
|
}
|
|
52
82
|
//# sourceMappingURL=create-component-stack-navigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_stackView","_jsxRuntime","
|
|
1
|
+
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_stackView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ComponentStackContext","createContext","displayName","ComponentStackNavigatorInner","memo","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","useNavigationBuilder","StackRouter","jsx","StackView","IsolatedComponentStackNavigator","props","isNested","useContext","NavigationIndependentTree","NavigationContainer","Provider","value","createComponentStackNavigator","config","createNavigatorFactory"],"sourceRoot":"../../../../src","sources":["component-stack/navigators/create-component-stack-navigator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
10
|
var _constants = require("../constants");
|
|
11
|
+
var _useStackPointerEvents = require("../hooks/use-stack-pointer-events");
|
|
11
12
|
var _styles = require("../providers/screen/styles.provider");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
@@ -17,6 +18,7 @@ const RootTransitionAware = exports.RootTransitionAware = /*#__PURE__*/(0, _reac
|
|
|
17
18
|
const {
|
|
18
19
|
stylesMap
|
|
19
20
|
} = (0, _styles.useScreenStyles)();
|
|
21
|
+
const pointerEvents = (0, _useStackPointerEvents.useStackPointerEvents)();
|
|
20
22
|
const animatedContentStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
21
23
|
"worklet";
|
|
22
24
|
|
|
@@ -28,12 +30,14 @@ const RootTransitionAware = exports.RootTransitionAware = /*#__PURE__*/(0, _reac
|
|
|
28
30
|
return stylesMap.value.overlayStyle || _constants.NO_STYLES;
|
|
29
31
|
});
|
|
30
32
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
31
|
-
style: styles.container,
|
|
33
|
+
style: [styles.container],
|
|
34
|
+
pointerEvents: pointerEvents,
|
|
32
35
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
33
36
|
style: [_reactNative.StyleSheet.absoluteFillObject, animatedOverlayStyle],
|
|
34
37
|
pointerEvents: "none"
|
|
35
38
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
36
39
|
style: [styles.content, animatedContentStyle],
|
|
40
|
+
pointerEvents: pointerEvents,
|
|
37
41
|
children: children
|
|
38
42
|
})]
|
|
39
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_constants","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RootTransitionAware","exports","memo","children","stylesMap","useScreenStyles","animatedContentStyle","useAnimatedStyle","value","contentStyle","NO_STYLES","animatedOverlayStyle","overlayStyle","jsxs","View","style","styles","container","jsx","StyleSheet","absoluteFillObject","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_constants","_useStackPointerEvents","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RootTransitionAware","exports","memo","children","stylesMap","useScreenStyles","pointerEvents","useStackPointerEvents","animatedContentStyle","useAnimatedStyle","value","contentStyle","NO_STYLES","animatedOverlayStyle","overlayStyle","jsxs","View","style","styles","container","jsx","StyleSheet","absoluteFillObject","content","create","flex"],"sourceRoot":"../../../../src","sources":["shared/components/root-transition-aware.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useStackPointerEvents = useStackPointerEvents;
|
|
7
|
+
var _core = require("../providers/stack/core.provider");
|
|
8
|
+
var _stack = require("../types/stack.types");
|
|
9
|
+
/**
|
|
10
|
+
* Hook that returns the appropriate pointer events value based on current stack type.
|
|
11
|
+
*
|
|
12
|
+
* - Component stack: "box-none" (allows touch pass-through to content behind)
|
|
13
|
+
* - Other stacks: undefined (default behavior, view receives touches)
|
|
14
|
+
*
|
|
15
|
+
* Must be used within a StackCoreProvider.
|
|
16
|
+
*/
|
|
17
|
+
function useStackPointerEvents() {
|
|
18
|
+
const {
|
|
19
|
+
flags
|
|
20
|
+
} = (0, _core.useStackCoreContext)();
|
|
21
|
+
return flags.STACK_TYPE === _stack.StackType.COMPONENT ? "box-none" : undefined;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=use-stack-pointer-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_stack","useStackPointerEvents","flags","useStackCoreContext","STACK_TYPE","StackType","COMPONENT","undefined"],"sourceRoot":"../../../../src","sources":["shared/hooks/use-stack-pointer-events.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CAAA,EAA2B;EAC/D,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,yBAAmB,EAAC,CAAC;EACvC,OAAOD,KAAK,CAACE,UAAU,KAAKC,gBAAS,CAACC,SAAS,GAAG,UAAU,GAAGC,SAAS;AACzE","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
9
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
10
|
var _useBuildGestures = require("../hooks/gestures/use-build-gestures");
|
|
11
|
+
var _useStackPointerEvents = require("../hooks/use-stack-pointer-events");
|
|
11
12
|
var _createProvider = _interopRequireDefault(require("../utils/create-provider"));
|
|
12
13
|
var _keys = require("./screen/keys.provider");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -23,6 +24,7 @@ const {
|
|
|
23
24
|
const {
|
|
24
25
|
current
|
|
25
26
|
} = (0, _keys.useKeys)();
|
|
27
|
+
const pointerEvents = (0, _useStackPointerEvents.useStackPointerEvents)();
|
|
26
28
|
const ancestorContext = useGestureContext();
|
|
27
29
|
const scrollConfig = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
28
30
|
const hasGestures = current.options.gestureEnabled === true;
|
|
@@ -50,6 +52,7 @@ const {
|
|
|
50
52
|
gesture: panGesture,
|
|
51
53
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
52
54
|
style: styles.container,
|
|
55
|
+
pointerEvents: pointerEvents,
|
|
53
56
|
children: children
|
|
54
57
|
})
|
|
55
58
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeGestureHandler","_reactNativeReanimated","_useBuildGestures","_createProvider","_interopRequireDefault","_keys","_jsxRuntime","e","__esModule","default","ScreenGestureProvider","useScreenGestureContext","useGestureContext","createProvider","guarded","children","current","useKeys","ancestorContext","scrollConfig","useSharedValue","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","useBuildGestures","value","jsx","GestureDetector","gesture","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAKA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeGestureHandler","_reactNativeReanimated","_useBuildGestures","_useStackPointerEvents","_createProvider","_interopRequireDefault","_keys","_jsxRuntime","e","__esModule","default","ScreenGestureProvider","useScreenGestureContext","useGestureContext","createProvider","guarded","children","current","useKeys","pointerEvents","useStackPointerEvents","ancestorContext","scrollConfig","useSharedValue","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","useBuildGestures","value","jsx","GestureDetector","gesture","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAKA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AAEA,IAAAK,eAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAAiD,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAM,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAyB1C,MAAM;EACZG,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,uBAAc,EAAC,eAAe,EAAE;EAAEC,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC7B,MAAMC,aAAa,GAAG,IAAAC,4CAAqB,EAAC,CAAC;EAC7C,MAAMC,eAAe,GAAGR,iBAAiB,CAAC,CAAC;EAC3C,MAAMS,YAAY,GAAG,IAAAC,qCAAc,EAAsB,IAAI,CAAC;EAE9D,MAAMC,WAAW,GAAGP,OAAO,CAACQ,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzE,IAAAC,kCAAgB,EAAC;IAChBT,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMW,KAAyB,GAAG;IACjCL,UAAU;IACVC,aAAa;IACbN,YAAY;IACZO,aAAa;IACbC,sBAAsB;IACtBT,eAAe;IACfK,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNQ,KAAK;IACLhB,QAAQ,eACP,IAAAT,WAAA,CAAA0B,GAAA,EAACjC,0BAAA,CAAAkC,eAAe;MAACC,OAAO,EAAER,UAAW;MAAAX,QAAA,eACpC,IAAAT,WAAA,CAAA0B,GAAA,EAACnC,YAAA,CAAAsC,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;QAACpB,aAAa,EAAEA,aAAc;QAAAH,QAAA,EAC1DA;MAAQ,CACJ;IAAC,CACS;EAEnB,CAAC;AACF,CAAC,CAAC;AAACwB,OAAA,CAAA3B,iBAAA,GAAAA,iBAAA;AAAA2B,OAAA,CAAA7B,qBAAA,GAAAA,qBAAA;AAEH,MAAM2B,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -36,6 +36,7 @@ const {
|
|
|
36
36
|
},
|
|
37
37
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
38
38
|
style: styles.container,
|
|
39
|
+
pointerEvents: STACK_TYPE === _stack.StackType.COMPONENT ? "box-none" : undefined,
|
|
39
40
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
|
|
40
41
|
children: children
|
|
41
42
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_elements","require","_reactNative","_reactNativeGestureHandler","_stack","_createProvider","_interopRequireDefault","_jsxRuntime","e","__esModule","default","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","createProvider","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","STACK_TYPE","StackType","BLANK","value","flags","jsx","GestureHandlerRootView","style","styles","container","SafeAreaProviderCompat","exports","withStackCore","defaultConfig","Component","StackCoreWrapper","props","
|
|
1
|
+
{"version":3,"names":["_elements","require","_reactNative","_reactNativeGestureHandler","_stack","_createProvider","_interopRequireDefault","_jsxRuntime","e","__esModule","default","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","createProvider","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","STACK_TYPE","StackType","BLANK","value","flags","jsx","GestureHandlerRootView","style","styles","container","pointerEvents","COMPONENT","undefined","SafeAreaProviderCompat","exports","withStackCore","defaultConfig","Component","StackCoreWrapper","props","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/core.provider.tsx"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAyD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAqBzD,MAAM;EAAEG,iBAAiB,EAAEC,yBAAyB;EAAEC;AAAoB,CAAC,GAC1E,IAAAC,uBAAc,EAAC,WAAW,EAAE;EAAEC,OAAO,EAAE;AAAK,CAAC,CAAC,CAG5C,CAAC;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAK;EAC3B,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,sBAAsB,GAAG,KAAK;IAC9BC,UAAU,GAAGC,gBAAS,CAACC;EACxB,CAAC,GAAGN,MAAM;EAEV,OAAO;IACNO,KAAK,EAAE;MACNC,KAAK,EAAE;QACNN,qBAAqB;QACrBE,UAAU;QACVD;MACD;IACD,CAAC;IACDF,QAAQ,eACP,IAAAV,WAAA,CAAAkB,GAAA,EAACtB,0BAAA,CAAAuB,sBAAsB;MACtBC,KAAK,EAAEC,MAAM,CAACC,SAAU;MACxBC,aAAa,EACZV,UAAU,KAAKC,gBAAS,CAACU,SAAS,GAAG,UAAU,GAAGC,SAClD;MAAAf,QAAA,eAED,IAAAV,WAAA,CAAAkB,GAAA,EAACzB,SAAA,CAAAiC,sBAAsB;QAAAhB,QAAA,EAAEA;MAAQ,CAAyB;IAAC,CACpC;EAE1B,CAAC;AACF,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AAHAiB,OAAA,CAAArB,mBAAA,GAAAA,mBAAA;AAIO,SAASsB,aAAaA,CAC5BC,aAA8B,EAC9BC,SAAsC,EACD;EACrC,OAAO,SAASC,gBAAgBA,CAAC;IAChCnB,sBAAsB;IACtBD,qBAAqB;IACrBE,UAAU;IACV,GAAGmB;EACsB,CAAC,EAAE;IAC5B;IACA,MAAMvB,MAAuB,GAAG;MAC/B,IAAIG,sBAAsB,KAAKa,SAAS,IAAI;QAAEb;MAAuB,CAAC,CAAC;MACvE,IAAID,qBAAqB,KAAKc,SAAS,IAAI;QAAEd;MAAsB,CAAC,CAAC;MACrE,IAAIE,UAAU,KAAKY,SAAS,IAAI;QAAEZ;MAAW,CAAC,CAAC;MAC/C,GAAGgB;IACJ,CAAC;IACD,oBACC,IAAA7B,WAAA,CAAAkB,GAAA,EAACb,yBAAyB;MAACI,MAAM,EAAEA,MAAO;MAAAC,QAAA,eACzC,IAAAV,WAAA,CAAAkB,GAAA,EAACY,SAAS;QAAA,GAAME;MAAK,CAAc;IAAC,CACV,CAAC;EAE9B,CAAC;AACF;AAEA,MAAMX,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAChCZ,SAAS,EAAE;IAAEa,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -27,6 +27,7 @@ exports.StackType = void 0;
|
|
|
27
27
|
let StackType = exports.StackType = /*#__PURE__*/function (StackType) {
|
|
28
28
|
StackType["NATIVE"] = "native";
|
|
29
29
|
StackType["BLANK"] = "blank";
|
|
30
|
+
StackType["COMPONENT"] = "component";
|
|
30
31
|
return StackType;
|
|
31
32
|
}({});
|
|
32
33
|
//# sourceMappingURL=stack.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackType","exports"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AAHA,IAYYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StackType","exports"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AAHA,IAYYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -5,6 +5,8 @@ import Animated, { useAnimatedProps, useAnimatedRef } from "react-native-reanima
|
|
|
5
5
|
import { LayoutAnchorProvider } from "../../shared/providers/layout-anchor.provider";
|
|
6
6
|
import { AnimationStore } from "../../shared/stores/animation.store";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const POINT_NONE = "none";
|
|
9
|
+
const POINT_BOX_NONE = "box-none";
|
|
8
10
|
export const ComponentScreen = ({
|
|
9
11
|
routeKey,
|
|
10
12
|
children
|
|
@@ -13,7 +15,7 @@ export const ComponentScreen = ({
|
|
|
13
15
|
const screenRef = useAnimatedRef();
|
|
14
16
|
const animatedProps = useAnimatedProps(() => {
|
|
15
17
|
return {
|
|
16
|
-
pointerEvents: sceneClosing.get() ?
|
|
18
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
17
19
|
};
|
|
18
20
|
});
|
|
19
21
|
const ComponentScreenComponent = Animated.View;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","Animated","useAnimatedProps","useAnimatedRef","LayoutAnchorProvider","AnimationStore","jsx","_jsx","ComponentScreen","routeKey","children","sceneClosing","getAnimation","screenRef","animatedProps","pointerEvents","get","ComponentScreenComponent","View","ref","style","absoluteFill","anchorRef"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAmB,cAAc;AACpD,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","useAnimatedProps","useAnimatedRef","LayoutAnchorProvider","AnimationStore","jsx","_jsx","POINT_NONE","POINT_BOX_NONE","ComponentScreen","routeKey","children","sceneClosing","getAnimation","screenRef","animatedProps","pointerEvents","get","ComponentScreenComponent","View","ref","style","absoluteFill","anchorRef"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAmB,cAAc;AACpD,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMrE,MAAMC,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAE1C,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGR,cAAc,CAACS,YAAY,CAACH,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMI,SAAS,GAAGZ,cAAc,CAAO,CAAC;EAExC,MAAMa,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNe,aAAa,EAAEJ,YAAY,CAACK,GAAG,CAAC,CAAC,GAAGV,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMU,wBAAwB,GAAGlB,QAAQ,CAACmB,IAAI;EAE9C,oBACCb,IAAA,CAACY,wBAAwB;IACxBE,GAAG,EAAEN,SAAU;IACfO,KAAK,EAAEtB,UAAU,CAACuB,YAAa;IAC/BP,aAAa,EAAEA,aAAc;IAAAJ,QAAA,eAE7BL,IAAA,CAACH,oBAAoB;MAACoB,SAAS,EAAET,SAAU;MAAAH,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ import { ManagedLifecycle } from "../../shared/controller/managed-lifecycle";
|
|
|
8
8
|
import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
9
9
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
10
10
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
11
|
+
import { StackType } from "../../shared/types/stack.types";
|
|
11
12
|
import { ComponentScreen } from "./component-screen";
|
|
12
|
-
import { ComponentScreenContainer } from "./component-screen-container";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
15
15
|
descriptor
|
|
@@ -28,13 +28,14 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
export const StackView = withStackCore({
|
|
31
|
-
TRANSITIONS_ALWAYS_ON: true
|
|
31
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
32
|
+
STACK_TYPE: StackType.COMPONENT
|
|
32
33
|
}, withManagedStack(({
|
|
33
34
|
scenes,
|
|
34
35
|
shouldShowFloatOverlay
|
|
35
36
|
}) => {
|
|
36
37
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
37
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(
|
|
38
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(Fragment, {
|
|
38
39
|
children: scenes.map((scene, sceneIndex) => {
|
|
39
40
|
const descriptor = scene.descriptor;
|
|
40
41
|
const route = scene.route;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","StackType","ComponentScreen","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","routeKey","key","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,OAAO;AAChC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,gBAAgB,QAAQ,2CAA2C;AAC5E,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAK1D,SAASC,eAAe,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMrD,MAAMC,SAAS,gBAAGb,KAAK,CAACc,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACCL,IAAA,CAACZ,iBAAiB,CAACqB,QAAQ;IAACC,KAAK,EAAEH,UAAW;IAAAI,QAAA,eAC7CT,KAAA,CAACb,sBAAsB,CAACoB,QAAQ;MAACC,KAAK,EAAEJ,KAAM;MAAAK,QAAA,GAC5CN,UAAU,CAACO,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAIb,IAAA,CAACR,OAAO,CAACsB,MAAM,IAAE,CAAC,EACjEN,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMO,SAAS,GAAGpB,aAAa,CACrC;EAAEqB,qBAAqB,EAAE,IAAI;EAAEC,UAAU,EAAEpB,SAAS,CAACqB;AAAU,CAAC,EAChEtB,gBAAgB,CACf,CAAC;EAAEuB,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACClB,KAAA,CAACX,QAAQ;IAAAoB,QAAA,GACPS,sBAAsB,gBAAGpB,IAAA,CAACR,OAAO,CAAC6B,KAAK,IAAE,CAAC,GAAG,IAAI,eAElDrB,IAAA,CAACT,QAAQ;MAAAoB,QAAA,EACPQ,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMnB,UAAU,GAAGkB,KAAK,CAAClB,UAAU;QACnC,MAAMC,KAAK,GAAGiB,KAAK,CAACjB,KAAK;QAEzB,MAAMmB,kBAAkB,GACvBN,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;QAChD,MAAMC,cAAc,GACnBR,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;QAEhD,oBACC1B,IAAA,CAACF,eAAe;UAAiB8B,QAAQ,EAAEtB,KAAK,CAACuB,GAAI;UAAAlB,QAAA,eACpDX,IAAA,CAACN,cAAc;YACdoC,QAAQ,EAAEL,kBAAmB;YAC7BM,OAAO,EAAE1B,UAAW;YACpB2B,IAAI,EAAEL,cAAe;YACrBM,mBAAmB,EAAExC,gBAAiB;YAAAkB,QAAA,eAEtCX,IAAA,CAACG,SAAS;cAAiBE,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACuB,GAA8B;UAAC,CACtC;QAAC,GARIvB,KAAK,CAACuB,GASX,CAAC;MAEpB,CAAC;IAAC,CACO,CAAC;EAAA,CACF,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createNavigatorFactory, NavigationContainer, NavigationIndependentTree, StackRouter, useNavigationBuilder } from "@react-navigation/native";
|
|
4
|
+
import * as React from "react";
|
|
4
5
|
import { StackView } from "../components/stack-view";
|
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Context to detect if we're inside a ComponentStack.
|
|
9
|
+
* Used to avoid double-wrapping nested ComponentStacks in NavigationIndependentTree.
|
|
10
|
+
*/
|
|
11
|
+
const ComponentStackContext = /*#__PURE__*/React.createContext(false);
|
|
12
|
+
ComponentStackContext.displayName = "ComponentStackContext";
|
|
13
|
+
const ComponentStackNavigatorInner = /*#__PURE__*/React.memo(function ComponentStackNavigatorInner({
|
|
7
14
|
id,
|
|
8
15
|
initialRouteName,
|
|
9
16
|
children,
|
|
@@ -28,21 +35,43 @@ function ComponentStackNavigator({
|
|
|
28
35
|
screenOptions,
|
|
29
36
|
screenLayout
|
|
30
37
|
});
|
|
38
|
+
return /*#__PURE__*/_jsx(NavigationContent, {
|
|
39
|
+
children: /*#__PURE__*/_jsx(StackView, {
|
|
40
|
+
...rest,
|
|
41
|
+
state: state,
|
|
42
|
+
navigation: navigation,
|
|
43
|
+
descriptors: descriptors,
|
|
44
|
+
describe: describe
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* ComponentStackNavigator conditionally wraps in NavigationIndependentTree.
|
|
51
|
+
* - If already inside a ComponentStack (nested), just render the inner navigator
|
|
52
|
+
* so it participates in the parent's navigation tree and goBack() works.
|
|
53
|
+
* - If top-level, wrap in NavigationIndependentTree + NavigationContainer
|
|
54
|
+
* to isolate from Expo Router / React Navigation.
|
|
55
|
+
*/
|
|
56
|
+
function IsolatedComponentStackNavigator(props) {
|
|
57
|
+
const isNested = React.useContext(ComponentStackContext);
|
|
58
|
+
if (isNested) {
|
|
59
|
+
return /*#__PURE__*/_jsx(ComponentStackNavigatorInner, {
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
}
|
|
31
63
|
return /*#__PURE__*/_jsx(NavigationIndependentTree, {
|
|
32
64
|
children: /*#__PURE__*/_jsx(NavigationContainer, {
|
|
33
|
-
children: /*#__PURE__*/_jsx(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
navigation: navigation,
|
|
38
|
-
descriptors: descriptors,
|
|
39
|
-
describe: describe
|
|
65
|
+
children: /*#__PURE__*/_jsx(ComponentStackContext.Provider, {
|
|
66
|
+
value: true,
|
|
67
|
+
children: /*#__PURE__*/_jsx(ComponentStackNavigatorInner, {
|
|
68
|
+
...props
|
|
40
69
|
})
|
|
41
70
|
})
|
|
42
71
|
})
|
|
43
72
|
});
|
|
44
73
|
}
|
|
45
74
|
export function createComponentStackNavigator(config) {
|
|
46
|
-
return createNavigatorFactory(
|
|
75
|
+
return createNavigatorFactory(IsolatedComponentStackNavigator)(config);
|
|
47
76
|
}
|
|
48
77
|
//# sourceMappingURL=create-component-stack-navigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","StackView","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","React","StackView","jsx","_jsx","ComponentStackContext","createContext","displayName","ComponentStackNavigatorInner","memo","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","IsolatedComponentStackNavigator","props","isNested","useContext","Provider","value","createComponentStackNavigator","config"],"sourceRoot":"../../../../src","sources":["component-stack/navigators/create-component-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EAKzBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQrD;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,gBAAGJ,KAAK,CAACK,aAAa,CAAU,KAAK,CAAC;AACjED,qBAAqB,CAACE,WAAW,GAAG,uBAAuB;AAE3D,MAAMC,4BAA4B,gBAAGP,KAAK,CAACQ,IAAI,CAC9C,SAASD,4BAA4BA,CAAC;EACrCE,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AAC0B,CAAC,EAAE;EAChC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpEtB,oBAAoB,CAMlBD,WAAW,EAAE;IACdW,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEH,oBACCZ,IAAA,CAACkB,iBAAiB;IAAAV,QAAA,eACjBR,IAAA,CAACF,SAAS;MAAA,GACLe,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,+BAA+BA,CAACC,KAAmC,EAAE;EAC7E,MAAMC,QAAQ,GAAGxB,KAAK,CAACyB,UAAU,CAACrB,qBAAqB,CAAC;EAExD,IAAIoB,QAAQ,EAAE;IACb,oBAAOrB,IAAA,CAACI,4BAA4B;MAAA,GAAKgB;IAAK,CAAG,CAAC;EACnD;EAEA,oBACCpB,IAAA,CAACN,yBAAyB;IAAAc,QAAA,eACzBR,IAAA,CAACP,mBAAmB;MAAAe,QAAA,eACnBR,IAAA,CAACC,qBAAqB,CAACsB,QAAQ;QAACC,KAAK,EAAE,IAAK;QAAAhB,QAAA,eAC3CR,IAAA,CAACI,4BAA4B;UAAA,GAAKgB;QAAK,CAAG;MAAC,CACZ;IAAC,CACb;EAAC,CACI,CAAC;AAE9B;AAEA,OAAO,SAASK,6BAA6BA,CAmB3CC,MAAe,EAAmC;EACnD,OAAOlC,sBAAsB,CAAC2B,+BAA+B,CAAC,CAACO,MAAM,CAAC;AACvE","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { memo } from "react";
|
|
|
4
4
|
import { StyleSheet, View } from "react-native";
|
|
5
5
|
import Animated, { useAnimatedStyle } from "react-native-reanimated";
|
|
6
6
|
import { NO_STYLES } from "../constants";
|
|
7
|
+
import { useStackPointerEvents } from "../hooks/use-stack-pointer-events";
|
|
7
8
|
import { useScreenStyles } from "../providers/screen/styles.provider";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export const RootTransitionAware = /*#__PURE__*/memo(({
|
|
@@ -12,6 +13,7 @@ export const RootTransitionAware = /*#__PURE__*/memo(({
|
|
|
12
13
|
const {
|
|
13
14
|
stylesMap
|
|
14
15
|
} = useScreenStyles();
|
|
16
|
+
const pointerEvents = useStackPointerEvents();
|
|
15
17
|
const animatedContentStyle = useAnimatedStyle(() => {
|
|
16
18
|
"worklet";
|
|
17
19
|
|
|
@@ -23,12 +25,14 @@ export const RootTransitionAware = /*#__PURE__*/memo(({
|
|
|
23
25
|
return stylesMap.value.overlayStyle || NO_STYLES;
|
|
24
26
|
});
|
|
25
27
|
return /*#__PURE__*/_jsxs(View, {
|
|
26
|
-
style: styles.container,
|
|
28
|
+
style: [styles.container],
|
|
29
|
+
pointerEvents: pointerEvents,
|
|
27
30
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
28
31
|
style: [StyleSheet.absoluteFillObject, animatedOverlayStyle],
|
|
29
32
|
pointerEvents: "none"
|
|
30
33
|
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
31
34
|
style: [styles.content, animatedContentStyle],
|
|
35
|
+
pointerEvents: pointerEvents,
|
|
32
36
|
children: children
|
|
33
37
|
})]
|
|
34
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","View","Animated","useAnimatedStyle","NO_STYLES","useScreenStyles","jsx","_jsx","jsxs","_jsxs","RootTransitionAware","children","stylesMap","animatedContentStyle","value","contentStyle","animatedOverlayStyle","overlayStyle","style","styles","container","absoluteFillObject","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","View","Animated","useAnimatedStyle","NO_STYLES","useStackPointerEvents","useScreenStyles","jsx","_jsx","jsxs","_jsxs","RootTransitionAware","children","stylesMap","pointerEvents","animatedContentStyle","value","contentStyle","animatedOverlayStyle","overlayStyle","style","styles","container","absoluteFillObject","content","create","flex"],"sourceRoot":"../../../../src","sources":["shared/components/root-transition-aware.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AACpE,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAASC,eAAe,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMtE,OAAO,MAAMC,mBAAmB,gBAAGZ,IAAI,CAAC,CAAC;EAAEa;AAAgB,CAAC,KAAK;EAChE,MAAM;IAAEC;EAAU,CAAC,GAAGP,eAAe,CAAC,CAAC;EACvC,MAAMQ,aAAa,GAAGT,qBAAqB,CAAC,CAAC;EAE7C,MAAMU,oBAAoB,GAAGZ,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOU,SAAS,CAACG,KAAK,CAACC,YAAY,IAAIb,SAAS;EACjD,CAAC,CAAC;EAEF,MAAMc,oBAAoB,GAAGf,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOU,SAAS,CAACG,KAAK,CAACG,YAAY,IAAIf,SAAS;EACjD,CAAC,CAAC;EAEF,oBACCM,KAAA,CAACT,IAAI;IAACmB,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,CAAE;IAACR,aAAa,EAAEA,aAAc;IAAAF,QAAA,gBAC7DJ,IAAA,CAACN,QAAQ,CAACD,IAAI;MACbmB,KAAK,EAAE,CAACpB,UAAU,CAACuB,kBAAkB,EAAEL,oBAAoB,CAAE;MAC7DJ,aAAa,EAAC;IAAM,CACpB,CAAC,eACFN,IAAA,CAACN,QAAQ,CAACD,IAAI;MACbmB,KAAK,EAAE,CAACC,MAAM,CAACG,OAAO,EAAET,oBAAoB,CAAE;MAC9CD,aAAa,EAAEA,aAAc;MAAAF,QAAA,EAE5BA;IAAQ,CACK,CAAC;EAAA,CACX,CAAC;AAET,CAAC,CAAC;AAEF,MAAMS,MAAM,GAAGrB,UAAU,CAACyB,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP,CAAC;EACDF,OAAO,EAAE;IACRE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useStackCoreContext } from "../providers/stack/core.provider";
|
|
4
|
+
import { StackType } from "../types/stack.types";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Hook that returns the appropriate pointer events value based on current stack type.
|
|
8
|
+
*
|
|
9
|
+
* - Component stack: "box-none" (allows touch pass-through to content behind)
|
|
10
|
+
* - Other stacks: undefined (default behavior, view receives touches)
|
|
11
|
+
*
|
|
12
|
+
* Must be used within a StackCoreProvider.
|
|
13
|
+
*/
|
|
14
|
+
export function useStackPointerEvents() {
|
|
15
|
+
const {
|
|
16
|
+
flags
|
|
17
|
+
} = useStackCoreContext();
|
|
18
|
+
return flags.STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=use-stack-pointer-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useStackCoreContext","StackType","useStackPointerEvents","flags","STACK_TYPE","COMPONENT","undefined"],"sourceRoot":"../../../../src","sources":["shared/hooks/use-stack-pointer-events.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,SAAS,QAAQ,sBAAsB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAA2B;EAC/D,MAAM;IAAEC;EAAM,CAAC,GAAGH,mBAAmB,CAAC,CAAC;EACvC,OAAOG,KAAK,CAACC,UAAU,KAAKH,SAAS,CAACI,SAAS,GAAG,UAAU,GAAGC,SAAS;AACzE","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { StyleSheet, View } from "react-native";
|
|
|
4
4
|
import { GestureDetector } from "react-native-gesture-handler";
|
|
5
5
|
import { useSharedValue } from "react-native-reanimated";
|
|
6
6
|
import { useBuildGestures } from "../hooks/gestures/use-build-gestures";
|
|
7
|
+
import { useStackPointerEvents } from "../hooks/use-stack-pointer-events";
|
|
7
8
|
import createProvider from "../utils/create-provider";
|
|
8
9
|
import { useKeys } from "./screen/keys.provider";
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -18,6 +19,7 @@ export const {
|
|
|
18
19
|
const {
|
|
19
20
|
current
|
|
20
21
|
} = useKeys();
|
|
22
|
+
const pointerEvents = useStackPointerEvents();
|
|
21
23
|
const ancestorContext = useGestureContext();
|
|
22
24
|
const scrollConfig = useSharedValue(null);
|
|
23
25
|
const hasGestures = current.options.gestureEnabled === true;
|
|
@@ -45,6 +47,7 @@ export const {
|
|
|
45
47
|
gesture: panGesture,
|
|
46
48
|
children: /*#__PURE__*/_jsx(View, {
|
|
47
49
|
style: styles.container,
|
|
50
|
+
pointerEvents: pointerEvents,
|
|
48
51
|
children: children
|
|
49
52
|
})
|
|
50
53
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","ancestorContext","scrollConfig","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","useStackPointerEvents","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","pointerEvents","ancestorContext","scrollConfig","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,qBAAqB,QAAQ,mCAAmC;AAEzE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAyBjD,OAAO,MAAM;EACZC,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,cAAc,CAAC,eAAe,EAAE;EAAEO,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAC7B,MAAMS,aAAa,GAAGX,qBAAqB,CAAC,CAAC;EAC7C,MAAMY,eAAe,GAAGL,iBAAiB,CAAC,CAAC;EAC3C,MAAMM,YAAY,GAAGf,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAMgB,WAAW,GAAGJ,OAAO,CAACK,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzErB,gBAAgB,CAAC;IAChBc,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMS,KAAyB,GAAG;IACjCJ,UAAU;IACVC,aAAa;IACbL,YAAY;IACZM,aAAa;IACbC,sBAAsB;IACtBR,eAAe;IACfI,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNO,KAAK;IACLZ,QAAQ,eACPL,IAAA,CAACP,eAAe;MAACyB,OAAO,EAAEL,UAAW;MAAAR,QAAA,eACpCL,IAAA,CAACR,IAAI;QAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;QAACd,aAAa,EAAEA,aAAc;QAAAF,QAAA,EAC1DA;MAAQ,CACJ;IAAC,CACS;EAEnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMe,MAAM,GAAG7B,UAAU,CAAC+B,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -30,6 +30,7 @@ const {
|
|
|
30
30
|
},
|
|
31
31
|
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
32
32
|
style: styles.container,
|
|
33
|
+
pointerEvents: STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined,
|
|
33
34
|
children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
|
|
34
35
|
children: children
|
|
35
36
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SafeAreaProviderCompat","StyleSheet","GestureHandlerRootView","StackType","createProvider","jsx","_jsx","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","STACK_TYPE","BLANK","value","flags","style","styles","container","withStackCore","defaultConfig","Component","StackCoreWrapper","props","
|
|
1
|
+
{"version":3,"names":["SafeAreaProviderCompat","StyleSheet","GestureHandlerRootView","StackType","createProvider","jsx","_jsx","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","STACK_TYPE","BLANK","value","flags","style","styles","container","pointerEvents","COMPONENT","undefined","withStackCore","defaultConfig","Component","StackCoreWrapper","props","create","flex"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/core.provider.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAA4B;AAEnE,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAOC,cAAc,MAAM,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqBzD,MAAM;EAAEC,iBAAiB,EAAEC,yBAAyB;EAAEC;AAAoB,CAAC,GAC1EL,cAAc,CAAC,WAAW,EAAE;EAAEM,OAAO,EAAE;AAAK,CAAC,CAAC,CAG5C,CAAC;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAK;EAC3B,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,sBAAsB,GAAG,KAAK;IAC9BC,UAAU,GAAGZ,SAAS,CAACa;EACxB,CAAC,GAAGL,MAAM;EAEV,OAAO;IACNM,KAAK,EAAE;MACNC,KAAK,EAAE;QACNL,qBAAqB;QACrBE,UAAU;QACVD;MACD;IACD,CAAC;IACDF,QAAQ,eACPN,IAAA,CAACJ,sBAAsB;MACtBiB,KAAK,EAAEC,MAAM,CAACC,SAAU;MACxBC,aAAa,EACZP,UAAU,KAAKZ,SAAS,CAACoB,SAAS,GAAG,UAAU,GAAGC,SAClD;MAAAZ,QAAA,eAEDN,IAAA,CAACN,sBAAsB;QAAAY,QAAA,EAAEA;MAAQ,CAAyB;IAAC,CACpC;EAE1B,CAAC;AACF,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA,OAAO,SAASa,aAAaA,CAC5BC,aAA8B,EAC9BC,SAAsC,EACD;EACrC,OAAO,SAASC,gBAAgBA,CAAC;IAChCd,sBAAsB;IACtBD,qBAAqB;IACrBE,UAAU;IACV,GAAGc;EACsB,CAAC,EAAE;IAC5B;IACA,MAAMlB,MAAuB,GAAG;MAC/B,IAAIG,sBAAsB,KAAKU,SAAS,IAAI;QAAEV;MAAuB,CAAC,CAAC;MACvE,IAAID,qBAAqB,KAAKW,SAAS,IAAI;QAAEX;MAAsB,CAAC,CAAC;MACrE,IAAIE,UAAU,KAAKS,SAAS,IAAI;QAAET;MAAW,CAAC,CAAC;MAC/C,GAAGW;IACJ,CAAC;IACD,oBACCpB,IAAA,CAACE,yBAAyB;MAACG,MAAM,EAAEA,MAAO;MAAAC,QAAA,eACzCN,IAAA,CAACqB,SAAS;QAAA,GAAME;MAAK,CAAc;IAAC,CACV,CAAC;EAE9B,CAAC;AACF;AAEA,MAAMT,MAAM,GAAGnB,UAAU,CAAC6B,MAAM,CAAC;EAChCT,SAAS,EAAE;IAAEU,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC;AAEF,SAAStB,mBAAmB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackType"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AASA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StackType"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AASA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-screen.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/component-screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AASpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"component-screen.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/component-screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AASpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAID,eAAO,MAAM,eAAe,GAAI,wBAAwB,WAAW,4CAuBlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,SAAS,uNAoCrB,CAAC"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { type NavigatorTypeBagBase, type ParamListBase, type StackNavigationState, type StaticConfig, type TypedNavigator } from "@react-navigation/native";
|
|
2
2
|
import type { ComponentStackNavigationEventMap, ComponentStackNavigationOptions, ComponentStackNavigationProp, ComponentStackNavigatorProps } from "../types";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* ComponentStackNavigator conditionally wraps in NavigationIndependentTree.
|
|
5
|
+
* - If already inside a ComponentStack (nested), just render the inner navigator
|
|
6
|
+
* so it participates in the parent's navigation tree and goBack() works.
|
|
7
|
+
* - If top-level, wrap in NavigationIndependentTree + NavigationContainer
|
|
8
|
+
* to isolate from Expo Router / React Navigation.
|
|
9
|
+
*/
|
|
10
|
+
declare function IsolatedComponentStackNavigator(props: ComponentStackNavigatorProps): import("react/jsx-runtime").JSX.Element;
|
|
4
11
|
export declare function createComponentStackNavigator<const ParamList extends ParamListBase, const NavigatorID extends string | undefined = undefined, const TypeBag extends NavigatorTypeBagBase = {
|
|
5
12
|
ParamList: ParamList;
|
|
6
13
|
NavigatorID: NavigatorID;
|
|
@@ -10,7 +17,7 @@ export declare function createComponentStackNavigator<const ParamList extends Pa
|
|
|
10
17
|
NavigationList: {
|
|
11
18
|
[RouteName in keyof ParamList]: ComponentStackNavigationProp<ParamList, RouteName, NavigatorID>;
|
|
12
19
|
};
|
|
13
|
-
Navigator: typeof
|
|
20
|
+
Navigator: typeof IsolatedComponentStackNavigator;
|
|
14
21
|
}, const Config extends StaticConfig<TypeBag> = StaticConfig<TypeBag>>(config?: Config): TypedNavigator<TypeBag, Config>;
|
|
15
22
|
export {};
|
|
16
23
|
//# sourceMappingURL=create-component-stack-navigator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-component-stack-navigator.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/navigators/create-component-stack-navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-component-stack-navigator.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/navigators/create-component-stack-navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACX,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,MAAM,UAAU,CAAC;AAmDlB;;;;;;GAMG;AACH,iBAAS,+BAA+B,CAAC,KAAK,EAAE,4BAA4B,2CAgB3E;AAED,wBAAgB,6BAA6B,CAC5C,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxD,KAAK,CAAC,OAAO,SAAS,oBAAoB,GAAG;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,EAAE,gCAAgC,CAAC;IAC3C,cAAc,EAAE;SACd,SAAS,IAAI,MAAM,SAAS,GAAG,4BAA4B,CAC3D,SAAS,EACT,SAAS,EACT,WAAW,CACX;KACD,CAAC;IACF,SAAS,EAAE,OAAO,+BAA+B,CAAC;CAClD,EACD,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EACjE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-transition-aware.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/root-transition-aware.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"root-transition-aware.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/root-transition-aware.tsx"],"names":[],"mappings":"AAOA,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,qDAAuB,KAAK,6CA4B1D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that returns the appropriate pointer events value based on current stack type.
|
|
3
|
+
*
|
|
4
|
+
* - Component stack: "box-none" (allows touch pass-through to content behind)
|
|
5
|
+
* - Other stacks: undefined (default behavior, view receives touches)
|
|
6
|
+
*
|
|
7
|
+
* Must be used within a StackCoreProvider.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useStackPointerEvents(): "box-none" | undefined;
|
|
10
|
+
//# sourceMappingURL=use-stack-pointer-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stack-pointer-events.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/use-stack-pointer-events.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,SAAS,CAG9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,aAAa,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,sBAAsB,EAAE,eAAe,CAAC;IACxC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,0BAA0B;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MACN,qBAAqB,kDACI,iBAAiB,iCAsCzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/core.provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACjC;AAOD,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE;QACN,qBAAqB,EAAE,OAAO,CAAC;QAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,sBAAsB,EAAE,OAAO,CAAC;KAChC,CAAC;CACF;AAED,QAAA,MAAsD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"core.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/core.provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACjC;AAOD,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE;QACN,qBAAqB,EAAE,OAAO,CAAC;QAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,sBAAsB,EAAE,OAAO,CAAC;KAChC,CAAC;CACF;AAED,QAAA,MAAsD,mBAAmB,6BA8BtE,CAAC;AAEJ;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EAClD,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GACpC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,CAoBpC;AAMD,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CACnC,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IAEhE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,MAAM,SAAS,cAAc,GAAG,cAAc;IAE9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,SAAS;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;
|
|
1
|
+
{"version":3,"file":"stack.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CACnC,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IAEhE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,MAAM,SAAS,cAAc,GAAG,cAAc;IAE9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,SAAS;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;CACvB"}
|
package/package.json
CHANGED
|
@@ -11,6 +11,8 @@ interface ScreenProps {
|
|
|
11
11
|
routeKey: string;
|
|
12
12
|
children: React.ReactNode;
|
|
13
13
|
}
|
|
14
|
+
const POINT_NONE = "none" as const;
|
|
15
|
+
const POINT_BOX_NONE = "box-none" as const;
|
|
14
16
|
|
|
15
17
|
export const ComponentScreen = ({ routeKey, children }: ScreenProps) => {
|
|
16
18
|
const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
|
|
@@ -18,9 +20,7 @@ export const ComponentScreen = ({ routeKey, children }: ScreenProps) => {
|
|
|
18
20
|
|
|
19
21
|
const animatedProps = useAnimatedProps(() => {
|
|
20
22
|
return {
|
|
21
|
-
pointerEvents: sceneClosing.get()
|
|
22
|
-
? ("none" as const)
|
|
23
|
-
: ("box-none" as const),
|
|
23
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE,
|
|
24
24
|
};
|
|
25
25
|
});
|
|
26
26
|
|
|
@@ -9,12 +9,12 @@ import { ManagedLifecycle } from "../../shared/controller/managed-lifecycle";
|
|
|
9
9
|
import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
10
10
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
11
11
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
12
|
+
import { StackType } from "../../shared/types/stack.types";
|
|
12
13
|
import type {
|
|
13
14
|
ComponentStackDescriptor,
|
|
14
15
|
ComponentStackNavigationHelpers,
|
|
15
16
|
} from "../types";
|
|
16
17
|
import { ComponentScreen } from "./component-screen";
|
|
17
|
-
import { ComponentScreenContainer } from "./component-screen-container";
|
|
18
18
|
|
|
19
19
|
type SceneViewProps = {
|
|
20
20
|
descriptor: ComponentStackDescriptor;
|
|
@@ -36,14 +36,14 @@ const SceneView = React.memo(function SceneView({
|
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
export const StackView = withStackCore(
|
|
39
|
-
{ TRANSITIONS_ALWAYS_ON: true },
|
|
39
|
+
{ TRANSITIONS_ALWAYS_ON: true, STACK_TYPE: StackType.COMPONENT },
|
|
40
40
|
withManagedStack<ComponentStackDescriptor, ComponentStackNavigationHelpers>(
|
|
41
41
|
({ scenes, shouldShowFloatOverlay }) => {
|
|
42
42
|
return (
|
|
43
43
|
<Fragment>
|
|
44
44
|
{shouldShowFloatOverlay ? <Overlay.Float /> : null}
|
|
45
45
|
|
|
46
|
-
<
|
|
46
|
+
<Fragment>
|
|
47
47
|
{scenes.map((scene, sceneIndex) => {
|
|
48
48
|
const descriptor = scene.descriptor;
|
|
49
49
|
const route = scene.route;
|
|
@@ -66,7 +66,7 @@ export const StackView = withStackCore(
|
|
|
66
66
|
</ComponentScreen>
|
|
67
67
|
);
|
|
68
68
|
})}
|
|
69
|
-
</
|
|
69
|
+
</Fragment>
|
|
70
70
|
</Fragment>
|
|
71
71
|
);
|
|
72
72
|
},
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
type TypedNavigator,
|
|
13
13
|
useNavigationBuilder,
|
|
14
14
|
} from "@react-navigation/native";
|
|
15
|
+
import * as React from "react";
|
|
15
16
|
import { StackView } from "../components/stack-view";
|
|
16
17
|
import type {
|
|
17
18
|
ComponentStackNavigationEventMap,
|
|
@@ -20,45 +21,75 @@ import type {
|
|
|
20
21
|
ComponentStackNavigatorProps,
|
|
21
22
|
} from "../types";
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Context to detect if we're inside a ComponentStack.
|
|
26
|
+
* Used to avoid double-wrapping nested ComponentStacks in NavigationIndependentTree.
|
|
27
|
+
*/
|
|
28
|
+
const ComponentStackContext = React.createContext<boolean>(false);
|
|
29
|
+
ComponentStackContext.displayName = "ComponentStackContext";
|
|
30
|
+
|
|
31
|
+
const ComponentStackNavigatorInner = React.memo(
|
|
32
|
+
function ComponentStackNavigatorInner({
|
|
33
|
+
id,
|
|
34
|
+
initialRouteName,
|
|
35
|
+
children,
|
|
36
|
+
layout,
|
|
37
|
+
screenListeners,
|
|
38
|
+
screenOptions,
|
|
39
|
+
screenLayout,
|
|
40
|
+
...rest
|
|
41
|
+
}: ComponentStackNavigatorProps) {
|
|
42
|
+
const { state, describe, descriptors, navigation, NavigationContent } =
|
|
43
|
+
useNavigationBuilder<
|
|
44
|
+
StackNavigationState<ParamListBase>,
|
|
45
|
+
StackRouterOptions,
|
|
46
|
+
StackActionHelpers<ParamListBase>,
|
|
47
|
+
ComponentStackNavigationOptions,
|
|
48
|
+
ComponentStackNavigationEventMap
|
|
49
|
+
>(StackRouter, {
|
|
50
|
+
id,
|
|
51
|
+
initialRouteName,
|
|
52
|
+
children,
|
|
53
|
+
layout,
|
|
54
|
+
screenListeners,
|
|
55
|
+
screenOptions,
|
|
56
|
+
screenLayout,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<NavigationContent>
|
|
61
|
+
<StackView
|
|
62
|
+
{...rest}
|
|
63
|
+
state={state}
|
|
64
|
+
navigation={navigation}
|
|
65
|
+
descriptors={descriptors}
|
|
66
|
+
describe={describe}
|
|
67
|
+
/>
|
|
68
|
+
</NavigationContent>
|
|
69
|
+
);
|
|
70
|
+
},
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* ComponentStackNavigator conditionally wraps in NavigationIndependentTree.
|
|
75
|
+
* - If already inside a ComponentStack (nested), just render the inner navigator
|
|
76
|
+
* so it participates in the parent's navigation tree and goBack() works.
|
|
77
|
+
* - If top-level, wrap in NavigationIndependentTree + NavigationContainer
|
|
78
|
+
* to isolate from Expo Router / React Navigation.
|
|
79
|
+
*/
|
|
80
|
+
function IsolatedComponentStackNavigator(props: ComponentStackNavigatorProps) {
|
|
81
|
+
const isNested = React.useContext(ComponentStackContext);
|
|
82
|
+
|
|
83
|
+
if (isNested) {
|
|
84
|
+
return <ComponentStackNavigatorInner {...props} />;
|
|
85
|
+
}
|
|
49
86
|
|
|
50
87
|
return (
|
|
51
88
|
<NavigationIndependentTree>
|
|
52
89
|
<NavigationContainer>
|
|
53
|
-
<
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
state={state}
|
|
57
|
-
navigation={navigation}
|
|
58
|
-
descriptors={descriptors}
|
|
59
|
-
describe={describe}
|
|
60
|
-
/>
|
|
61
|
-
</NavigationContent>
|
|
90
|
+
<ComponentStackContext.Provider value={true}>
|
|
91
|
+
<ComponentStackNavigatorInner {...props} />
|
|
92
|
+
</ComponentStackContext.Provider>
|
|
62
93
|
</NavigationContainer>
|
|
63
94
|
</NavigationIndependentTree>
|
|
64
95
|
);
|
|
@@ -80,9 +111,9 @@ export function createComponentStackNavigator<
|
|
|
80
111
|
NavigatorID
|
|
81
112
|
>;
|
|
82
113
|
};
|
|
83
|
-
Navigator: typeof
|
|
114
|
+
Navigator: typeof IsolatedComponentStackNavigator;
|
|
84
115
|
},
|
|
85
116
|
const Config extends StaticConfig<TypeBag> = StaticConfig<TypeBag>,
|
|
86
117
|
>(config?: Config): TypedNavigator<TypeBag, Config> {
|
|
87
|
-
return createNavigatorFactory(
|
|
118
|
+
return createNavigatorFactory(IsolatedComponentStackNavigator)(config);
|
|
88
119
|
}
|
|
@@ -2,6 +2,7 @@ import { memo } from "react";
|
|
|
2
2
|
import { StyleSheet, View } from "react-native";
|
|
3
3
|
import Animated, { useAnimatedStyle } from "react-native-reanimated";
|
|
4
4
|
import { NO_STYLES } from "../constants";
|
|
5
|
+
import { useStackPointerEvents } from "../hooks/use-stack-pointer-events";
|
|
5
6
|
import { useScreenStyles } from "../providers/screen/styles.provider";
|
|
6
7
|
|
|
7
8
|
type Props = {
|
|
@@ -10,6 +11,7 @@ type Props = {
|
|
|
10
11
|
|
|
11
12
|
export const RootTransitionAware = memo(({ children }: Props) => {
|
|
12
13
|
const { stylesMap } = useScreenStyles();
|
|
14
|
+
const pointerEvents = useStackPointerEvents();
|
|
13
15
|
|
|
14
16
|
const animatedContentStyle = useAnimatedStyle(() => {
|
|
15
17
|
"worklet";
|
|
@@ -22,12 +24,15 @@ export const RootTransitionAware = memo(({ children }: Props) => {
|
|
|
22
24
|
});
|
|
23
25
|
|
|
24
26
|
return (
|
|
25
|
-
<View style={styles.container}>
|
|
27
|
+
<View style={[styles.container]} pointerEvents={pointerEvents}>
|
|
26
28
|
<Animated.View
|
|
27
29
|
style={[StyleSheet.absoluteFillObject, animatedOverlayStyle]}
|
|
28
30
|
pointerEvents="none"
|
|
29
31
|
/>
|
|
30
|
-
<Animated.View
|
|
32
|
+
<Animated.View
|
|
33
|
+
style={[styles.content, animatedContentStyle]}
|
|
34
|
+
pointerEvents={pointerEvents}
|
|
35
|
+
>
|
|
31
36
|
{children}
|
|
32
37
|
</Animated.View>
|
|
33
38
|
</View>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useStackCoreContext } from "../providers/stack/core.provider";
|
|
2
|
+
import { StackType } from "../types/stack.types";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Hook that returns the appropriate pointer events value based on current stack type.
|
|
6
|
+
*
|
|
7
|
+
* - Component stack: "box-none" (allows touch pass-through to content behind)
|
|
8
|
+
* - Other stacks: undefined (default behavior, view receives touches)
|
|
9
|
+
*
|
|
10
|
+
* Must be used within a StackCoreProvider.
|
|
11
|
+
*/
|
|
12
|
+
export function useStackPointerEvents(): "box-none" | undefined {
|
|
13
|
+
const { flags } = useStackCoreContext();
|
|
14
|
+
return flags.STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined;
|
|
15
|
+
}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
import type { SharedValue } from "react-native-reanimated";
|
|
7
7
|
import { useSharedValue } from "react-native-reanimated";
|
|
8
8
|
import { useBuildGestures } from "../hooks/gestures/use-build-gestures";
|
|
9
|
+
import { useStackPointerEvents } from "../hooks/use-stack-pointer-events";
|
|
9
10
|
import type { GestureStoreMap } from "../stores/gesture.store";
|
|
10
11
|
import createProvider from "../utils/create-provider";
|
|
11
12
|
import { useKeys } from "./screen/keys.provider";
|
|
@@ -41,6 +42,7 @@ export const {
|
|
|
41
42
|
GestureContextType
|
|
42
43
|
>(({ children }) => {
|
|
43
44
|
const { current } = useKeys();
|
|
45
|
+
const pointerEvents = useStackPointerEvents();
|
|
44
46
|
const ancestorContext = useGestureContext();
|
|
45
47
|
const scrollConfig = useSharedValue<ScrollConfig | null>(null);
|
|
46
48
|
|
|
@@ -66,7 +68,9 @@ export const {
|
|
|
66
68
|
value,
|
|
67
69
|
children: (
|
|
68
70
|
<GestureDetector gesture={panGesture}>
|
|
69
|
-
<View style={styles.container}
|
|
71
|
+
<View style={styles.container} pointerEvents={pointerEvents}>
|
|
72
|
+
{children}
|
|
73
|
+
</View>
|
|
70
74
|
</GestureDetector>
|
|
71
75
|
),
|
|
72
76
|
};
|
|
@@ -44,7 +44,12 @@ const { StackCoreProvider: InternalStackCoreProvider, useStackCoreContext } =
|
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
children: (
|
|
47
|
-
<GestureHandlerRootView
|
|
47
|
+
<GestureHandlerRootView
|
|
48
|
+
style={styles.container}
|
|
49
|
+
pointerEvents={
|
|
50
|
+
STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined
|
|
51
|
+
}
|
|
52
|
+
>
|
|
48
53
|
<SafeAreaProviderCompat>{children}</SafeAreaProviderCompat>
|
|
49
54
|
</GestureHandlerRootView>
|
|
50
55
|
),
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ComponentScreenContainer = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
-
const ComponentScreenContainer = ({
|
|
10
|
-
children
|
|
11
|
-
}) => {
|
|
12
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
13
|
-
style: styles.container,
|
|
14
|
-
children: children
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
exports.ComponentScreenContainer = ComponentScreenContainer;
|
|
18
|
-
const styles = _reactNative.StyleSheet.create({
|
|
19
|
-
container: {
|
|
20
|
-
flex: 1
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=component-screen-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_jsxRuntime","ComponentScreenContainer","children","jsx","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAgD,IAAAC,WAAA,GAAAD,OAAA;AAMzC,MAAME,wBAAwB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,oBAAO,IAAAF,WAAA,CAAAG,GAAA,EAACL,YAAA,CAAAM,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAL,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAACM,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAEF,MAAMK,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { StyleSheet, View } from "react-native";
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export const ComponentScreenContainer = ({
|
|
6
|
-
children
|
|
7
|
-
}) => {
|
|
8
|
-
return /*#__PURE__*/_jsx(View, {
|
|
9
|
-
style: styles.container,
|
|
10
|
-
children: children
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
const styles = StyleSheet.create({
|
|
14
|
-
container: {
|
|
15
|
-
flex: 1
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=component-screen-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","jsx","_jsx","ComponentScreenContainer","children","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen-container.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhD,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,oBAAOF,IAAA,CAACF,IAAI;IAACK,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAH,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAED,MAAME,MAAM,GAAGP,UAAU,CAACS,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component-screen-container.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/component-screen-container.tsx"],"names":[],"mappings":"AAEA,UAAU,KAAK;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,wBAAwB,GAAI,cAAc,KAAK,4CAE3D,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { StyleSheet, View } from "react-native";
|
|
2
|
-
|
|
3
|
-
interface Props {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const ComponentScreenContainer = ({ children }: Props) => {
|
|
8
|
-
return <View style={styles.container}>{children}</View>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const styles = StyleSheet.create({
|
|
12
|
-
container: {
|
|
13
|
-
flex: 1,
|
|
14
|
-
},
|
|
15
|
-
});
|