one 1.18.2 → 1.18.4

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.
Files changed (34) hide show
  1. package/dist/cjs/layouts/NativeTabs.cjs +22 -12
  2. package/dist/cjs/layouts/NativeTabs.native.js +22 -12
  3. package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
  4. package/dist/cjs/layouts/NativeTabs.test.cjs +24 -0
  5. package/dist/cjs/layouts/NativeTabs.test.native.js +35 -0
  6. package/dist/cjs/layouts/NativeTabs.test.native.js.map +1 -0
  7. package/dist/cjs/useBlocker.native.js +21 -30
  8. package/dist/cjs/useBlocker.native.js.map +1 -1
  9. package/dist/cjs/useLoader.cjs +1 -0
  10. package/dist/cjs/useLoader.native.js +2 -6
  11. package/dist/cjs/useLoader.native.js.map +1 -1
  12. package/dist/esm/layouts/NativeTabs.mjs +11 -12
  13. package/dist/esm/layouts/NativeTabs.mjs.map +1 -1
  14. package/dist/esm/layouts/NativeTabs.native.js +11 -12
  15. package/dist/esm/layouts/NativeTabs.native.js.map +1 -1
  16. package/dist/esm/layouts/NativeTabs.test.mjs +24 -0
  17. package/dist/esm/layouts/NativeTabs.test.mjs.map +1 -0
  18. package/dist/esm/layouts/NativeTabs.test.native.js +32 -0
  19. package/dist/esm/layouts/NativeTabs.test.native.js.map +1 -0
  20. package/dist/esm/useBlocker.native.js +22 -31
  21. package/dist/esm/useBlocker.native.js.map +1 -1
  22. package/dist/esm/useLoader.native.js +2 -12
  23. package/dist/esm/useLoader.native.js.map +1 -1
  24. package/package.json +9 -9
  25. package/src/layouts/NativeTabs.test.ts +30 -0
  26. package/src/layouts/NativeTabs.tsx +15 -17
  27. package/src/useBlocker.native.ts +27 -48
  28. package/src/useLoader.ts +5 -2
  29. package/types/layouts/NativeTabs.d.ts.map +1 -1
  30. package/types/layouts/NativeTabs.test.d.ts +2 -0
  31. package/types/layouts/NativeTabs.test.d.ts.map +1 -0
  32. package/types/useBlocker.native.d.ts +7 -4
  33. package/types/useBlocker.native.d.ts.map +1 -1
  34. package/types/useLoader.d.ts.map +1 -1
@@ -23,9 +23,12 @@ export type Blocker = {
23
23
  /**
24
24
  * Block navigation when a condition is met.
25
25
  *
26
- * On native, this uses React Navigation's `beforeRemove` event to prevent navigation.
27
- * Note that this only works for navigation within the app - it cannot prevent
28
- * the app from being closed or backgrounded.
26
+ * On native, this uses React Navigation's `usePreventRemove`, which registers the
27
+ * route with the native stack so the iOS interactive swipe-back gesture is blocked
28
+ * too (via `preventNativeDismiss`), not just JS-driven pops. A raw `beforeRemove`
29
+ * listener only stops JS-driven pops, so swiping would bypass the guard and desync
30
+ * JS<->native state. Note that this only works for navigation within the app - it
31
+ * cannot prevent the app from being closed or backgrounded.
29
32
  *
30
33
  * @param shouldBlock - Either a boolean or a function that returns whether to block.
31
34
  *
@@ -53,7 +56,7 @@ export type Blocker = {
53
56
  */
54
57
  export declare function useBlocker(shouldBlock: BlockerFunction | boolean): Blocker;
55
58
  /**
56
- * No-op on native - native uses React Navigation's beforeRemove event instead.
59
+ * No-op on native - native uses React Navigation's usePreventRemove instead.
57
60
  * This is only used by the router on web.
58
61
  */
59
62
  export declare function checkBlocker(_nextLocation: string, _historyAction?: 'push' | 'pop' | 'replace'): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useBlocker.native.d.ts","sourceRoot":"","sources":["../src/useBlocker.native.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAC1C,KAAK,OAAO,CAAA;AAEb,MAAM,MAAM,OAAO,GACf;IACE,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,GAAG,OAAO,CA+E1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,cAAc,GAAE,MAAM,GAAG,KAAK,GAAG,SAAkB,GAClD,OAAO,CAET"}
1
+ {"version":3,"file":"useBlocker.native.d.ts","sourceRoot":"","sources":["../src/useBlocker.native.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAC1C,KAAK,OAAO,CAAA;AAEb,MAAM,MAAM,OAAO,GACf;IACE,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,GAAG,OAAO,CAuD1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,cAAc,GAAE,MAAM,GAAG,KAAK,GAAG,SAAkB,GAClD,OAAO,CAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLoader.d.ts","sourceRoot":"","sources":["../src/useLoader.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC1C,CAAA;AA2CD,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D;AAqDD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHnE;AAOD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,SAAS,QAAQ,GAAG,GAAG,EAC7B,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EAExE,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,SAAS,GACvB;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAmaJ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,MAAM,SAAS,QAAQ,EACvB,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EACxE,MAAM,EAAE,MAAM,GAAG,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAG9E;AAwBD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,wBAAgB,gBAAgB,SAG/B"}
1
+ {"version":3,"file":"useLoader.d.ts","sourceRoot":"","sources":["../src/useLoader.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC1C,CAAA;AA2CD,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D;AAqDD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHnE;AAOD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,SAAS,QAAQ,GAAG,GAAG,EAC7B,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EAExE,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,SAAS,GACvB;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAqaJ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,MAAM,SAAS,QAAQ,EACvB,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EACxE,MAAM,EAAE,MAAM,GAAG,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAG9E;AAwBD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,wBAAgB,gBAAgB,SAG/B"}