expo-snowui 1.7.40 → 1.7.41
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.
|
@@ -50,6 +50,7 @@ export function NavigationContextProvider(props) {
|
|
|
50
50
|
const [initialPath, setInitialPath] = React.useState(null);
|
|
51
51
|
const [navigationHistory, setNavigationHistory] = React.useState(null);
|
|
52
52
|
const navigationHistoryRef = React.useRef(null);
|
|
53
|
+
const popInProgressRef = React.useRef(false);
|
|
53
54
|
|
|
54
55
|
// Debounce the history so children only see the "settled" state (e.g. after multiple unmounts)
|
|
55
56
|
const [debouncedHistory] = useDebounce(navigationHistory, 100);
|
|
@@ -163,6 +164,7 @@ export function NavigationContextProvider(props) {
|
|
|
163
164
|
};
|
|
164
165
|
const navPop = isFunc => {
|
|
165
166
|
const func = () => {
|
|
167
|
+
popInProgressRef.current = true;
|
|
166
168
|
setNavigationHistory(prev => {
|
|
167
169
|
let result = [...prev];
|
|
168
170
|
if (result.length > 1) {
|
|
@@ -178,6 +180,9 @@ export function NavigationContextProvider(props) {
|
|
|
178
180
|
}
|
|
179
181
|
return result;
|
|
180
182
|
});
|
|
183
|
+
setTimeout(() => {
|
|
184
|
+
popInProgressRef.current = false;
|
|
185
|
+
}, 0);
|
|
181
186
|
};
|
|
182
187
|
if (isFunc) {
|
|
183
188
|
return func;
|
|
@@ -258,6 +263,7 @@ export function NavigationContextProvider(props) {
|
|
|
258
263
|
return /*#__PURE__*/_jsx(_Fragment, {});
|
|
259
264
|
}
|
|
260
265
|
const navUpdate = delta => {
|
|
266
|
+
if (popInProgressRef.current) return;
|
|
261
267
|
const latestParams = navigationHistoryRef.current?.at(-1)?.routeParams || {};
|
|
262
268
|
navPush({
|
|
263
269
|
params: {
|
|
@@ -269,6 +275,7 @@ export function NavigationContextProvider(props) {
|
|
|
269
275
|
});
|
|
270
276
|
};
|
|
271
277
|
const navRemove = urlParam => {
|
|
278
|
+
if (popInProgressRef.current) return;
|
|
272
279
|
const latestParams = {
|
|
273
280
|
...(navigationHistoryRef.current?.at(-1)?.routeParams || {})
|
|
274
281
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","useDebounce","useInputContext","util","prettyLog","Fragment","_Fragment","jsx","_jsx","NavigationContext","createContext","useNavigationContext","value","useContext","Error","NavigationContextProvider","props","DEBUG","DEBUG_NAVIGATION","addBackListener","removeBackListener","blockBackActionRef","useRef","blockBackAction","block","current","isReady","setIsReady","useState","pageLookup","setPageLookup","initialPath","setInitialPath","navigationHistory","setNavigationHistory","navigationHistoryRef","debouncedHistory","useEffect","lookup","routePaths","console","log","pathKey","Object","keys","initialRoutePath","routePages","pageKey","page","initialRoute","initialParams","OS","window","location","pathname","queryToObject","search","routePath","routeParams","navPush","payload","foundPath","path","foundParams","params","foundFunc","func","foundReplace","replace","undefined","at","prev","result","history","replaceState","stateToUrl","push","pushState","context","action","navPop","isFunc","length","pop","navReset","resetPath","resetRoutePath","currentRoute","navUpdate","delta","latestParams","navRemove","urlParam","CurrentPage","Provider","style","flex","children"],"sourceRoot":"../../../src","sources":["context/snow-navigation-context.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAW,QAAQ,cAAc;AAE1C,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,OAAOC,IAAI,IAAIC,SAAS,QAAQ,YAAS;AAAA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAEzC,MAAMC,iBAAiB,gBAAGV,KAAK,CAACW,aAAa,CAAC,CAAC,CAAC,CAAC;AAEjD,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACnC,MAAMC,KAAK,GAAGb,KAAK,CAACc,UAAU,CAACJ,iBAAiB,CAAC;EACjD,IAAI,CAACG,KAAK,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,yEAAyE,CAAC;EAC9F;EACA,OAAOF,KAAK;AAChB;;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAACC,KAAK,EAAE;EAC7C,MAAMC,KAAK,GAAGD,KAAK,CAACE,gBAAgB;EAEpC,MAAM;IAAEC,eAAe;IAAEC;EAAmB,CAAC,GAAGlB,eAAe,CAAC,CAAC;EAEjE,MAAMmB,kBAAkB,GAAGtB,KAAK,CAACuB,MAAM,CAAC,KAAK,CAAC;EAE9C,MAAMC,eAAe,GAAIC,KAAK,IAAK;IAC/BH,kBAAkB,CAACI,OAAO,GAAGD,KAAK;EACtC,CAAC;EAED,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAG5B,KAAK,CAAC6B,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG/B,KAAK,CAAC6B,QAAQ,CAAC,CAAC,CAAC,CAAC;EACtD,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGjC,KAAK,CAAC6B,QAAQ,CAAC,IAAI,CAAC;EAE1D,MAAM,CAACK,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGnC,KAAK,CAAC6B,QAAQ,CAAC,IAAI,CAAC;EACtE,MAAMO,oBAAoB,GAAGpC,KAAK,CAACuB,MAAM,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"names":["React","Platform","useDebounce","useInputContext","util","prettyLog","Fragment","_Fragment","jsx","_jsx","NavigationContext","createContext","useNavigationContext","value","useContext","Error","NavigationContextProvider","props","DEBUG","DEBUG_NAVIGATION","addBackListener","removeBackListener","blockBackActionRef","useRef","blockBackAction","block","current","isReady","setIsReady","useState","pageLookup","setPageLookup","initialPath","setInitialPath","navigationHistory","setNavigationHistory","navigationHistoryRef","popInProgressRef","debouncedHistory","useEffect","lookup","routePaths","console","log","pathKey","Object","keys","initialRoutePath","routePages","pageKey","page","initialRoute","initialParams","OS","window","location","pathname","queryToObject","search","routePath","routeParams","navPush","payload","foundPath","path","foundParams","params","foundFunc","func","foundReplace","replace","undefined","at","prev","result","history","replaceState","stateToUrl","push","pushState","context","action","navPop","isFunc","length","pop","setTimeout","navReset","resetPath","resetRoutePath","currentRoute","navUpdate","delta","latestParams","navRemove","urlParam","CurrentPage","Provider","style","flex","children"],"sourceRoot":"../../../src","sources":["context/snow-navigation-context.js"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -56,6 +56,8 @@ export function NavigationContextProvider(props) {
|
|
|
56
56
|
const [navigationHistory, setNavigationHistory] = React.useState(null)
|
|
57
57
|
const navigationHistoryRef = React.useRef(null)
|
|
58
58
|
|
|
59
|
+
const popInProgressRef = React.useRef(false)
|
|
60
|
+
|
|
59
61
|
// Debounce the history so children only see the "settled" state (e.g. after multiple unmounts)
|
|
60
62
|
const [debouncedHistory] = useDebounce(navigationHistory, 100)
|
|
61
63
|
|
|
@@ -164,6 +166,7 @@ export function NavigationContextProvider(props) {
|
|
|
164
166
|
|
|
165
167
|
const navPop = (isFunc) => {
|
|
166
168
|
const func = () => {
|
|
169
|
+
popInProgressRef.current = true
|
|
167
170
|
setNavigationHistory((prev) => {
|
|
168
171
|
let result = [...prev]
|
|
169
172
|
if (result.length > 1) {
|
|
@@ -174,6 +177,7 @@ export function NavigationContextProvider(props) {
|
|
|
174
177
|
}
|
|
175
178
|
return result
|
|
176
179
|
})
|
|
180
|
+
setTimeout(() => { popInProgressRef.current = false }, 0)
|
|
177
181
|
}
|
|
178
182
|
if (isFunc) {
|
|
179
183
|
return func
|
|
@@ -236,6 +240,7 @@ export function NavigationContextProvider(props) {
|
|
|
236
240
|
}
|
|
237
241
|
|
|
238
242
|
const navUpdate = ((delta) => {
|
|
243
|
+
if (popInProgressRef.current) return
|
|
239
244
|
const latestParams = navigationHistoryRef.current?.at(-1)?.routeParams || {}
|
|
240
245
|
navPush({
|
|
241
246
|
params: { ...latestParams, ...delta },
|
|
@@ -245,6 +250,7 @@ export function NavigationContextProvider(props) {
|
|
|
245
250
|
})
|
|
246
251
|
|
|
247
252
|
const navRemove = ((urlParam) => {
|
|
253
|
+
if (popInProgressRef.current) return
|
|
248
254
|
const latestParams = { ...(navigationHistoryRef.current?.at(-1)?.routeParams || {}) }
|
|
249
255
|
delete latestParams[urlParam]
|
|
250
256
|
navPush({
|