expo-router 58.0.19 → 58.0.21

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 (106) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/ExpoRoot.js +2 -8
  3. package/build/ExpoRoot.js.map +1 -1
  4. package/build/SafeAreaProvider.d.ts +6 -0
  5. package/build/SafeAreaProvider.js +69 -0
  6. package/build/SafeAreaProvider.js.map +1 -0
  7. package/build/exports.d.ts +2 -1
  8. package/build/exports.js +13 -0
  9. package/build/exports.js.map +1 -1
  10. package/build/global-state/reduceNavigationTree.js +4 -2
  11. package/build/global-state/reduceNavigationTree.js.map +1 -1
  12. package/build/global-state/resolveNavigationDestination.js +13 -7
  13. package/build/global-state/resolveNavigationDestination.js.map +1 -1
  14. package/build/global-state/routerRegistry.d.ts +2 -2
  15. package/build/global-state/routerRegistry.js.map +1 -1
  16. package/build/layouts/stack-router.d.ts +4 -2
  17. package/build/layouts/stack-router.js +6 -5
  18. package/build/layouts/stack-router.js.map +1 -1
  19. package/build/layouts/stack-utils/StackHeaderComponent.d.ts +2 -1
  20. package/build/layouts/stack-utils/StackHeaderComponent.js.map +1 -1
  21. package/build/link/elements.d.ts +1 -1
  22. package/build/link/useLinkHooks.d.ts +1 -1
  23. package/build/link/zoom/link-apple-zoom-target.d.ts +1 -1
  24. package/build/link/zoom/zoom-transition-context-providers.ios.d.ts +1 -1
  25. package/build/native-tabs/NativeBottomTabsRouter.d.ts +4 -1
  26. package/build/native-tabs/NativeBottomTabsRouter.js +4 -3
  27. package/build/native-tabs/NativeBottomTabsRouter.js.map +1 -1
  28. package/build/react-navigation/core/useNavigationHelpers.js +4 -2
  29. package/build/react-navigation/core/useNavigationHelpers.js.map +1 -1
  30. package/build/react-navigation/drawer/utils/DrawerPositionContext.d.ts +1 -1
  31. package/build/react-navigation/elements/SafeAreaProviderCompat.js +2 -1
  32. package/build/react-navigation/elements/SafeAreaProviderCompat.js.map +1 -1
  33. package/build/react-navigation/native-stack/types.d.ts +7 -1
  34. package/build/react-navigation/native-stack/views/NativeStackView.js +3 -1
  35. package/build/react-navigation/native-stack/views/NativeStackView.js.map +1 -1
  36. package/build/react-navigation/native-stack/views/NativeStackView.native.js +4 -2
  37. package/build/react-navigation/native-stack/views/NativeStackView.native.js.map +1 -1
  38. package/build/react-navigation/native-stack/views/headerAppearance.d.ts +29 -0
  39. package/build/react-navigation/native-stack/views/headerAppearance.js +45 -0
  40. package/build/react-navigation/native-stack/views/headerAppearance.js.map +1 -0
  41. package/build/react-navigation/native-stack/views/useHeaderConfigProps.d.ts +1 -1
  42. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js +16 -7
  43. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js.map +1 -1
  44. package/build/react-navigation/routers/BaseRouter.d.ts +23 -3
  45. package/build/react-navigation/routers/BaseRouter.js +6 -5
  46. package/build/react-navigation/routers/BaseRouter.js.map +1 -1
  47. package/build/react-navigation/routers/DrawerRouter.d.ts +4 -2
  48. package/build/react-navigation/routers/DrawerRouter.js +4 -2
  49. package/build/react-navigation/routers/DrawerRouter.js.map +1 -1
  50. package/build/react-navigation/routers/NoopRouter.d.ts +1 -1
  51. package/build/react-navigation/routers/NoopRouter.js +2 -1
  52. package/build/react-navigation/routers/NoopRouter.js.map +1 -1
  53. package/build/react-navigation/routers/StackRouter.d.ts +4 -2
  54. package/build/react-navigation/routers/StackRouter.js +9 -8
  55. package/build/react-navigation/routers/StackRouter.js.map +1 -1
  56. package/build/react-navigation/routers/TabRouter.d.ts +4 -2
  57. package/build/react-navigation/routers/TabRouter.js +11 -9
  58. package/build/react-navigation/routers/TabRouter.js.map +1 -1
  59. package/build/react-navigation/routers/extendRouter.d.ts +24 -11
  60. package/build/react-navigation/routers/extendRouter.js +31 -11
  61. package/build/react-navigation/routers/extendRouter.js.map +1 -1
  62. package/build/react-navigation/routers/index.d.ts +1 -0
  63. package/build/react-navigation/routers/index.js +6 -1
  64. package/build/react-navigation/routers/index.js.map +1 -1
  65. package/build/react-navigation/routers/types.d.ts +15 -2
  66. package/build/react-navigation/routers/types.js +14 -0
  67. package/build/react-navigation/routers/types.js.map +1 -1
  68. package/build/react-navigation/routers/utils.d.ts +15 -0
  69. package/build/react-navigation/routers/utils.js +16 -0
  70. package/build/react-navigation/routers/utils.js.map +1 -0
  71. package/build/rsc/entry.js +2 -8
  72. package/build/rsc/entry.js.map +1 -1
  73. package/build/typed-routes/types.d.ts +4 -5
  74. package/build/ui/TabRouter.d.ts +4 -2
  75. package/build/ui/TabRouter.js +2 -2
  76. package/build/ui/TabRouter.js.map +1 -1
  77. package/build/views/Try.d.ts +1 -1
  78. package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.module → 58.0.21/expo.modules.router-58.0.21.module} +7 -7
  79. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.md5 +1 -0
  80. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha1 +1 -0
  81. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha256 +1 -0
  82. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha512 +1 -0
  83. package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.pom → 58.0.21/expo.modules.router-58.0.21.pom} +1 -1
  84. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.md5 +1 -0
  85. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha1 +1 -0
  86. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha256 +1 -0
  87. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha512 +1 -0
  88. package/package.json +6 -6
  89. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.md5 +0 -1
  90. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha1 +0 -1
  91. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha256 +0 -1
  92. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha512 +0 -1
  93. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.md5 +0 -1
  94. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha1 +0 -1
  95. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha256 +0 -1
  96. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha512 +0 -1
  97. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19-sources.jar → 58.0.21/expo.modules.router-58.0.21-sources.jar} +0 -0
  98. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19-sources.jar.md5 → 58.0.21/expo.modules.router-58.0.21-sources.jar.md5} +0 -0
  99. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19-sources.jar.sha1 → 58.0.21/expo.modules.router-58.0.21-sources.jar.sha1} +0 -0
  100. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19-sources.jar.sha256 → 58.0.21/expo.modules.router-58.0.21-sources.jar.sha256} +0 -0
  101. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19-sources.jar.sha512 → 58.0.21/expo.modules.router-58.0.21-sources.jar.sha512} +0 -0
  102. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.aar → 58.0.21/expo.modules.router-58.0.21.aar} +0 -0
  103. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.aar.md5 → 58.0.21/expo.modules.router-58.0.21.aar.md5} +0 -0
  104. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.aar.sha1 → 58.0.21/expo.modules.router-58.0.21.aar.sha1} +0 -0
  105. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.aar.sha256 → 58.0.21/expo.modules.router-58.0.21.aar.sha256} +0 -0
  106. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.19/expo.modules.router-58.0.19.aar.sha512 → 58.0.21/expo.modules.router-58.0.21.aar.sha512} +0 -0
@@ -22,7 +22,11 @@ _export(exports, {
22
22
  });
23
23
  const _ensureStateType = require("./ensureStateType");
24
24
  const _stateKeys = require("./stateKeys");
25
+ const _types = require("./types");
26
+ const _utils = require("./utils");
25
27
  function extendRouter(base, extension, { type: extendedType } = {}) {
28
+ // Warns once per router factory, so a deprecated result does not log on every action.
29
+ let warnedNull = false;
26
30
  return (options)=>{
27
31
  // The extension owns the state and action types of the router it produces. The base router
28
32
  // is created for the base types and the extension decides which of its members still apply.
@@ -63,9 +67,11 @@ function extendRouter(base, extension, { type: extendedType } = {}) {
63
67
  throw new Error('`baseRouter.getStateForAction` needs the `config` argument when it is called outside of `getStateForAction`, because only that method receives one from the navigator. Pass the config explicitly.');
64
68
  }
65
69
  const result = baseRouter.getStateForAction(stamp(state), action, config);
66
- if (result !== null) {
67
- current.routeKeySeq = Math.max(current.routeKeySeq, result.state.routeKeySeq);
70
+ // A custom base router may still return the deprecated `null`.
71
+ if (!(0, _utils.isActionHandled)(result)) {
72
+ return _types.RouterActionHandling.Unhandled;
68
73
  }
74
+ current.routeKeySeq = Math.max(current.routeKeySeq, result.state.routeKeySeq);
69
75
  return result;
70
76
  }
71
77
  };
@@ -76,7 +82,7 @@ function extendRouter(base, extension, { type: extendedType } = {}) {
76
82
  return key;
77
83
  };
78
84
  const router = {
79
- ...baseRouter,
85
+ ...delegate,
80
86
  ...extension({
81
87
  baseRouter: delegate,
82
88
  options,
@@ -98,22 +104,27 @@ function extendRouter(base, extension, { type: extendedType } = {}) {
98
104
  getStateForAction (state, action, config) {
99
105
  const typedState = ensureType(start(state, config));
100
106
  const result = router.getStateForAction(typedState, action, config);
101
- if (result === null) {
102
- return null;
107
+ if (result === null && process.env.NODE_ENV !== 'production' && !warnedNull) {
108
+ warnedNull = true;
109
+ console.warn(`An \`extendRouter\` extension or \`extendRouterActions\` reducer returned \`null\` for the "${action.type}" action. Returning \`null\` is deprecated. Return \`RouterActionHandling.Unhandled\` to leave the action unhandled, and use \`isActionHandled\` to check whether a router handled an action.`);
110
+ }
111
+ const resolved = result === _types.RouterActionHandling.Delegate ? delegate.getStateForAction(typedState, action, config) : result;
112
+ if (!(0, _utils.isActionHandled)(resolved)) {
113
+ return _types.RouterActionHandling.Unhandled;
103
114
  }
104
- const finishedState = finish(result.state, typedState.type);
115
+ const finishedState = finish(resolved.state, typedState.type);
105
116
  if (router.getBrowserHistoryForAction) {
106
117
  const browserHistory = router.getBrowserHistoryForAction(typedState, finishedState, action);
107
- if (browserHistory !== result.browserHistory) {
118
+ if (browserHistory !== resolved.browserHistory) {
108
119
  return {
109
- ...result,
120
+ ...resolved,
110
121
  state: finishedState,
111
122
  browserHistory
112
123
  };
113
124
  }
114
125
  }
115
- return finishedState === result.state ? result : {
116
- ...result,
126
+ return finishedState === resolved.state ? resolved : {
127
+ ...resolved,
117
128
  state: finishedState
118
129
  };
119
130
  }
@@ -121,6 +132,8 @@ function extendRouter(base, extension, { type: extendedType } = {}) {
121
132
  };
122
133
  }
123
134
  function extendRouterActions(base, reducer) {
135
+ // Warns once per router factory, so a deprecated result does not log on every action.
136
+ let warnedUndefined = false;
124
137
  return extendRouter(base, ({ baseRouter, options, nextKey })=>{
125
138
  // `Router` requires `type` conditionally on `State`, which TypeScript cannot resolve for a
126
139
  // generic `State`; the override never sets `type`, so the shape is compatible.
@@ -132,7 +145,14 @@ function extendRouterActions(base, reducer) {
132
145
  options,
133
146
  nextKey
134
147
  });
135
- return result === undefined ? baseRouter.getStateForAction(state, action, config) : result;
148
+ if (result !== undefined) {
149
+ return result;
150
+ }
151
+ if (process.env.NODE_ENV !== 'production' && !warnedUndefined) {
152
+ warnedUndefined = true;
153
+ console.warn(`An \`extendRouterActions\` reducer returned \`undefined\` for the "${action.type}" action. Returning \`undefined\` is deprecated. Return \`RouterActionHandling.Delegate\` to let the base router handle the action.`);
154
+ }
155
+ return _types.RouterActionHandling.Delegate;
136
156
  }
137
157
  };
138
158
  return overrides;
@@ -1 +1 @@
1
- {"version":3,"sources":["react-navigation/routers/extendRouter.tsx"],"sourcesContent":[null],"names":["extendRouter","extendRouterActions","base","extension","type","extendedType","options","baseRouter","ensureType","state","undefined","ensureStateType","current","key","routeKeySeq","start","config","stamp","finish","stateType","stamped","typed","normalizeState","delegate","getStateForAction","action","Error","result","Math","max","nextKey","name","minter","createRouteKeyMinter","mint","router","getStateForDeclaredRoutes","routeNames","getStateForRouteFocus","typedState","finishedState","getBrowserHistoryForAction","browserHistory","reducer","overrides"],"mappings":"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"}
1
+ {"version":3,"sources":["react-navigation/routers/extendRouter.tsx"],"sourcesContent":[null],"names":["extendRouter","extendRouterActions","base","extension","type","extendedType","warnedNull","options","baseRouter","ensureType","state","undefined","ensureStateType","current","key","routeKeySeq","start","config","stamp","finish","stateType","stamped","typed","normalizeState","delegate","getStateForAction","action","Error","result","isActionHandled","RouterActionHandling","Unhandled","Math","max","nextKey","name","minter","createRouteKeyMinter","mint","router","getStateForDeclaredRoutes","routeNames","getStateForRouteFocus","typedState","process","env","NODE_ENV","console","warn","resolved","Delegate","finishedState","getBrowserHistoryForAction","browserHistory","reducer","warnedUndefined","overrides"],"mappings":";;;;;;;;;;;;;;;QA6GgBA;eAAAA;;QAsKAC;eAAAA;;;iCAnRgB;2BACK;uBAU9B;uBACyB;AAiGzB,SAASD,aAQdE,IAAuD,EACvDC,SAAkD,EAClD,EAAEC,MAAMC,YAAY,EAAiC,GAAG,CAAC,CAAC;IAM1D,sFAAsF;IACtF,IAAIC,aAAa;IACjB,OAAO,CAACC;QACN,2FAA2F;QAC3F,4FAA4F;QAC5F,MAAMC,aAAaN,KAAKK;QACxB,MAAMH,OAAOC,gBAAgBG,WAAWJ,IAAI;QAC5C,MAAMK,aAAa,CAACC,QAClBN,SAASO,YAAYD,QAAQE,IAAAA,gCAAe,EAACF,OAAON;QAEtD,8FAA8F;QAC9F,wFAAwF;QACxF,IAAIS,UAA8E;YAChFC,KAAK;YACLC,aAAa;QACf;QACA,MAAMC,QAAQ,CAACN,OAAcO;YAC3BJ,UAAU;gBAAEC,KAAKJ,MAAMI,GAAG;gBAAEC,aAAaL,MAAMK,WAAW;gBAAEE;YAAO;YACnE,OAAOP;QACT;QACA,MAAMQ,QAAQ,CAACR,QACbA,MAAMK,WAAW,GAAGF,QAAQE,WAAW,GACnC;gBAAE,GAAGL,KAAK;gBAAEK,aAAaF,QAAQE,WAAW;YAAC,IAC7CL;QACN,2FAA2F;QAC3F,0FAA0F;QAC1F,oFAAoF;QACpF,mEAAmE;QACnE,MAAMS,SAAS,CAACT,OAAcU;YAC5B,MAAMC,UAAUH,MAAMR;YACtB,MAAMY,QAAQF,cAAcT,YAAYU,UAAUT,IAAAA,gCAAe,EAACS,SAASD;YAC3E,OAAOG,iBAAiBA,eAAeD,SAASA;QAClD;QAEA,MAAME,WAAyE;YAC7E,GAAGhB,UAAU;YACbiB,mBAAkBf,KAAK,EAAEgB,MAAM,EAAET,SAASJ,QAAQI,MAAM;gBACtD,IAAIA,WAAWN,WAAW;oBACxB,MAAM,IAAIgB,MACR;gBAEJ;gBACA,MAAMC,SAASpB,WAAWiB,iBAAiB,CAACP,MAAMR,QAAQgB,QAAQT;gBAClE,+DAA+D;gBAC/D,IAAI,CAACY,IAAAA,sBAAe,EAACD,SAAS;oBAC5B,OAAOE,2BAAoB,CAACC,SAAS;gBACvC;gBACAlB,QAAQE,WAAW,GAAGiB,KAAKC,GAAG,CAACpB,QAAQE,WAAW,EAAEa,OAAOlB,KAAK,CAACK,WAAW;gBAC5E,OAAOa;YACT;QACF;QACA,MAAMM,UAAU,CAACC;YACf,MAAMC,SAASC,IAAAA,+BAAoB,EAACxB;YACpC,MAAMC,MAAMsB,OAAOE,IAAI,CAACH;YACxBtB,QAAQE,WAAW,GAAGqB,OAAOrB,WAAW;YACxC,OAAOD;QACT;QAEA,MAAMyB,SAAgD;YACpD,GAAGf,QAAQ;YACX,GAAGrB,UAAU;gBAAEK,YAAYgB;gBAAUjB;gBAAS2B;YAAQ,EAAE;YACxD9B;QACF;QACA,MAAM,EAAEmB,cAAc,EAAE,GAAGgB;QAE3B,OAAO;YACL,GAAGA,MAAM;YACTC,2BAA0B9B,KAAK,EAAE+B,UAAU;gBACzC,0FAA0F;gBAC1F,OAAOtB,OAAOoB,OAAOC,yBAAyB,CAACxB,MAAMN,QAAQ+B,aAAa/B,MAAMN,IAAI;YACtF;YACAsC,uBAAsBhC,KAAK,EAAEI,GAAG;gBAC9B,MAAM6B,aAAalC,WAAWO,MAAMN;gBACpC,OAAOS,OAAOoB,OAAOG,qBAAqB,CAACC,YAAY7B,MAAM6B,WAAWvC,IAAI;YAC9E;YACAqB,mBAAkBf,KAAK,EAAEgB,MAAM,EAAET,MAAM;gBACrC,MAAM0B,aAAalC,WAAWO,MAAMN,OAAOO;gBAC3C,MAAMW,SAASW,OAAOd,iBAAiB,CAACkB,YAAYjB,QAAQT;gBAC5D,IAAIW,WAAW,QAAQgB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgB,CAACxC,YAAY;oBAC3EA,aAAa;oBACbyC,QAAQC,IAAI,CACV,CAAC,4FAA4F,EAAEtB,OAAOtB,IAAI,CAAC,6LAA6L,CAAC;gBAE7S;gBACA,MAAM6C,WACJrB,WAAWE,2BAAoB,CAACoB,QAAQ,GACpC1B,SAASC,iBAAiB,CAACkB,YAAYjB,QAAQT,UAC/CW;gBAEN,IAAI,CAACC,IAAAA,sBAAe,EAACoB,WAAW;oBAC9B,OAAOnB,2BAAoB,CAACC,SAAS;gBACvC;gBAEA,MAAMoB,gBAAgBhC,OAAO8B,SAASvC,KAAK,EAAEiC,WAAWvC,IAAI;gBAC5D,IAAImC,OAAOa,0BAA0B,EAAE;oBACrC,MAAMC,iBAAiBd,OAAOa,0BAA0B,CACtDT,YACAQ,eACAzB;oBAEF,IAAI2B,mBAAmBJ,SAASI,cAAc,EAAE;wBAC9C,OAAO;4BAAE,GAAGJ,QAAQ;4BAAEvC,OAAOyC;4BAAeE;wBAAe;oBAC7D;gBACF;gBACA,OAAOF,kBAAkBF,SAASvC,KAAK,GAAGuC,WAAW;oBAAE,GAAGA,QAAQ;oBAAEvC,OAAOyC;gBAAc;YAC3F;QACF;IACF;AACF;AA0CO,SAASlD,oBAOdC,IAAmD,EACnDoD,OAAoD;IAEpD,sFAAsF;IACtF,IAAIC,kBAAkB;IACtB,OAAOvD,aACLE,MACA,CAAC,EAAEM,UAAU,EAAED,OAAO,EAAE2B,OAAO,EAAE;QAC/B,2FAA2F;QAC3F,+EAA+E;QAC/E,MAAMsB,YAAY;YAChB/B,mBAAkBf,KAAY,EAAEgB,MAAc,EAAET,MAA2B;gBACzE,MAAMW,SAAS0B,QAAQ5C,OAAOgB,QAAQ;oBAAE,GAAGT,MAAM;oBAAET;oBAAYD;oBAAS2B;gBAAQ;gBAChF,IAAIN,WAAWjB,WAAW;oBACxB,OAAOiB;gBACT;gBACA,IAAIgB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgB,CAACS,iBAAiB;oBAC7DA,kBAAkB;oBAClBR,QAAQC,IAAI,CACV,CAAC,mEAAmE,EAAEtB,OAAOtB,IAAI,CAAC,mIAAmI,CAAC;gBAE1N;gBACA,OAAO0B,2BAAoB,CAACoB,QAAQ;YACtC;QACF;QACA,OAAOM;IACT;AAEJ"}
@@ -11,3 +11,4 @@ export { StackActions, StackRouter } from './StackRouter';
11
11
  export type { TabActionHelpers, TabActionType, TabNavigationState, TabRouterOptions, } from './TabRouter';
12
12
  export { TabActions, TabRouter } from './TabRouter';
13
13
  export * from './types';
14
+ export { isActionHandled } from './utils';
@@ -13,7 +13,8 @@ Object.defineProperty(exports, "__esModule", {
13
13
  TabRouter: null,
14
14
  attachRouteState: null,
15
15
  extendRouter: null,
16
- extendRouterActions: null
16
+ extendRouterActions: null,
17
+ isActionHandled: null
17
18
  });
18
19
  function _export(target, all) {
19
20
  for(var name in all)Object.defineProperty(target, name, {
@@ -54,6 +55,9 @@ _export(exports, {
54
55
  },
55
56
  get extendRouterActions () {
56
57
  return _extendRouter.extendRouterActions;
58
+ },
59
+ get isActionHandled () {
60
+ return _utils.isActionHandled;
57
61
  }
58
62
  });
59
63
  0 && __export(require("./types"));
@@ -65,6 +69,7 @@ const _extendRouter = require("./extendRouter");
65
69
  const _StackRouter = require("./StackRouter");
66
70
  const _TabRouter = require("./TabRouter");
67
71
  _export_star(require("./types"), exports);
72
+ const _utils = require("./utils");
68
73
  function _export_star(from, to) {
69
74
  Object.keys(from).forEach(function(k) {
70
75
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["react-navigation/routers/index.tsx"],"sourcesContent":[null],"names":["BaseRouter","CommonActions","DrawerActions","DrawerRouter","StackActions","StackRouter","TabActions","TabRouter","attachRouteState","extendRouter","extendRouterActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;QAISA;eAAAA,sBAAU;;QAFVC;eAAAA;;QAWAC;eAAAA,2BAAa;;QAAEC;eAAAA,0BAAY;;QAe3BC;eAAAA,yBAAY;;QAAEC;eAAAA,wBAAW;;QAOzBC;eAAAA,qBAAU;;QAAEC;eAAAA,oBAAS;;QA9BrBC;eAAAA,kCAAgB;;QAShBC;eAAAA,0BAAY;;QAAEC;eAAAA,iCAAmB;;;;uEAdX;4BAIJ;kCACM;8BAQW;8BACM;6BAcR;2BAOJ;qBACxB"}
1
+ {"version":3,"sources":["react-navigation/routers/index.tsx"],"sourcesContent":[null],"names":["BaseRouter","CommonActions","DrawerActions","DrawerRouter","StackActions","StackRouter","TabActions","TabRouter","attachRouteState","extendRouter","extendRouterActions","isActionHandled"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;QAISA;eAAAA,sBAAU;;QAFVC;eAAAA;;QAWAC;eAAAA,2BAAa;;QAAEC;eAAAA,0BAAY;;QAe3BC;eAAAA,yBAAY;;QAAEC;eAAAA,wBAAW;;QAOzBC;eAAAA,qBAAU;;QAAEC;eAAAA,oBAAS;;QA9BrBC;eAAAA,kCAAgB;;QAShBC;eAAAA,0BAAY;;QAAEC;eAAAA,iCAAmB;;QAuBjCC;eAAAA,sBAAe;;;;uEArCO;4BAIJ;kCACM;8BAQW;8BACM;6BAcR;2BAOJ;qBACxB;uBACkB"}
@@ -131,6 +131,18 @@ type RouterType<State extends NavigationState> = undefined extends State['type']
131
131
  } : {
132
132
  type: State['type'];
133
133
  };
134
+ /**
135
+ * What a router's `getStateForAction` returns when it does not produce a result itself.
136
+ */
137
+ export declare enum RouterActionHandling {
138
+ /**
139
+ * Lets the base router handle the action. Only an `extendRouter` extension or an
140
+ * `extendRouterActions` reducer can return it.
141
+ */
142
+ Delegate = "DELEGATE",
143
+ /** Leaves the action unhandled, so the navigator ignores it. */
144
+ Unhandled = "UNHANDLED"
145
+ }
134
146
  export type Router<State extends NavigationState, Action extends NavigationAction> = RouterType<State> & {
135
147
  /**
136
148
  * Take the current state and the route names the navigator declares, and return the state to
@@ -160,14 +172,15 @@ export type Router<State extends NavigationState, Action extends NavigationActio
160
172
  getBrowserHistoryForRouteFocus?(previous: State, next: State, childAction?: RouterBrowserHistoryAction): RouterBrowserHistoryAction | undefined;
161
173
  /**
162
174
  * Take the current state and action, and return a new state and the affected route key.
163
- * If the action cannot be handled, return `null`. Custom routers must explicitly handle
175
+ * If the action cannot be handled, return `RouterActionHandling.Unhandled`. Returning `null` is
176
+ * deprecated. Use `isActionHandled` to check a result. Custom routers must explicitly handle
164
177
  * `ROUTE_NAMES_CHANGED` to durably reconcile state when their declared routes change.
165
178
  *
166
179
  * @param state State object to apply the action on.
167
180
  * @param action Action object to apply.
168
181
  * @param options.routeNames List of valid route names as defined in the screen components.
169
182
  */
170
- getStateForAction(state: State, action: Action, options: RouterConfigOptions): RouterActionResult<State> | null;
183
+ getStateForAction(state: State, action: Action, options: RouterConfigOptions): RouterActionResult<State> | RouterActionHandling.Unhandled | null;
171
184
  /**
172
185
  * Whether the action should also change focus in parent navigator
173
186
  *
@@ -2,5 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ Object.defineProperty(exports, "RouterActionHandling", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return RouterActionHandling;
9
+ }
10
+ });
11
+ var RouterActionHandling = /*#__PURE__*/ function(RouterActionHandling) {
12
+ /**
13
+ * Lets the base router handle the action. Only an `extendRouter` extension or an
14
+ * `extendRouterActions` reducer can return it.
15
+ */ RouterActionHandling["Delegate"] = "DELEGATE";
16
+ /** Leaves the action unhandled, so the navigator ignores it. */ RouterActionHandling["Unhandled"] = "UNHANDLED";
17
+ return RouterActionHandling;
18
+ }({});
5
19
 
6
20
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"sources":["react-navigation/routers/types.tsx"],"sourcesContent":[null],"names":["RouterActionHandling"],"mappings":";;;;+BAwKYA;;;eAAAA;;;AAAL,IAAA,AAAKA,8CAAAA;IACV;;;GAGC;IAED,8DAA8D;WANpDA"}
@@ -0,0 +1,15 @@
1
+ import { type NavigationState, RouterActionHandling, type RouterActionResult } from './types';
2
+ /**
3
+ * Checks whether a router's `getStateForAction` handled the action. Use it instead of comparing
4
+ * the result with `null`, because a router can leave an action unhandled with
5
+ * `RouterActionHandling.Unhandled` or the deprecated `null`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const result = baseRouter.getStateForAction(state, action);
10
+ * if (!isActionHandled(result)) {
11
+ * return result;
12
+ * }
13
+ * ```
14
+ */
15
+ export declare function isActionHandled<State extends NavigationState>(result: RouterActionResult<State> | RouterActionHandling.Unhandled | null): result is RouterActionResult<State>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "isActionHandled", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return isActionHandled;
9
+ }
10
+ });
11
+ const _types = require("./types");
12
+ function isActionHandled(result) {
13
+ return result !== null && result !== _types.RouterActionHandling.Unhandled;
14
+ }
15
+
16
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["react-navigation/routers/utils.ts"],"sourcesContent":[null],"names":["isActionHandled","result","RouterActionHandling","Unhandled"],"mappings":";;;;+BAegBA;;;eAAAA;;;uBAfoE;AAe7E,SAASA,gBACdC,MAAyE;IAEzE,OAAOA,WAAW,QAAQA,WAAWC,2BAAoB,CAACC,SAAS;AACrE"}
@@ -28,13 +28,7 @@ function _react() {
28
28
  };
29
29
  return data;
30
30
  }
31
- function _reactnativesafeareacontext() {
32
- const data = require("react-native-safe-area-context");
33
- _reactnativesafeareacontext = function() {
34
- return data;
35
- };
36
- return data;
37
- }
31
+ const _SafeAreaProvider = require("../SafeAreaProvider");
38
32
  const _ErrorBoundary = require("../views/ErrorBoundary");
39
33
  const _Try = require("../views/Try");
40
34
  const _client = require("./router/client");
@@ -77,7 +71,7 @@ function RootErrorBoundary(props) {
77
71
  });
78
72
  }
79
73
  function App() {
80
- return /*#__PURE__*/ (0, _jsxruntime().jsx)(_reactnativesafeareacontext().SafeAreaProvider, {
74
+ return /*#__PURE__*/ (0, _jsxruntime().jsx)(_SafeAreaProvider.SafeAreaProvider, {
81
75
  children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_Try.Try, {
82
76
  catch: RootErrorBoundary,
83
77
  children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_client.Router, {})
@@ -1 +1 @@
1
- {"version":3,"sources":["rsc/entry.tsx"],"sourcesContent":[null],"names":["App","RootErrorBoundary","props","React","useEffect","refetchRoute","error","retry","process","env","NODE_ENV","globalThis","__EXPO_RSC_RELOAD_LISTENERS__","index","indexOf","__EXPO_REFETCH_ROUTE__","splice","unshift","ErrorBoundary","__EXPO_REFETCH_ROUTE_NO_CACHE__","SafeAreaProvider","Try","catch","Router"],"mappings":"AAAA;;;;;CAKC,GAED;;;;;+BA+CgBA;;;eAAAA;;;;;;;;;;;gEA7CE;;;;;;;yBACe;;;;;;+BAEH;qBAEV;wBACG;;;;;;AAEvB,2BAA2B;AAC3B,SAASC,kBAAkBC,KAAyB;IAClDC,gBAAK,CAACC,SAAS,CAAC;QACd,SAASC;YACP,IAAIH,MAAMI,KAAK,EAAE;gBACfJ,MAAMK,KAAK;YACb;QACF;QACA,uDAAuD;QACvD,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAC1CC,WAAWC,6BAA6B,KAAK,EAAE;YAC/C,MAAMC,QAAQF,WAAWC,6BAA6B,CAACE,OAAO,CAC5DH,WAAWI,sBAAsB;YAEnC,IAAIF,UAAU,CAAC,GAAG;gBAChBF,WAAWC,6BAA6B,CAACI,MAAM,CAACH,OAAO,GAAGR;YAC5D,OAAO;gBACLM,WAAWC,6BAA6B,CAACK,OAAO,CAACZ;YACnD;YACAM,WAAWI,sBAAsB,GAAGV;QACtC;IACF,GAAG;QAACH,MAAMI,KAAK;QAAEJ,MAAMK,KAAK;KAAC;IAE7B,qBACE,uBAACW,4BAAa;QACZZ,OAAOJ,MAAMI,KAAK;QAClBC,OAAO;YACL,mEAAmE;YACnE,0DAA0D;YAC1DI,WAAWQ,+BAA+B;YAC1C,OAAOjB,MAAMK,KAAK;QACpB;;AAGN;AAGO,SAASP;IACd,qBACE,uBAACoB,8CAAgB;kBACf,cAAA,uBAACC,QAAG;YAACC,OAAOrB;sBACV,cAAA,uBAACsB,cAAM;;;AAIf"}
1
+ {"version":3,"sources":["rsc/entry.tsx"],"sourcesContent":[null],"names":["App","RootErrorBoundary","props","React","useEffect","refetchRoute","error","retry","process","env","NODE_ENV","globalThis","__EXPO_RSC_RELOAD_LISTENERS__","index","indexOf","__EXPO_REFETCH_ROUTE__","splice","unshift","ErrorBoundary","__EXPO_REFETCH_ROUTE_NO_CACHE__","SafeAreaProvider","Try","catch","Router"],"mappings":"AAAA;;;;;CAKC,GAED;;;;;+BA+CgBA;;;eAAAA;;;;;;;;;;;gEA7CE;;;;;;kCAEe;+BACH;qBAEV;wBACG;;;;;;AAEvB,2BAA2B;AAC3B,SAASC,kBAAkBC,KAAyB;IAClDC,gBAAK,CAACC,SAAS,CAAC;QACd,SAASC;YACP,IAAIH,MAAMI,KAAK,EAAE;gBACfJ,MAAMK,KAAK;YACb;QACF;QACA,uDAAuD;QACvD,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAC1CC,WAAWC,6BAA6B,KAAK,EAAE;YAC/C,MAAMC,QAAQF,WAAWC,6BAA6B,CAACE,OAAO,CAC5DH,WAAWI,sBAAsB;YAEnC,IAAIF,UAAU,CAAC,GAAG;gBAChBF,WAAWC,6BAA6B,CAACI,MAAM,CAACH,OAAO,GAAGR;YAC5D,OAAO;gBACLM,WAAWC,6BAA6B,CAACK,OAAO,CAACZ;YACnD;YACAM,WAAWI,sBAAsB,GAAGV;QACtC;IACF,GAAG;QAACH,MAAMI,KAAK;QAAEJ,MAAMK,KAAK;KAAC;IAE7B,qBACE,uBAACW,4BAAa;QACZZ,OAAOJ,MAAMI,KAAK;QAClBC,OAAO;YACL,mEAAmE;YACnE,0DAA0D;YAC1DI,WAAWQ,+BAA+B;YAC1C,OAAOjB,MAAMK,KAAK;QACpB;;AAGN;AAGO,SAASP;IACd,qBACE,uBAACoB,kCAAgB;kBACf,cAAA,uBAACC,QAAG;YAACC,OAAOrB;sBACV,cAAA,uBAACsB,cAAM;;;AAIf"}
@@ -60,11 +60,10 @@ export type HrefOutputParams<T extends ExpoRouter.__routes = ExpoRouter.__routes
60
60
  /**
61
61
  * @hidden
62
62
  */
63
- export type RouteInputParams<T> = Extract<Href, {
64
- pathname: T;
65
- }> extends never ? HrefInputParams extends infer H ? H extends Record<'pathname' | 'params', any> ? T extends H['pathname'] ? H['params'] : never : never : never : Extract<HrefInputParams, {
66
- pathname: T;
67
- }>['params'];
63
+ export type RouteInputParams<T> = HrefInputParams extends infer U ? U extends {
64
+ pathname: string;
65
+ params?: infer Params;
66
+ } ? T extends U['pathname'] ? Params : never : never : never;
68
67
  /**
69
68
  * @hidden
70
69
  */
@@ -1,4 +1,4 @@
1
- import { type CommonNavigationAction, type ParamListBase, type TabActionType as RNTabActionType, type TabNavigationState, type TabRouterOptions as RNTabRouterOptions } from '../react-navigation/native';
1
+ import { type CommonNavigationAction, type ParamListBase, RouterActionHandling, type TabActionType as RNTabActionType, type TabNavigationState, type TabRouterOptions as RNTabRouterOptions } from '../react-navigation/native';
2
2
  import { type RouteState } from '../react-navigation/routers/attachRouteState';
3
3
  import { type TriggerMap } from './common';
4
4
  export type ExpoTabRouterOptions = RNTabRouterOptions & {
@@ -15,4 +15,6 @@ export type ExpoTabActionType = RNTabActionType | CommonNavigationAction | {
15
15
  state?: RouteState;
16
16
  };
17
17
  };
18
- export declare const ExpoTabRouter: (options: ExpoTabRouterOptions) => import("..").Router<TabNavigationState<ParamListBase>, ExpoTabActionType>;
18
+ export declare const ExpoTabRouter: (options: ExpoTabRouterOptions) => Omit<import("..").Router<TabNavigationState<ParamListBase>, ExpoTabActionType>, "getStateForAction"> & {
19
+ getStateForAction(state: TabNavigationState<ParamListBase>, action: ExpoTabActionType, options: import("..").RouterConfigOptions): RouterActionHandling.Unhandled | import("..").RouterActionResult<TabNavigationState<ParamListBase>>;
20
+ };
@@ -14,11 +14,11 @@ const _attachRouteState = require("../react-navigation/routers/attachRouteState"
14
14
  const _common = require("./common");
15
15
  const ExpoTabRouter = (0, _native.extendRouterActions)(_native.TabRouter, (state, action, { baseRouter, options })=>{
16
16
  if (action.type !== 'JUMP_TO') {
17
- return undefined;
17
+ return _native.RouterActionHandling.Delegate;
18
18
  }
19
19
  const { route, isSwitching } = (0, _common.getTabRoute)(state, action.payload.name);
20
20
  if (!route) {
21
- return undefined;
21
+ return _native.RouterActionHandling.Delegate;
22
22
  }
23
23
  const shouldReset = 'resetOnFocus' in action.payload && Boolean(action.payload.resetOnFocus && isSwitching);
24
24
  if (shouldReset) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ui/TabRouter.tsx"],"sourcesContent":[null],"names":["ExpoTabRouter","extendRouterActions","RNTabRouter","state","action","baseRouter","options","type","undefined","route","isSwitching","getTabRoute","payload","name","shouldReset","Boolean","resetOnFocus","routes","map","r","key","selectedRoute","attachRouteState","ensureStateHistory","backBehavior","initialRouteName","affectedRouteKey","getStateForAction"],"mappings":";;;;+BAiCaA;;;eAAAA;;;wBAxBN;2BAC4B;kCACe;wBACL;AAqBtC,MAAMA,gBAAgBC,IAAAA,2BAAmB,EAC9CC,iBAAW,EACX,CACEC,OACAC,QACA,EACEC,UAAU,EACVC,OAAO,EAKR;IAED,IAAIF,OAAOG,IAAI,KAAK,WAAW;QAC7B,OAAOC;IACT;IAEA,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAE,GAAGC,IAAAA,mBAAW,EAACR,OAAOC,OAAOQ,OAAO,CAACC,IAAI;IAErE,IAAI,CAACJ,OAAO;QACV,OAAOD;IACT;IAEA,MAAMM,cACJ,kBAAkBV,OAAOQ,OAAO,IAAIG,QAAQX,OAAOQ,OAAO,CAACI,YAAY,IAAIN;IAE7E,IAAII,aAAa;QACfX,QAAQ;YACN,GAAGA,KAAK;YACRc,QAAQd,MAAMc,MAAM,CAACC,GAAG,CAAC,CAACC;gBACxB,IAAIA,EAAEC,GAAG,KAAKX,MAAMW,GAAG,EAAE;oBACvB,OAAOD;gBACT;gBACA,OAAO;oBAAE,GAAGA,CAAC;oBAAEhB,OAAOK;gBAAU;YAClC;QACF;IACF;IAEA,IAAI,CAACE,eAAeD,MAAMN,KAAK,KAAKK,WAAW;QAC7C,MAAMa,gBAAgBC,IAAAA,kCAAgB,EAACb,OAAOL;QAC9C,IAAIiB,kBAAkBZ,OAAO;YAC3BN,QAAQoB,IAAAA,6BAAkB,EACxBpB,OACAG,QAAQkB,YAAY,IAAI,cACxBlB,QAAQmB,gBAAgB;YAE1B,OAAO;gBAAEtB;gBAAOuB,kBAAkBjB,MAAMW,GAAG;YAAC;QAC9C;IACF;IAEA,OAAOf,WAAWsB,iBAAiB,CAACxB,OAAOC;AAC7C"}
1
+ {"version":3,"sources":["ui/TabRouter.tsx"],"sourcesContent":[null],"names":["ExpoTabRouter","extendRouterActions","RNTabRouter","state","action","baseRouter","options","type","RouterActionHandling","Delegate","route","isSwitching","getTabRoute","payload","name","shouldReset","Boolean","resetOnFocus","routes","map","r","key","undefined","selectedRoute","attachRouteState","ensureStateHistory","backBehavior","initialRouteName","affectedRouteKey","getStateForAction"],"mappings":";;;;+BAkCaA;;;eAAAA;;;wBAxBN;2BAC4B;kCACe;wBACL;AAqBtC,MAAMA,gBAAgBC,IAAAA,2BAAmB,EAC9CC,iBAAW,EACX,CACEC,OACAC,QACA,EACEC,UAAU,EACVC,OAAO,EAKR;IAED,IAAIF,OAAOG,IAAI,KAAK,WAAW;QAC7B,OAAOC,4BAAoB,CAACC,QAAQ;IACtC;IAEA,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAE,GAAGC,IAAAA,mBAAW,EAACT,OAAOC,OAAOS,OAAO,CAACC,IAAI;IAErE,IAAI,CAACJ,OAAO;QACV,OAAOF,4BAAoB,CAACC,QAAQ;IACtC;IAEA,MAAMM,cACJ,kBAAkBX,OAAOS,OAAO,IAAIG,QAAQZ,OAAOS,OAAO,CAACI,YAAY,IAAIN;IAE7E,IAAII,aAAa;QACfZ,QAAQ;YACN,GAAGA,KAAK;YACRe,QAAQf,MAAMe,MAAM,CAACC,GAAG,CAAC,CAACC;gBACxB,IAAIA,EAAEC,GAAG,KAAKX,MAAMW,GAAG,EAAE;oBACvB,OAAOD;gBACT;gBACA,OAAO;oBAAE,GAAGA,CAAC;oBAAEjB,OAAOmB;gBAAU;YAClC;QACF;IACF;IAEA,IAAI,CAACX,eAAeD,MAAMP,KAAK,KAAKmB,WAAW;QAC7C,MAAMC,gBAAgBC,IAAAA,kCAAgB,EAACd,OAAON;QAC9C,IAAImB,kBAAkBb,OAAO;YAC3BP,QAAQsB,IAAAA,6BAAkB,EACxBtB,OACAG,QAAQoB,YAAY,IAAI,cACxBpB,QAAQqB,gBAAgB;YAE1B,OAAO;gBAAExB;gBAAOyB,kBAAkBlB,MAAMW,GAAG;YAAC;QAC9C;IACF;IAEA,OAAOhB,WAAWwB,iBAAiB,CAAC1B,OAAOC;AAC7C"}
@@ -18,5 +18,5 @@ export declare class Try extends Component<PropsWithChildren<{
18
18
  error: Error;
19
19
  } | null;
20
20
  retry: () => Promise<void>;
21
- render(): string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null | undefined;
21
+ render(): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
22
22
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.router",
5
5
  "module": "expo.modules.router",
6
- "version": "58.0.19",
6
+ "version": "58.0.21",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.router-58.0.19.aar",
28
- "url": "expo.modules.router-58.0.19.aar",
27
+ "name": "expo.modules.router-58.0.21.aar",
28
+ "url": "expo.modules.router-58.0.21.aar",
29
29
  "size": 16133,
30
30
  "sha512": "32ccb33ae7df2d0abc96fb77d87c776773a15d8de0818d83bbca865581f60f85a0c280a75de2f770590ccabadb78874cec32689a50a0bc29b6a9025ed6c592b1",
31
31
  "sha256": "5a620cdcb41c5bc3c82e954ffd02de6b85954cd41bde5b5694ac9d5f5f25aa8f",
@@ -74,8 +74,8 @@
74
74
  ],
75
75
  "files": [
76
76
  {
77
- "name": "expo.modules.router-58.0.19.aar",
78
- "url": "expo.modules.router-58.0.19.aar",
77
+ "name": "expo.modules.router-58.0.21.aar",
78
+ "url": "expo.modules.router-58.0.21.aar",
79
79
  "size": 16133,
80
80
  "sha512": "32ccb33ae7df2d0abc96fb77d87c776773a15d8de0818d83bbca865581f60f85a0c280a75de2f770590ccabadb78874cec32689a50a0bc29b6a9025ed6c592b1",
81
81
  "sha256": "5a620cdcb41c5bc3c82e954ffd02de6b85954cd41bde5b5694ac9d5f5f25aa8f",
@@ -94,8 +94,8 @@
94
94
  },
95
95
  "files": [
96
96
  {
97
- "name": "expo.modules.router-58.0.19-sources.jar",
98
- "url": "expo.modules.router-58.0.19-sources.jar",
97
+ "name": "expo.modules.router-58.0.21-sources.jar",
98
+ "url": "expo.modules.router-58.0.21-sources.jar",
99
99
  "size": 1986,
100
100
  "sha512": "c1d7dd32034c271b8e8d511c2e8ea7705b8378c4e2859d4bf810cd75ea33bbd4c212c9bbb5f0d27ae90f8f599fbb8f865b37001791bb539e94b90413396e6139",
101
101
  "sha256": "3027e02be198959073884cd5afb9b46f39f0d7396a590f6840bb63ef37010adc",
@@ -0,0 +1 @@
1
+ c18b72adfb1c1f95fb1044bc07e85ea602f41dd14635277edc3b57468fa68c62
@@ -0,0 +1 @@
1
+ 1e1616162862ec9f648a16ff1300badb055fb288c219066afcd6c4928941bbec880facaa003015c9b10fa8383baf449f63563d1bb21a73b94f175ae76d42ba02
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.router</groupId>
11
11
  <artifactId>expo.modules.router</artifactId>
12
- <version>58.0.19</version>
12
+ <version>58.0.21</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.router</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ a46a467eb3290df99bbfc217ffb883b27be47c7a086d4c9cac8c864350485850
@@ -0,0 +1 @@
1
+ d4841d6404811239cce2b00be920d2a21999167ee63d6d1ddb69654b88ad5ea74c782d1e3f805fa40d59f5d4827226d586ba3037c86ac12900220f84f4732c44
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-router",
3
- "version": "58.0.19",
3
+ "version": "58.0.21",
4
4
  "description": "Expo Router is a file-based router for React Native and web applications.",
5
5
  "keywords": [
6
6
  "expo",
@@ -282,21 +282,21 @@
282
282
  "@radix-ui/react-slot": "^1.2.0",
283
283
  "@radix-ui/react-tabs": "^1.1.12",
284
284
  "@react-native-masked-view/masked-view": "^0.3.2",
285
- "@react-native/normalize-colors": "0.88.0-rc.4",
285
+ "@react-native/normalize-colors": "0.88.0",
286
286
  "client-only": "^0.0.1",
287
- "expo-glass-effect": "^58.0.3",
287
+ "expo-glass-effect": "^58.0.4",
288
288
  "expo-server": "^58.0.5",
289
289
  "nanoid": "^3.3.18",
290
290
  "react-fast-compare": "^3.2.2",
291
291
  "react-is": "^19.1.0",
292
- "react-native-drawer-layout": "^4.2.2",
292
+ "react-native-drawer-layout": "^4.2.12",
293
293
  "react-native-screens": "^4.30.0 || ^5.0.0-alpha.3",
294
294
  "server-only": "^0.0.1",
295
295
  "sf-symbols-typescript": "^2.1.0",
296
296
  "standard-navigation": "^0.0.5"
297
297
  },
298
298
  "devDependencies": {
299
- "@expo/ui": "^58.0.17",
299
+ "@expo/ui": "^58.0.19",
300
300
  "@jest/globals": "^30.0.0",
301
301
  "@testing-library/dom": "^10.4.0",
302
302
  "@testing-library/jest-dom": "^6.9.1",
@@ -323,7 +323,7 @@
323
323
  "peerDependencies": {
324
324
  "@expo/log-box": "^58.0.12",
325
325
  "@expo/metro-runtime": "^58.0.14",
326
- "@expo/ui": "^58.0.17",
326
+ "@expo/ui": "^58.0.19",
327
327
  "@testing-library/react-native": ">= 14.0.0",
328
328
  "expo": "*",
329
329
  "expo-constants": "^58.0.12",
@@ -1 +0,0 @@
1
- f068738ea28c845c5538ec1f3dcda1eb1118e0b00e1195d992629391825d6d61
@@ -1 +0,0 @@
1
- f337a85c5e62da8519266c3731184e8d282e4e8db2694a788246b4a5675a676bc7a3a7e878920da2521ab574fa59740ab08d0c901971586b309a360ffa521b93
@@ -1 +0,0 @@
1
- 6acee38c23d264d63ebe4f28a9eaf6970426fbe6d5295b35f81243c1f0556396
@@ -1 +0,0 @@
1
- 579cd3d2f04007baacbcd6147b7f29a1c4eebb024aef136cf3117c70fafdc502bb34ed9c0d5f5b0fc09d07f5a063ce15f03617ff8f46159bdbe97650ab11328f