react-native-screen-transitions 3.3.0-rc.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +51 -7
- package/lib/commonjs/blank-stack/components/stack-view.js +2 -1
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js +2 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +2 -1
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +3 -2
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +46 -9
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +7 -7
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +23 -3
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container.js +2 -1
- package/lib/commonjs/shared/components/screen-container.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +7 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +12 -12
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +5 -2
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +20 -0
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +2 -6
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +4 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +17 -6
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +7 -5
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles.provider.js +1 -6
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +2 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +9 -2
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +11 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -2
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/commonjs/shared/utils/overlay/visibility.js +19 -0
- package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +2 -1
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.native.js +2 -1
- package/lib/module/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +2 -1
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +4 -2
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +47 -11
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -7
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/screen-overlay.js +24 -5
- package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/module/shared/components/screen-container.js +2 -1
- package/lib/module/shared/components/screen-container.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +7 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +12 -12
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js +5 -2
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +17 -0
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -6
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +4 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +17 -6
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/layout-anchor.provider.js +7 -5
- package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/styles.provider.js +1 -6
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +2 -1
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +2 -1
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/utils/gesture/determine-snap-target.js +9 -2
- package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js +11 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/module/shared/utils/gesture/validate-snap-points.js +11 -2
- package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/module/shared/utils/overlay/visibility.js +12 -0
- package/lib/module/shared/utils/overlay/visibility.js.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -0
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +7 -0
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +16 -1
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
- package/lib/typescript/shared/utils/overlay/visibility.d.ts +11 -0
- package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -0
- package/package.json +8 -2
- package/src/blank-stack/components/stack-view.native.tsx +2 -1
- package/src/blank-stack/components/stack-view.tsx +2 -1
- package/src/component-stack/components/stack-view.tsx +2 -1
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +3 -2
- package/src/shared/components/overlay/variations/float-overlay.tsx +53 -8
- package/src/shared/components/overlay/variations/overlay-host.tsx +16 -6
- package/src/shared/components/overlay/variations/screen-overlay.tsx +35 -3
- package/src/shared/components/screen-container.tsx +15 -9
- package/src/shared/hooks/gestures/use-build-gestures.tsx +5 -1
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +10 -6
- package/src/shared/hooks/lifecycle/use-close-transition.ts +6 -3
- package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +19 -0
- package/src/shared/hooks/navigation/use-screen-state.tsx +4 -7
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +4 -1
- package/src/shared/providers/gestures.provider.tsx +49 -22
- package/src/shared/providers/layout-anchor.provider.tsx +28 -25
- package/src/shared/providers/screen/styles.provider.tsx +1 -7
- package/src/shared/providers/stack/direct.provider.tsx +2 -2
- package/src/shared/providers/stack/managed.provider.tsx +2 -2
- package/src/shared/types/screen.types.ts +17 -1
- package/src/shared/utils/gesture/determine-snap-target.ts +15 -4
- package/src/shared/utils/gesture/find-collapse-target.ts +11 -1
- package/src/shared/utils/gesture/validate-snap-points.ts +15 -2
- package/src/shared/utils/overlay/visibility.ts +23 -0
|
@@ -18,7 +18,17 @@ var _constants = require("../../constants");
|
|
|
18
18
|
function findCollapseTarget(currentProgress, snapPoints, canDismiss) {
|
|
19
19
|
"worklet";
|
|
20
20
|
|
|
21
|
-
const
|
|
21
|
+
const normalized = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
|
|
22
|
+
if (normalized.length === 0) {
|
|
23
|
+
return canDismiss ? {
|
|
24
|
+
target: 0,
|
|
25
|
+
shouldDismiss: true
|
|
26
|
+
} : {
|
|
27
|
+
target: currentProgress,
|
|
28
|
+
shouldDismiss: false
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const sorted = [...normalized].sort((a, b) => a - b);
|
|
22
32
|
const minSnap = sorted[0];
|
|
23
33
|
|
|
24
34
|
// Find next lower snap point
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","findCollapseTarget","currentProgress","snapPoints","canDismiss","
|
|
1
|
+
{"version":3,"names":["_constants","require","findCollapseTarget","currentProgress","snapPoints","canDismiss","normalized","filter","point","Number","isFinite","length","target","shouldDismiss","sorted","sort","a","b","minSnap","i","EPSILON"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/find-collapse-target.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CACjCC,eAAuB,EACvBC,UAAoB,EACpBC,UAAmB,EACQ;EAC3B,SAAS;;EAET,MAAMC,UAAU,GAAGF,UAAU,CAACG,MAAM,CAAEC,KAAK,IAC1CH,UAAU,GAAGI,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAON,UAAU,GACd;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC,GAClC;MAAED,MAAM,EAAET,eAAe;MAAEU,aAAa,EAAE;IAAM,CAAC;EACrD;EAEA,MAAMC,MAAM,GAAG,CAAC,GAAGR,UAAU,CAAC,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACpD,MAAMC,OAAO,GAAGJ,MAAM,CAAC,CAAC,CAAC;;EAEzB;EACA,KAAK,IAAIK,CAAC,GAAGL,MAAM,CAACH,MAAM,GAAG,CAAC,EAAEQ,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC5C,IAAIL,MAAM,CAACK,CAAC,CAAC,GAAGhB,eAAe,GAAGiB,kBAAO,EAAE;MAC1C,OAAO;QAAER,MAAM,EAAEE,MAAM,CAACK,CAAC,CAAC;QAAEN,aAAa,EAAE;MAAM,CAAC;IACnD;EACD;;EAEA;EACA,IAAIR,UAAU,EAAE;IACf,OAAO;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC;EAC1C;;EAEA;EACA,OAAO;IAAED,MAAM,EAAEM,OAAO;IAAEL,aAAa,EAAE;EAAM,CAAC;AACjD","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ const validateSnapPoints = ({
|
|
|
8
8
|
snapPoints,
|
|
9
9
|
canDismiss
|
|
10
10
|
}) => {
|
|
11
|
-
if (!snapPoints) {
|
|
11
|
+
if (!snapPoints || snapPoints.length === 0) {
|
|
12
12
|
return {
|
|
13
13
|
hasSnapPoints: false,
|
|
14
14
|
snapPoints: [],
|
|
@@ -16,7 +16,16 @@ const validateSnapPoints = ({
|
|
|
16
16
|
maxSnapPoint: -1
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
const
|
|
19
|
+
const normalizedSnaps = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
|
|
20
|
+
if (normalizedSnaps.length === 0) {
|
|
21
|
+
return {
|
|
22
|
+
hasSnapPoints: false,
|
|
23
|
+
snapPoints: [],
|
|
24
|
+
minSnapPoint: -1,
|
|
25
|
+
maxSnapPoint: -1
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const sortedSnaps = normalizedSnaps.slice().sort((a, b) => a - b);
|
|
20
29
|
// Clamp to snap point bounds (dismiss at 0 only if allowed)
|
|
21
30
|
const minProgress = canDismiss ? 0 : sortedSnaps[0];
|
|
22
31
|
const maxProgress = sortedSnaps[sortedSnaps.length - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","hasSnapPoints","minSnapPoint","maxSnapPoint","sortedSnaps","slice","sort","a","b","minProgress","maxProgress","
|
|
1
|
+
{"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","length","hasSnapPoints","minSnapPoint","maxSnapPoint","normalizedSnaps","filter","point","Number","isFinite","sortedSnaps","slice","sort","a","b","minProgress","maxProgress","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/validate-snap-points.ts"],"mappings":";;;;;;AAYO,MAAMA,kBAAkB,GAAGA,CAAC;EAClCC,UAAU;EACVC;AAC0B,CAAC,KAA+B;EAC1D,IAAI,CAACD,UAAU,IAAIA,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3C,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMC,eAAe,GAAGN,UAAU,CAACO,MAAM,CAAEC,KAAK,IAC/CP,UAAU,GAAGQ,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,eAAe,CAACJ,MAAM,KAAK,CAAC,EAAE;IACjC,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMM,WAAW,GAAGL,eAAe,CAACM,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACjE;EACA,MAAMC,WAAW,GAAGf,UAAU,GAAG,CAAC,GAAGU,WAAW,CAAC,CAAC,CAAC;EACnD,MAAMM,WAAW,GAAGN,WAAW,CAACA,WAAW,CAACT,MAAM,GAAG,CAAC,CAAC;EAEvD,OAAO;IACNC,aAAa,EAAE,IAAI;IACnBH,UAAU,EAAEW,WAAW;IACvBP,YAAY,EAAEY,WAAW;IACzBX,YAAY,EAAEY;EACf,CAAC;AACF,CAAC;AAACC,OAAA,CAAAnB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isScreenOverlayVisible = exports.isOverlayVisible = exports.isFloatOverlayVisible = void 0;
|
|
7
|
+
const isOverlayVisible = options => {
|
|
8
|
+
return Boolean(options?.overlay) && options?.overlayShown !== false;
|
|
9
|
+
};
|
|
10
|
+
exports.isOverlayVisible = isOverlayVisible;
|
|
11
|
+
const isFloatOverlayVisible = options => {
|
|
12
|
+
return isOverlayVisible(options) && options?.overlayMode !== "screen";
|
|
13
|
+
};
|
|
14
|
+
exports.isFloatOverlayVisible = isFloatOverlayVisible;
|
|
15
|
+
const isScreenOverlayVisible = options => {
|
|
16
|
+
return isOverlayVisible(options) && options?.overlayMode === "screen";
|
|
17
|
+
};
|
|
18
|
+
exports.isScreenOverlayVisible = isScreenOverlayVisible;
|
|
19
|
+
//# sourceMappingURL=visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isOverlayVisible","options","Boolean","overlay","overlayShown","exports","isFloatOverlayVisible","overlayMode","isScreenOverlayVisible"],"sourceRoot":"../../../../../src","sources":["shared/utils/overlay/visibility.ts"],"mappings":";;;;;;AAQO,MAAMA,gBAAgB,GAAIC,OAA4B,IAAc;EAC1E,OAAOC,OAAO,CAACD,OAAO,EAAEE,OAAO,CAAC,IAAIF,OAAO,EAAEG,YAAY,KAAK,KAAK;AACpE,CAAC;AAACC,OAAA,CAAAL,gBAAA,GAAAA,gBAAA;AAEK,MAAMM,qBAAqB,GACjCL,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEM,WAAW,KAAK,QAAQ;AACtE,CAAC;AAACF,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEK,MAAME,sBAAsB,GAClCP,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEM,WAAW,KAAK,QAAQ;AACtE,CAAC;AAACF,OAAA,CAAAG,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { Overlay } from "../../shared/components/overlay";
|
|
|
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 { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
function isFabric() {
|
|
14
15
|
return "nativeFabricUIManager" in global;
|
|
@@ -25,7 +26,7 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
25
26
|
value: navigation,
|
|
26
27
|
children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
|
|
27
28
|
value: route,
|
|
28
|
-
children: [descriptor.options
|
|
29
|
+
children: [isScreenOverlayVisible(descriptor.options) && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
29
30
|
})
|
|
30
31
|
});
|
|
31
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","isScreenOverlayVisible","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { Overlay } from "../../shared/components/overlay";
|
|
|
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 { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
function isFabric() {
|
|
14
15
|
return "nativeFabricUIManager" in global;
|
|
@@ -25,7 +26,7 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
25
26
|
value: navigation,
|
|
26
27
|
children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
|
|
27
28
|
value: route,
|
|
28
|
-
children: [descriptor.options
|
|
29
|
+
children: [isScreenOverlayVisible(descriptor.options) && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
29
30
|
})
|
|
30
31
|
});
|
|
31
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","isScreenOverlayVisible","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
|
8
8
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
9
9
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
10
10
|
import { StackType } from "../../shared/types/stack.types";
|
|
11
|
+
import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
|
|
11
12
|
import { ComponentScreen } from "./component-screen";
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
@@ -22,7 +23,7 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
22
23
|
value: navigation,
|
|
23
24
|
children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
|
|
24
25
|
value: route,
|
|
25
|
-
children: [descriptor.options
|
|
26
|
+
children: [isScreenOverlayVisible(descriptor.options) && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
26
27
|
})
|
|
27
28
|
});
|
|
28
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ScreenComposer","withStackCore","withManagedStack","StackType","ComponentScreen","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ScreenComposer","withStackCore","withManagedStack","StackType","isScreenOverlayVisible","ComponentScreen","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","Screen","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","routeKey","key","previous","current","next"],"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,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,sBAAsB,QAAQ,uCAAuC;AAK9E,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,GAC5Cd,sBAAsB,CAACQ,UAAU,CAACO,OAAO,CAAC,iBAAIZ,IAAA,CAACR,OAAO,CAACqB,MAAM,IAAE,CAAC,EAChEL,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMM,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,oBACCjB,KAAA,CAACX,QAAQ;IAAAoB,QAAA,GACPQ,sBAAsB,gBAAGnB,IAAA,CAACR,OAAO,CAAC4B,KAAK,IAAE,CAAC,GAAG,IAAI,EAEjDF,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;MAClC,MAAMlB,UAAU,GAAGiB,KAAK,CAACjB,UAAU;MACnC,MAAMC,KAAK,GAAGgB,KAAK,CAAChB,KAAK;MAEzB,MAAMkB,kBAAkB,GACvBN,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAElB,UAAU,IAAIoB,SAAS;MAChD,MAAMC,cAAc,GACnBR,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAElB,UAAU,IAAIoB,SAAS;MAEhD,oBACCzB,IAAA,CAACF,eAAe;QAAiB6B,QAAQ,EAAErB,KAAK,CAACsB,GAAI;QAAAjB,QAAA,eACpDX,IAAA,CAACP,cAAc;UACdoC,QAAQ,EAAEL,kBAAmB;UAC7BM,OAAO,EAAEzB,UAAW;UACpB0B,IAAI,EAAEL,cAAe;UAAAf,QAAA,eAErBX,IAAA,CAACG,SAAS;YAAiBE,UAAU,EAAEA;UAAW,GAAlCC,KAAK,CAACsB,GAA8B;QAAC,CACtC;MAAC,GAPItB,KAAK,CAACsB,GAQX,CAAC;IAEpB,CAAC,CAAC;EAAA,CACO,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { isFloatOverlayVisible } from "../../../utils/overlay/visibility";
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Find the active float overlay from scenes.
|
|
5
7
|
* Scans from the top of the stack downward to find the first screen
|
|
6
|
-
* with
|
|
8
|
+
* with a visible overlay that isn't explicitly set to legacy screen mode.
|
|
7
9
|
*/
|
|
8
10
|
export function getActiveFloatOverlay(scenes, index, transitionsAlwaysOn) {
|
|
9
11
|
if (scenes.length === 0) {
|
|
@@ -23,7 +25,7 @@ export function getActiveFloatOverlay(scenes, index, transitionsAlwaysOn) {
|
|
|
23
25
|
if (!transitionsAlwaysOn && !options?.enableTransitions) {
|
|
24
26
|
continue;
|
|
25
27
|
}
|
|
26
|
-
if (options
|
|
28
|
+
if (isFloatOverlayVisible(options)) {
|
|
27
29
|
return {
|
|
28
30
|
scene,
|
|
29
31
|
overlayIndex: i
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getActiveFloatOverlay","scenes","index","transitionsAlwaysOn","length","startIndex","Math","max","i","scene","options","descriptor","enableTransitions","
|
|
1
|
+
{"version":3,"names":["isFloatOverlayVisible","getActiveFloatOverlay","scenes","index","transitionsAlwaysOn","length","startIndex","Math","max","i","scene","options","descriptor","enableTransitions","overlayIndex"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/helpers/get-active-overlay.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,mCAAmC;;AAEzE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACpCC,MAAoB,EACpBC,KAAa,EACbC,mBAA4B,EACyB;EACrD,IAAIF,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA;EACA;EACA,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACL,KAAK,EAAED,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC;EAErD,KAAK,IAAII,CAAC,GAAGH,UAAU,EAAEG,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IACrC,MAAMC,KAAK,GAAGR,MAAM,CAACO,CAAC,CAAC;IACvB,MAAME,OAAO,GAAGD,KAAK,EAAEE,UAAU,EAAED,OAAO;;IAE1C;IACA,IAAI,CAACP,mBAAmB,IAAI,CAACO,OAAO,EAAEE,iBAAiB,EAAE;MACxD;IACD;IAEA,IAAIb,qBAAqB,CAACW,OAAO,CAAC,EAAE;MACnC,OAAO;QAAED,KAAK;QAAEI,YAAY,EAAEL;MAAE,CAAC;IAClC;EACD;EAEA,OAAO,IAAI;AACZ","ignoreList":[]}
|
|
@@ -1,41 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
+
import { snapDescriptorToIndex } from "../../../animation/snap-to";
|
|
5
|
+
import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
|
|
4
6
|
import { useStack } from "../../../hooks/navigation/use-stack";
|
|
5
7
|
import { KeysProvider } from "../../../providers/screen/keys.provider";
|
|
6
8
|
import { ScreenStylesProvider } from "../../../providers/screen/styles.provider";
|
|
7
9
|
import { getActiveFloatOverlay } from "../helpers/get-active-overlay";
|
|
8
10
|
import { OverlayHost } from "./overlay-host";
|
|
9
|
-
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
12
|
/**
|
|
11
13
|
* Float overlay component that renders above all screens.
|
|
12
14
|
* Gets routes and descriptors from stack context.
|
|
13
15
|
*/
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
16
|
export function FloatOverlay() {
|
|
16
17
|
const {
|
|
17
18
|
scenes,
|
|
18
|
-
|
|
19
|
-
flags
|
|
19
|
+
optimisticFocusedIndex,
|
|
20
|
+
flags,
|
|
21
|
+
routes,
|
|
22
|
+
routeKeys
|
|
20
23
|
} = useStack();
|
|
24
|
+
const focusedIndex = useOptimisticFocusedIndex(optimisticFocusedIndex, routeKeys.length);
|
|
21
25
|
const activeOverlay = useMemo(() => getActiveFloatOverlay(scenes, focusedIndex, flags.TRANSITIONS_ALWAYS_ON), [scenes, focusedIndex, flags.TRANSITIONS_ALWAYS_ON]);
|
|
22
|
-
|
|
26
|
+
const overlayData = useMemo(() => {
|
|
27
|
+
if (!activeOverlay) return null;
|
|
28
|
+
const {
|
|
29
|
+
scene,
|
|
30
|
+
overlayIndex
|
|
31
|
+
} = activeOverlay;
|
|
32
|
+
const previous = scenes[overlayIndex - 1]?.descriptor;
|
|
33
|
+
const current = scene.descriptor;
|
|
34
|
+
const next = scenes[overlayIndex + 1]?.descriptor;
|
|
35
|
+
const focusedScene = scenes[focusedIndex] ?? scenes[scenes.length - 1];
|
|
36
|
+
const focusedDescriptor = focusedScene?.descriptor;
|
|
37
|
+
const overlayScreenState = {
|
|
38
|
+
index: routeKeys.indexOf(current.route.key),
|
|
39
|
+
options: focusedDescriptor?.options ?? {},
|
|
40
|
+
routes,
|
|
41
|
+
focusedRoute: focusedScene?.route ?? current.route,
|
|
42
|
+
focusedIndex,
|
|
43
|
+
meta: focusedDescriptor?.options?.meta,
|
|
44
|
+
navigation: current.navigation,
|
|
45
|
+
snapTo: index => {
|
|
46
|
+
snapDescriptorToIndex(current, index);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
scene,
|
|
51
|
+
previous,
|
|
52
|
+
current,
|
|
53
|
+
next,
|
|
54
|
+
overlayScreenState
|
|
55
|
+
};
|
|
56
|
+
}, [activeOverlay, scenes, focusedIndex, routeKeys, routes]);
|
|
57
|
+
if (!overlayData) {
|
|
23
58
|
return null;
|
|
24
59
|
}
|
|
25
60
|
const {
|
|
26
61
|
scene,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
62
|
+
previous,
|
|
63
|
+
current,
|
|
64
|
+
next,
|
|
65
|
+
overlayScreenState
|
|
66
|
+
} = overlayData;
|
|
32
67
|
return /*#__PURE__*/_jsx(KeysProvider, {
|
|
33
68
|
current: current,
|
|
34
69
|
previous: previous,
|
|
35
70
|
next: next,
|
|
36
71
|
children: /*#__PURE__*/_jsx(ScreenStylesProvider, {
|
|
37
72
|
children: /*#__PURE__*/_jsx(OverlayHost, {
|
|
38
|
-
scene: scene
|
|
73
|
+
scene: scene,
|
|
74
|
+
overlayScreenState: overlayScreenState
|
|
39
75
|
})
|
|
40
76
|
})
|
|
41
77
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useStack","KeysProvider","ScreenStylesProvider","getActiveFloatOverlay","OverlayHost","jsx","_jsx","FloatOverlay","scenes","
|
|
1
|
+
{"version":3,"names":["useMemo","snapDescriptorToIndex","useOptimisticFocusedIndex","useStack","KeysProvider","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"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/float-overlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,16 +6,15 @@ import { Animated, StyleSheet, useWindowDimensions, View } from "react-native";
|
|
|
6
6
|
import { useDerivedValue } from "react-native-reanimated";
|
|
7
7
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
8
8
|
import { useScreenAnimation } from "../../../hooks/animation/use-screen-animation";
|
|
9
|
-
import { useScreenState } from "../../../hooks/navigation/use-screen-state";
|
|
10
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
10
|
export const OverlayHost = /*#__PURE__*/memo(function OverlayHost({
|
|
12
|
-
scene
|
|
11
|
+
scene,
|
|
12
|
+
overlayScreenState
|
|
13
13
|
}) {
|
|
14
14
|
const OverlayComponent = scene.descriptor.options.overlay;
|
|
15
15
|
const screen = useWindowDimensions();
|
|
16
16
|
const insets = useSafeAreaInsets();
|
|
17
17
|
const screenAnimation = useScreenAnimation();
|
|
18
|
-
const screenState = useScreenState();
|
|
19
18
|
const relativeProgress = useDerivedValue(() => {
|
|
20
19
|
"worklet";
|
|
21
20
|
|
|
@@ -29,12 +28,13 @@ export const OverlayHost = /*#__PURE__*/memo(function OverlayHost({
|
|
|
29
28
|
insets
|
|
30
29
|
}));
|
|
31
30
|
const overlayProps = useMemo(() => ({
|
|
32
|
-
...
|
|
31
|
+
...overlayScreenState,
|
|
33
32
|
progress: relativeProgress,
|
|
33
|
+
/**@deprecated */
|
|
34
34
|
overlayAnimation,
|
|
35
|
-
|
|
36
|
-
screenAnimation
|
|
37
|
-
}), [relativeProgress, overlayAnimation, screenAnimation,
|
|
35
|
+
/**@deprecated */
|
|
36
|
+
screenAnimation
|
|
37
|
+
}), [relativeProgress, overlayAnimation, screenAnimation, overlayScreenState]);
|
|
38
38
|
if (!OverlayComponent) {
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","memo","useMemo","Animated","StyleSheet","useWindowDimensions","View","useDerivedValue","useSafeAreaInsets","useScreenAnimation","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","memo","useMemo","Animated","StyleSheet","useWindowDimensions","View","useDerivedValue","useSafeAreaInsets","useScreenAnimation","jsx","_jsx","OverlayHost","scene","overlayScreenState","OverlayComponent","descriptor","options","overlay","screen","insets","screenAnimation","relativeProgress","value","stackProgress","overlayAnimation","progress","layouts","overlayProps","pointerEvents","style","styles","container","floating","absolute","children","Provider","navigation","route","create","absoluteFillObject","zIndex","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/overlay-host.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAC9E,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,kBAAkB,QAAQ,+CAA+C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBnF,OAAO,MAAMC,WAAW,gBAAGX,IAAI,CAAC,SAASW,WAAWA,CAAC;EACpDC,KAAK;EACLC;AACiB,CAAC,EAAE;EACpB,MAAMC,gBAAgB,GAAGF,KAAK,CAACG,UAAU,CAACC,OAAO,CAACC,OAAO;EACzD,MAAMC,MAAM,GAAGd,mBAAmB,CAAC,CAAC;EACpC,MAAMe,MAAM,GAAGZ,iBAAiB,CAAC,CAAC;EAElC,MAAMa,eAAe,GAAGZ,kBAAkB,CAAC,CAAC;EAC5C,MAAMa,gBAAgB,GAAGf,eAAe,CAAC,MAAM;IAC9C,SAAS;;IACT,OAAOc,eAAe,CAACE,KAAK,CAACC,aAAa;EAC3C,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GAAGlB,eAAe,CAA4B,OAAO;IAC1EmB,QAAQ,EAAEJ,gBAAgB,CAACC,KAAK;IAChCI,OAAO,EAAE;MAAER;IAAO,CAAC;IACnBC;EACD,CAAC,CAAC,CAAC;EAEH,MAAMQ,YAAwD,GAAG1B,OAAO,CACvE,OAAO;IACN,GAAGY,kBAAkB;IACrBY,QAAQ,EAAEJ,gBAAgB;IAC1B;IACAG,gBAAgB;IAChB;IACAJ;EACD,CAAC,CAAC,EACF,CAACC,gBAAgB,EAAEG,gBAAgB,EAAEJ,eAAe,EAAEP,kBAAkB,CACzE,CAAC;EAED,IAAI,CAACC,gBAAgB,EAAE;IACtB,OAAO,IAAI;EACZ;EAEA,oBACCJ,IAAA,CAACR,QAAQ,CAACG,IAAI;IACbuB,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAED,MAAM,CAACE,QAAQ,EAAEF,MAAM,CAACG,QAAQ,CAAE;IAAAC,QAAA,eAE5DxB,IAAA,CAACZ,iBAAiB,CAACqC,QAAQ;MAACb,KAAK,EAAEV,KAAK,CAACG,UAAU,CAACqB,UAAkB;MAAAF,QAAA,eACrExB,IAAA,CAACX,sBAAsB,CAACoC,QAAQ;QAACb,KAAK,EAAEV,KAAK,CAACyB,KAAM;QAAAH,QAAA,eACnDxB,IAAA,CAACL,IAAI;UAACuB,aAAa,EAAC,UAAU;UAACC,KAAK,EAAEC,MAAM,CAACb,OAAQ;UAAAiB,QAAA,eACpDxB,IAAA,CAACI,gBAAgB;YAAA,GAAKa;UAAY,CAAG;QAAC,CACjC;MAAC,CACyB;IAAC,CACP;EAAC,CACf,CAAC;AAElB,CAAC,CAAC;AAEF,MAAMG,MAAM,GAAG3B,UAAU,CAACmC,MAAM,CAAC;EAChCrB,OAAO,EAAE;IACR,GAAGd,UAAU,CAACoC,kBAAkB;IAChCC,MAAM,EAAE;EACT,CAAC;EACDT,SAAS,EAAE;IACVU,IAAI,EAAE;EACP,CAAC;EACDR,QAAQ,EAAE9B,UAAU,CAACoC,kBAAkB;EACvCP,QAAQ,EAAE;IACTQ,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
+
import { snapDescriptorToIndex } from "../../../animation/snap-to";
|
|
5
|
+
import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
|
|
4
6
|
import { useStack } from "../../../hooks/navigation/use-stack";
|
|
5
7
|
import { useKeys } from "../../../providers/screen/keys.provider";
|
|
8
|
+
import { isScreenOverlayVisible } from "../../../utils/overlay/visibility";
|
|
6
9
|
import { OverlayHost } from "./overlay-host";
|
|
7
|
-
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
11
|
/**
|
|
9
12
|
* Screen overlay component that renders per-screen.
|
|
10
13
|
* Gets current descriptor from keys context.
|
|
@@ -13,29 +16,45 @@ import { OverlayHost } from "./overlay-host";
|
|
|
13
16
|
* absolute-positioned view directly in your screen component and use `useScreenAnimation()`
|
|
14
17
|
* to access animation values. This component will be removed in a future version.
|
|
15
18
|
*/
|
|
16
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
19
|
export function ScreenOverlay() {
|
|
18
20
|
const {
|
|
19
21
|
current
|
|
20
22
|
} = useKeys();
|
|
21
23
|
const {
|
|
22
|
-
flags
|
|
24
|
+
flags,
|
|
25
|
+
routes,
|
|
26
|
+
optimisticFocusedIndex,
|
|
27
|
+
routeKeys
|
|
23
28
|
} = useStack();
|
|
29
|
+
const focusedIndex = useOptimisticFocusedIndex(optimisticFocusedIndex, routeKeys.length);
|
|
24
30
|
const options = current.options;
|
|
25
31
|
const scene = useMemo(() => ({
|
|
26
32
|
descriptor: current,
|
|
27
33
|
route: current.route
|
|
28
34
|
}), [current]);
|
|
35
|
+
const overlayScreenState = useMemo(() => ({
|
|
36
|
+
index: routeKeys.indexOf(current.route.key),
|
|
37
|
+
options: current.options,
|
|
38
|
+
routes,
|
|
39
|
+
focusedRoute: routes[focusedIndex] ?? current.route,
|
|
40
|
+
focusedIndex,
|
|
41
|
+
meta: current.options?.meta,
|
|
42
|
+
navigation: current.navigation,
|
|
43
|
+
snapTo: index => {
|
|
44
|
+
snapDescriptorToIndex(current, index);
|
|
45
|
+
}
|
|
46
|
+
}), [current, routeKeys, routes, focusedIndex]);
|
|
29
47
|
|
|
30
48
|
// Skip screens without enableTransitions (native-stack only)
|
|
31
49
|
if (!flags.TRANSITIONS_ALWAYS_ON && !options.enableTransitions) {
|
|
32
50
|
return null;
|
|
33
51
|
}
|
|
34
|
-
if (!options
|
|
52
|
+
if (!isScreenOverlayVisible(options)) {
|
|
35
53
|
return null;
|
|
36
54
|
}
|
|
37
55
|
return /*#__PURE__*/_jsx(OverlayHost, {
|
|
38
|
-
scene: scene
|
|
56
|
+
scene: scene,
|
|
57
|
+
overlayScreenState: overlayScreenState
|
|
39
58
|
});
|
|
40
59
|
}
|
|
41
60
|
//# sourceMappingURL=screen-overlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useStack","useKeys","OverlayHost","jsx","_jsx","ScreenOverlay","current","flags","options","scene","descriptor","route","
|
|
1
|
+
{"version":3,"names":["useMemo","snapDescriptorToIndex","useOptimisticFocusedIndex","useStack","useKeys","isScreenOverlayVisible","OverlayHost","jsx","_jsx","ScreenOverlay","current","flags","routes","optimisticFocusedIndex","routeKeys","focusedIndex","length","options","scene","descriptor","route","overlayScreenState","index","indexOf","key","focusedRoute","meta","navigation","snapTo","TRANSITIONS_ALWAYS_ON","enableTransitions"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/screen-overlay.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,yBAAyB,QAAQ,wDAAwD;AAClG,SAGCC,QAAQ,QACF,qCAAqC;AAC5C,SAASC,OAAO,QAAQ,yCAAyC;AAEjE,SAASC,sBAAsB,QAAQ,mCAAmC;AAC1E,SAASC,WAAW,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC/B,MAAM;IAAEC;EAAQ,CAAC,GAAGN,OAAO,CAAkB,CAAC;EAC9C,MAAM;IAAEO,KAAK;IAAEC,MAAM;IAAEC,sBAAsB;IAAEC;EAAU,CAAC,GAAGX,QAAQ,CAAC,CAAC;EACvE,MAAMY,YAAY,GAAGb,yBAAyB,CAC7CW,sBAAsB,EACtBC,SAAS,CAACE,MACX,CAAC;EAED,MAAMC,OAAO,GAAGP,OAAO,CAACO,OAAO;EAE/B,MAAMC,KAAK,GAAGlB,OAAO,CACpB,OAAO;IACNmB,UAAU,EAAET,OAAO;IACnBU,KAAK,EAAEV,OAAO,CAACU;EAChB,CAAC,CAAC,EACF,CAACV,OAAO,CACT,CAAC;EAED,MAAMW,kBAAkB,GAAGrB,OAAO,CACjC,OAAO;IACNsB,KAAK,EAAER,SAAS,CAACS,OAAO,CAACb,OAAO,CAACU,KAAK,CAACI,GAAG,CAAC;IAC3CP,OAAO,EAAEP,OAAO,CAACO,OAAO;IACxBL,MAAM;IACNa,YAAY,EAAEb,MAAM,CAACG,YAAY,CAAC,IAAIL,OAAO,CAACU,KAAK;IACnDL,YAAY;IACZW,IAAI,EAAEhB,OAAO,CAACO,OAAO,EAAES,IAAI;IAC3BC,UAAU,EAAEjB,OAAO,CAACiB,UAAU;IAC9BC,MAAM,EAAGN,KAAa,IAAK;MAC1BrB,qBAAqB,CAACS,OAAO,EAAEY,KAAK,CAAC;IACtC;EACD,CAAC,CAAC,EACF,CAACZ,OAAO,EAAEI,SAAS,EAAEF,MAAM,EAAEG,YAAY,CAC1C,CAAC;;EAED;EACA,IAAI,CAACJ,KAAK,CAACkB,qBAAqB,IAAI,CAACZ,OAAO,CAACa,iBAAiB,EAAE;IAC/D,OAAO,IAAI;EACZ;EAEA,IAAI,CAACzB,sBAAsB,CAACY,OAAO,CAAC,EAAE;IACrC,OAAO,IAAI;EACZ;EAEA,oBAAOT,IAAA,CAACF,WAAW;IAACY,KAAK,EAAEA,KAAM;IAACG,kBAAkB,EAAEA;EAAmB,CAAE,CAAC;AAC7E","ignoreList":[]}
|
|
@@ -31,6 +31,7 @@ export const ScreenContainer = /*#__PURE__*/memo(({
|
|
|
31
31
|
backdropBehavior
|
|
32
32
|
} = useBackdropPointerEvents();
|
|
33
33
|
const gestureContext = useGestureContext();
|
|
34
|
+
const BackdropComponent = current.options.backdropComponent;
|
|
34
35
|
const isBackdropActive = backdropBehavior === "dismiss" || backdropBehavior === "collapse";
|
|
35
36
|
const handleDismiss = useCallback(() => {
|
|
36
37
|
const state = current.navigation.getState();
|
|
@@ -94,7 +95,7 @@ export const ScreenContainer = /*#__PURE__*/memo(({
|
|
|
94
95
|
return /*#__PURE__*/_jsxs(View, {
|
|
95
96
|
style: styles.container,
|
|
96
97
|
pointerEvents: pointerEvents,
|
|
97
|
-
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
98
|
+
children: [BackdropComponent ? /*#__PURE__*/_jsx(BackdropComponent, {}) : /*#__PURE__*/_jsx(Pressable, {
|
|
98
99
|
style: StyleSheet.absoluteFillObject,
|
|
99
100
|
pointerEvents: isBackdropActive ? "auto" : "none",
|
|
100
101
|
onPress: isBackdropActive ? handleBackdropPress : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackActions","memo","useCallback","Pressable","StyleSheet","View","GestureDetector","Animated","runOnUI","useAnimatedStyle","DefaultSnapSpec","NO_STYLES","useBackdropPointerEvents","useGestureContext","useKeys","useScreenStyles","AnimationStore","GestureStore","animateToProgress","findCollapseTarget","jsx","_jsx","jsxs","_jsxs","ScreenContainer","children","stylesMap","current","pointerEvents","backdropBehavior","gestureContext","isBackdropActive","handleDismiss","state","navigation","getState","dispatch","pop","source","route","key","target","handleBackdropPress","snapPoints","
|
|
1
|
+
{"version":3,"names":["StackActions","memo","useCallback","Pressable","StyleSheet","View","GestureDetector","Animated","runOnUI","useAnimatedStyle","DefaultSnapSpec","NO_STYLES","useBackdropPointerEvents","useGestureContext","useKeys","useScreenStyles","AnimationStore","GestureStore","animateToProgress","findCollapseTarget","jsx","_jsx","jsxs","_jsxs","ScreenContainer","children","stylesMap","current","pointerEvents","backdropBehavior","gestureContext","BackdropComponent","options","backdropComponent","isBackdropActive","handleDismiss","state","navigation","getState","dispatch","pop","source","route","key","target","handleBackdropPress","snapPoints","canDismiss","gestureEnabled","length","animations","getAll","gestures","getRouteGestures","transitionSpec","shouldDismiss","progress","value","isDismissing","spec","open","expand","close","collapse","onAnimationFinish","undefined","animatedContentStyle","contentStyle","animatedBackdropStyle","backdropStyle","overlayStyle","style","styles","container","absoluteFillObject","onPress","gesture","panGesture","content","create","flex"],"sourceRoot":"../../../../src","sources":["shared/components/screen-container.tsx"],"mappings":";;AAAA;AACA,SAASA,YAAY,QAAQ,0BAA0B;AACvD,SAASC,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IAAIC,OAAO,EAAEC,gBAAgB,QAAQ,yBAAyB;AAC7E,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,eAAe,QAAQ,qCAAqC;AACrE,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,iBAAiB,QAAQ,wCAAwC;AAC1E,SAASC,kBAAkB,QAAQ,uCAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM3E,OAAO,MAAMC,eAAe,gBAAGvB,IAAI,CAAC,CAAC;EAAEwB;AAAgB,CAAC,KAAK;EAC5D,MAAM;IAAEC;EAAU,CAAC,GAAGX,eAAe,CAAC,CAAC;EACvC,MAAM;IAAEY;EAAQ,CAAC,GAAGb,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEc,aAAa;IAAEC;EAAiB,CAAC,GAAGjB,wBAAwB,CAAC,CAAC;EACtE,MAAMkB,cAAc,GAAGjB,iBAAiB,CAAC,CAAC;EAE1C,MAAMkB,iBAAiB,GAAGJ,OAAO,CAACK,OAAO,CAACC,iBAAiB;EAE3D,MAAMC,gBAAgB,GACrBL,gBAAgB,KAAK,SAAS,IAAIA,gBAAgB,KAAK,UAAU;EAElE,MAAMM,aAAa,GAAGjC,WAAW,CAAC,MAAM;IACvC,MAAMkC,KAAK,GAAGT,OAAO,CAACU,UAAU,CAACC,QAAQ,CAAC,CAAC;IAC3CX,OAAO,CAACU,UAAU,CAACE,QAAQ,CAAC;MAC3B,GAAGvC,YAAY,CAACwC,GAAG,CAAC,CAAC;MACrBC,MAAM,EAAEd,OAAO,CAACe,KAAK,CAACC,GAAG;MACzBC,MAAM,EAAER,KAAK,CAACO;IACf,CAAC,CAAC;EACH,CAAC,EAAE,CAAChB,OAAO,CAAC,CAAC;EAEb,MAAMkB,mBAAmB,GAAG3C,WAAW,CAAC,MAAM;IAC7C,IAAI2B,gBAAgB,KAAK,SAAS,EAAE;MACnCM,aAAa,CAAC,CAAC;MACf;IACD;IAEA,IAAIN,gBAAgB,KAAK,UAAU,EAAE;MACpC,MAAMiB,UAAU,GAAGnB,OAAO,CAACK,OAAO,CAACc,UAAU;MAC7C,MAAMC,UAAU,GAAGpB,OAAO,CAACK,OAAO,CAACgB,cAAc,KAAK,KAAK;;MAE3D;MACA,IAAI,CAACF,UAAU,IAAIA,UAAU,CAACG,MAAM,KAAK,CAAC,EAAE;QAC3Cd,aAAa,CAAC,CAAC;QACf;MACD;MAEA,MAAMe,UAAU,GAAGlC,cAAc,CAACmC,MAAM,CAACxB,OAAO,CAACe,KAAK,CAACC,GAAG,CAAC;MAC3D,MAAMS,QAAQ,GAAGnC,YAAY,CAACoC,gBAAgB,CAAC1B,OAAO,CAACe,KAAK,CAACC,GAAG,CAAC;MACjE,MAAMW,cAAc,GAAG3B,OAAO,CAACK,OAAO,CAACsB,cAAc;MAErD9C,OAAO,CAAC,MAAM;QACb,SAAS;;QACT,MAAM;UAAEoC,MAAM;UAAEW;QAAc,CAAC,GAAGpC,kBAAkB,CACnD+B,UAAU,CAACM,QAAQ,CAACC,KAAK,EACzBX,UAAU,EACVC,UACD,CAAC;;QAED;QACA,IAAIK,QAAQ,CAACM,YAAY,CAACD,KAAK,EAAE;QAEjCL,QAAQ,CAACM,YAAY,CAACD,KAAK,GAAGF,aAAa,GAAG,CAAC,GAAG,CAAC;QAEnD,MAAMI,IAAI,GAAGJ,aAAa,GACvBD,cAAc,GACd;UACAM,IAAI,EAAEN,cAAc,EAAEO,MAAM,IAAInD,eAAe;UAC/CoD,KAAK,EAAER,cAAc,EAAES,QAAQ,IAAIrD;QACpC,CAAC;QAEHQ,iBAAiB,CAAC;UACjB0B,MAAM;UACNe,IAAI;UACJT,UAAU;UACVc,iBAAiB,EAAET,aAAa,GAAGpB,aAAa,GAAG8B;QACpD,CAAC,CAAC;MACH,CAAC,CAAC,CAAC,CAAC;IACL;EACD,CAAC,EAAE,CAACpC,gBAAgB,EAAEF,OAAO,EAAEQ,aAAa,CAAC,CAAC;EAE9C,MAAM+B,oBAAoB,GAAGzD,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOiB,SAAS,CAAC+B,KAAK,CAACU,YAAY,IAAIxD,SAAS;EACjD,CAAC,CAAC;EAEF,MAAMyD,qBAAqB,GAAG3D,gBAAgB,CAAC,MAAM;IACpD,SAAS;;IACT,OACCiB,SAAS,CAAC+B,KAAK,CAACY,aAAa,IAAI3C,SAAS,CAAC+B,KAAK,CAACa,YAAY,IAAI3D,SAAS;EAE5E,CAAC,CAAC;EAEF,oBACCY,KAAA,CAAClB,IAAI;IAACkE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAC7C,aAAa,EAAEA,aAAc;IAAAH,QAAA,GAC1DM,iBAAiB,gBACjBV,IAAA,CAACU,iBAAiB,IAAE,CAAC,gBAErBV,IAAA,CAAClB,SAAS;MACToE,KAAK,EAAEnE,UAAU,CAACsE,kBAAmB;MACrC9C,aAAa,EAAEM,gBAAgB,GAAG,MAAM,GAAG,MAAO;MAClDyC,OAAO,EAAEzC,gBAAgB,GAAGW,mBAAmB,GAAGoB,SAAU;MAAAxC,QAAA,eAE5DJ,IAAA,CAACd,QAAQ,CAACF,IAAI;QACbkE,KAAK,EAAE,CAACnE,UAAU,CAACsE,kBAAkB,EAAEN,qBAAqB;MAAE,CAC9D;IAAC,CACQ,CACX,eACD/C,IAAA,CAACf,eAAe;MAACsE,OAAO,EAAE9C,cAAc,CAAE+C,UAAW;MAAApD,QAAA,eACpDJ,IAAA,CAACd,QAAQ,CAACF,IAAI;QACbkE,KAAK,EAAE,CAACC,MAAM,CAACM,OAAO,EAAEZ,oBAAoB,CAAE;QAC9CtC,aAAa,EAAEM,gBAAgB,GAAG,UAAU,GAAGN,aAAc;QAAAH,QAAA,EAE5DA;MAAQ,CACK;IAAC,CACA,CAAC;EAAA,CACb,CAAC;AAET,CAAC,CAAC;AAEF,MAAM+C,MAAM,GAAGpE,UAAU,CAAC2E,MAAM,CAAC;EAChCN,SAAS,EAAE;IACVO,IAAI,EAAE;EACP,CAAC;EACDF,OAAO,EAAE;IACRE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { useKeys } from "../../providers/screen/keys.provider";
|
|
|
7
7
|
import { GestureStore } from "../../stores/gesture.store";
|
|
8
8
|
import { claimsAnyDirection } from "../../utils/gesture/compute-claimed-directions";
|
|
9
9
|
import { resolveOwnership } from "../../utils/gesture/resolve-ownership";
|
|
10
|
+
import { validateSnapPoints } from "../../utils/gesture/validate-snap-points";
|
|
10
11
|
import { useScreenGestureHandlers } from "./use-screen-gesture-handlers";
|
|
11
12
|
const DIRECTIONS = ["vertical", "vertical-inverted", "horizontal", "horizontal-inverted"];
|
|
12
13
|
|
|
@@ -56,7 +57,12 @@ export const useBuildGestures = ({
|
|
|
56
57
|
snapPoints
|
|
57
58
|
} = current.options;
|
|
58
59
|
const canDismiss = Boolean(isFirstScreen ? false : current.options.gestureEnabled);
|
|
59
|
-
const
|
|
60
|
+
const {
|
|
61
|
+
hasSnapPoints
|
|
62
|
+
} = useMemo(() => validateSnapPoints({
|
|
63
|
+
snapPoints,
|
|
64
|
+
canDismiss
|
|
65
|
+
}), [snapPoints, canDismiss]);
|
|
60
66
|
const gestureEnabled = canDismiss || hasSnapPoints;
|
|
61
67
|
const ownershipStatus = useMemo(() => resolveOwnership(claimedDirections, ancestorContext ?? null), [claimedDirections, ancestorContext]);
|
|
62
68
|
const selfClaimsAny = claimsAnyDirection(claimedDirections);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackActions","useCallback","useMemo","useRef","Gesture","useKeys","GestureStore","claimsAnyDirection","resolveOwnership","useScreenGestureHandlers","DIRECTIONS","findShadowedAncestorPanGestures","selfClaims","ancestorContext","isIsolated","shadowedGestures","ancestor","shadowsAncestor","some","dir","claimedDirections","panGesture","push","useBuildGestures","scrollConfig","childDirectionClaims","current","navState","navigation","getState","isFirstScreen","routes","findIndex","r","key","route","panGestureRef","undefined","gestureAnimationValues","getRouteGestures","snapPoints","options","canDismiss","Boolean","gestureEnabled","hasSnapPoints","
|
|
1
|
+
{"version":3,"names":["StackActions","useCallback","useMemo","useRef","Gesture","useKeys","GestureStore","claimsAnyDirection","resolveOwnership","validateSnapPoints","useScreenGestureHandlers","DIRECTIONS","findShadowedAncestorPanGestures","selfClaims","ancestorContext","isIsolated","shadowedGestures","ancestor","shadowsAncestor","some","dir","claimedDirections","panGesture","push","useBuildGestures","scrollConfig","childDirectionClaims","current","navState","navigation","getState","isFirstScreen","routes","findIndex","r","key","route","panGestureRef","undefined","gestureAnimationValues","getRouteGestures","snapPoints","options","canDismiss","Boolean","gestureEnabled","hasSnapPoints","ownershipStatus","selfClaimsAny","handleDismiss","isDismissing","value","state","routeStillPresent","dispatch","pop","source","target","onTouchesDown","onTouchesMove","onStart","onUpdate","onEnd","ancestorIsDismissing","Pan","withRef","enabled","manualActivation","shadowedAncestorGestures","ancestorPan","blocksExternalGesture"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
|