@pinnacle0/react-stack-router
Advanced tools
Comparing version 0.1.3-beta.29 to 0.1.3-beta.30
@@ -9,3 +9,2 @@ import { jsx as _jsx } from "react/jsx-runtime"; | ||
const [screens, setScreens] = useState([]); | ||
const [exiting, setExiting] = useState(0); | ||
useEffect(() => router.subscribe(_ => setScreens([..._])), [router]); | ||
@@ -21,13 +20,11 @@ useLayoutEffect(() => { | ||
}, [screens]); | ||
return (_jsx("div", { className: classNames("g-stack-router", { exiting: exiting !== 0 }, className), style: style, children: _jsx(AnimatePresence, { children: screens.map((screen, index) => { | ||
return (_jsx("div", { className: classNames("g-stack-router", className), style: style, children: _jsx(AnimatePresence, { children: screens.map((screen, index) => { | ||
const context = { location: screen.location, lifecycle: screen.lifecycle, params: screen.params }; | ||
return (_jsx(Animated.div, { className: classNames("g-stack-router-screen", { overlay: index > 0 }), enter: () => screen.transition.enteringKeyframes, exit: () => screen.transition.exitingKeyframes, onEntering: () => screen.lifecycle.trigger("willEnter"), onEntered: () => screen.lifecycle.trigger("didEnter"), onExiting: () => { | ||
setExiting(_ => _ + 1); | ||
screen.lifecycle.trigger("willExit"); | ||
}, onExited: () => { | ||
setExiting(_ => _ - 1); | ||
screen.lifecycle.trigger("didExit"); | ||
}, children: _jsx(RouteContext.Provider, { value: context, children: _jsx(screen.content, { ...context }) }) }, screen.location.state.$key)); | ||
return (_jsx(Animated.div, { className: classNames("g-stack-router-screen", { overlay: index > 0 }), style: index === screens.length - 2 | ||
? { transform: "translate3d(-100px, 0, 0)" } | ||
: index === screens.length - 1 && router.isSafariEdgeSwipeBackwardPop() | ||
? { transition: "none" } | ||
: undefined, enter: () => screen.transition.enteringKeyframes, exit: () => screen.transition.exitingKeyframes, onEntering: () => screen.lifecycle.trigger("willEnter"), onEntered: () => screen.lifecycle.trigger("didEnter"), onExiting: () => screen.lifecycle.trigger("willExit"), onExited: () => screen.lifecycle.trigger("didExit"), children: _jsx(RouteContext.Provider, { value: context, children: _jsx(screen.content, { ...context }) }) }, screen.location.state.$key)); | ||
}) }) })); | ||
} | ||
//# sourceMappingURL=index.js.map |
@@ -35,2 +35,3 @@ import { Route } from "../route"; | ||
replaceSearchParams(params: Record<string, string>): void; | ||
isSafariEdgeSwipeBackwardPop(): boolean; | ||
private createKey; | ||
@@ -37,0 +38,0 @@ private notify; |
@@ -86,2 +86,5 @@ import { Action } from "history"; | ||
} | ||
isSafariEdgeSwipeBackwardPop() { | ||
return this.safariEdgeSwipeDetector.isBackwardPop; | ||
} | ||
createKey() { | ||
@@ -88,0 +91,0 @@ return Date.now().toString(36) + Math.random().toString(36).substring(2); |
@@ -36,6 +36,8 @@ /** | ||
document.addEventListener("cancel", cancel); | ||
window.addEventListener("popstate", cancel); // reset after popState | ||
return () => { | ||
document.removeEventListener("touchstart", start); | ||
document.removeEventListener("touchend", end); | ||
document.removeEventListener("cancel", cancel, true); | ||
document.removeEventListener("cancel", cancel); | ||
window.removeEventListener("popstate", cancel); | ||
}; | ||
@@ -42,0 +44,0 @@ }, |
{ | ||
"name": "@pinnacle0/react-stack-router", | ||
"version": "0.1.3-beta.29", | ||
"version": "0.1.3-beta.30", | ||
"author": "Pinnacle", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -127,2 +127,6 @@ import {Action} from "history"; | ||
isSafariEdgeSwipeBackwardPop(): boolean { | ||
return this.safariEdgeSwipeDetector.isBackwardPop; | ||
} | ||
private createKey() { | ||
@@ -129,0 +133,0 @@ return Date.now().toString(36) + Math.random().toString(36).substring(2); |
@@ -39,6 +39,8 @@ /** | ||
document.addEventListener("cancel", cancel); | ||
window.addEventListener("popstate", cancel); // reset after popState | ||
return () => { | ||
document.removeEventListener("touchstart", start); | ||
document.removeEventListener("touchend", end); | ||
document.removeEventListener("cancel", cancel, true); | ||
document.removeEventListener("cancel", cancel); | ||
window.removeEventListener("popstate", cancel); | ||
}; | ||
@@ -45,0 +47,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
153595
2429