react-router 7.3.0-pre.0 → 7.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -2868,55 +2868,39 @@ async function defaultDataStrategyWithMiddleware(args) {
2868
2868
  if (!args.matches.some((m) => m.route.unstable_middleware)) {
2869
2869
  return defaultDataStrategy(args);
2870
2870
  }
2871
- let lastIndex = args.matches.length - 1;
2872
- for (let i = lastIndex; i >= 0; i--) {
2873
- if (args.matches[i].shouldLoad) {
2874
- lastIndex = i;
2875
- break;
2876
- }
2877
- }
2878
- let results = await runMiddlewarePipeline(
2871
+ return runMiddlewarePipeline(
2879
2872
  args,
2880
- lastIndex,
2881
2873
  false,
2882
- async (keyedResults) => {
2883
- Object.assign(keyedResults, await defaultDataStrategy(args));
2884
- },
2885
- (e, keyedResults) => {
2886
- Object.assign(keyedResults, {
2887
- [e.routeId]: { type: "error", result: e.error }
2888
- });
2889
- }
2874
+ () => defaultDataStrategy(args),
2875
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
2890
2876
  );
2891
- return results;
2892
2877
  }
2893
- async function runMiddlewarePipeline({
2894
- request,
2895
- params,
2896
- context,
2897
- matches
2898
- }, lastIndex, propagateResult, handler, errorHandler) {
2878
+ async function runMiddlewarePipeline(args, propagateResult, handler, errorHandler) {
2879
+ let { matches, request, params, context } = args;
2899
2880
  let middlewareState = {
2900
- keyedResults: {},
2881
+ handlerResult: void 0,
2901
2882
  propagateResult
2902
2883
  };
2903
2884
  try {
2885
+ let tuples = matches.flatMap(
2886
+ (m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
2887
+ );
2904
2888
  let result = await callRouteMiddleware(
2905
- matches.slice(0, lastIndex + 1).flatMap(
2906
- (m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
2907
- ),
2908
- 0,
2909
2889
  { request, params, context },
2890
+ tuples,
2910
2891
  middlewareState,
2911
2892
  handler
2912
2893
  );
2913
- return middlewareState.propagateResult ? result : middlewareState.keyedResults;
2894
+ return middlewareState.propagateResult ? result : middlewareState.handlerResult;
2914
2895
  } catch (e) {
2915
2896
  if (!(e instanceof MiddlewareError)) {
2916
2897
  throw e;
2917
2898
  }
2918
- let result = await errorHandler(e, middlewareState.keyedResults);
2919
- return middlewareState.propagateResult ? result : middlewareState.keyedResults;
2899
+ let result = await errorHandler(e);
2900
+ if (propagateResult || !middlewareState.handlerResult) {
2901
+ return result;
2902
+ }
2903
+ return Object.assign(middlewareState.handlerResult, result);
2920
2904
  }
2921
2905
  }
2922
2906
  var MiddlewareError = class {
@@ -2925,7 +2909,7 @@ var MiddlewareError = class {
2925
2909
  this.error = error;
2926
2910
  }
2927
2911
  };
2928
- async function callRouteMiddleware(middlewares, idx, args, middlewareState, handler) {
2912
+ async function callRouteMiddleware(args, middlewares, middlewareState, handler, idx = 0) {
2929
2913
  let { request } = args;
2930
2914
  if (request.signal.aborted) {
2931
2915
  if (request.signal.reason) {
@@ -2937,8 +2921,8 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
2937
2921
  }
2938
2922
  let tuple = middlewares[idx];
2939
2923
  if (!tuple) {
2940
- let result = await handler(middlewareState.keyedResults);
2941
- return result;
2924
+ middlewareState.handlerResult = await handler();
2925
+ return middlewareState.handlerResult;
2942
2926
  }
2943
2927
  let [routeId, middleware] = tuple;
2944
2928
  let nextCalled = false;
@@ -2949,11 +2933,11 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
2949
2933
  }
2950
2934
  nextCalled = true;
2951
2935
  let result = await callRouteMiddleware(
2952
- middlewares,
2953
- idx + 1,
2954
2936
  args,
2937
+ middlewares,
2955
2938
  middlewareState,
2956
- handler
2939
+ handler,
2940
+ idx + 1
2957
2941
  );
2958
2942
  if (middlewareState.propagateResult) {
2959
2943
  nextResult = result;
@@ -4528,28 +4512,15 @@ async function createRequestInit(request) {
4528
4512
 
4529
4513
  // lib/dom/ssr/single-fetch.tsx
4530
4514
  var SingleFetchRedirectSymbol = Symbol("SingleFetchRedirect");
4531
- function middlewareErrorHandler(e, keyedResults) {
4532
- Object.assign(keyedResults, {
4533
- [e.routeId]: { type: "error", result: e.error }
4534
- });
4535
- }
4536
4515
  function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRouter) {
4537
4516
  return async (args) => {
4538
4517
  let { request, matches, fetcherKey } = args;
4539
4518
  if (request.method !== "GET") {
4540
4519
  return runMiddlewarePipeline(
4541
4520
  args,
4542
- matches.findIndex((m) => m.shouldLoad),
4543
4521
  false,
4544
- async (keyedResults) => {
4545
- let results = await singleFetchActionStrategy(
4546
- request,
4547
- matches,
4548
- basename
4549
- );
4550
- Object.assign(keyedResults, results);
4551
- },
4552
- middlewareErrorHandler
4522
+ () => singleFetchActionStrategy(request, matches, basename),
4523
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
4553
4524
  );
4554
4525
  }
4555
4526
  if (!ssr) {
@@ -4557,64 +4528,35 @@ function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRo
4557
4528
  (m) => m.shouldLoad && manifest.routes[m.route.id]?.hasLoader && !manifest.routes[m.route.id]?.hasClientLoader
4558
4529
  );
4559
4530
  if (!foundRevalidatingServerLoader) {
4560
- let tailIdx = [...matches].reverse().findIndex((m) => m.shouldLoad);
4561
- let lowestLoadingIndex2 = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
4562
4531
  return runMiddlewarePipeline(
4563
4532
  args,
4564
- lowestLoadingIndex2,
4565
4533
  false,
4566
- async (keyedResults) => {
4567
- let results = await nonSsrStrategy(
4568
- manifest,
4569
- request,
4570
- matches,
4571
- basename
4572
- );
4573
- Object.assign(keyedResults, results);
4574
- },
4575
- middlewareErrorHandler
4534
+ () => nonSsrStrategy(manifest, request, matches, basename),
4535
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
4576
4536
  );
4577
4537
  }
4578
4538
  }
4579
4539
  if (fetcherKey) {
4580
4540
  return runMiddlewarePipeline(
4581
4541
  args,
4582
- matches.findIndex((m) => m.shouldLoad),
4583
4542
  false,
4584
- async (keyedResults) => {
4585
- let results = await singleFetchLoaderFetcherStrategy(
4586
- request,
4587
- matches,
4588
- basename
4589
- );
4590
- Object.assign(keyedResults, results);
4591
- },
4592
- middlewareErrorHandler
4543
+ () => singleFetchLoaderFetcherStrategy(request, matches, basename),
4544
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
4593
4545
  );
4594
4546
  }
4595
- let lowestLoadingIndex = getLowestLoadingIndex(
4596
- manifest,
4597
- routeModules,
4598
- getRouter(),
4599
- matches
4600
- );
4601
4547
  return runMiddlewarePipeline(
4602
4548
  args,
4603
- lowestLoadingIndex,
4604
4549
  false,
4605
- async (keyedResults) => {
4606
- let results = await singleFetchLoaderNavigationStrategy(
4607
- manifest,
4608
- routeModules,
4609
- ssr,
4610
- getRouter(),
4611
- request,
4612
- matches,
4613
- basename
4614
- );
4615
- Object.assign(keyedResults, results);
4616
- },
4617
- middlewareErrorHandler
4550
+ () => singleFetchLoaderNavigationStrategy(
4551
+ manifest,
4552
+ routeModules,
4553
+ ssr,
4554
+ getRouter(),
4555
+ request,
4556
+ matches,
4557
+ basename
4558
+ ),
4559
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
4618
4560
  );
4619
4561
  };
4620
4562
  }
@@ -4667,17 +4609,6 @@ async function nonSsrStrategy(manifest, request, matches, basename) {
4667
4609
  function isOptedOut(manifestRoute, routeModule, match, router2) {
4668
4610
  return match.route.id in router2.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModule && routeModule.shouldRevalidate;
4669
4611
  }
4670
- function getLowestLoadingIndex(manifest, routeModules, router2, matches) {
4671
- let tailIdx = [...matches].reverse().findIndex(
4672
- (m) => m.shouldLoad || !isOptedOut(
4673
- manifest.routes[m.route.id],
4674
- routeModules[m.route.id],
4675
- m,
4676
- router2
4677
- )
4678
- );
4679
- return tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
4680
- }
4681
4612
  async function singleFetchLoaderNavigationStrategy(manifest, routeModules, ssr, router2, request, matches, basename) {
4682
4613
  let routesParams = /* @__PURE__ */ new Set();
4683
4614
  let foundOptOutRoute = false;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -25,7 +25,7 @@ import {
25
25
  matchRoutes,
26
26
  shouldHydrateRouteLoader,
27
27
  useFogOFWarDiscovery
28
- } from "./chunk-ZITGHOQF.mjs";
28
+ } from "./chunk-RFJZTPXA.mjs";
29
29
 
30
30
  // lib/dom-export/dom-router-provider.tsx
31
31
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -2835,8 +2835,6 @@ function createStaticHandler(routes, opts) {
2835
2835
  "When using middleware in `staticHandler.query()`, any provided `requestContext` must bean instance of `unstable_RouterContextProvider`"
2836
2836
  );
2837
2837
  try {
2838
- let tailIdx = [...matches].reverse().findIndex((m) => !filterMatchesToLoad || filterMatchesToLoad(m));
2839
- let lowestLoadingIdx = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
2840
2838
  let renderedStaticContext;
2841
2839
  let response = await runMiddlewarePipeline(
2842
2840
  {
@@ -2847,7 +2845,6 @@ function createStaticHandler(routes, opts) {
2847
2845
  // this to the proper type knowing it's not an `AppLoadContext`
2848
2846
  context: requestContext
2849
2847
  },
2850
- lowestLoadingIdx,
2851
2848
  true,
2852
2849
  async () => {
2853
2850
  let result2 = await queryImpl(
@@ -2967,7 +2964,6 @@ function createStaticHandler(routes, opts) {
2967
2964
  // this to the proper type knowing it's not an `AppLoadContext`
2968
2965
  context: requestContext
2969
2966
  },
2970
- matches.length - 1,
2971
2967
  true,
2972
2968
  async () => {
2973
2969
  let result2 = await queryImpl(
@@ -3724,55 +3720,39 @@ async function defaultDataStrategyWithMiddleware(args) {
3724
3720
  if (!args.matches.some((m) => m.route.unstable_middleware)) {
3725
3721
  return defaultDataStrategy(args);
3726
3722
  }
3727
- let lastIndex = args.matches.length - 1;
3728
- for (let i = lastIndex; i >= 0; i--) {
3729
- if (args.matches[i].shouldLoad) {
3730
- lastIndex = i;
3731
- break;
3732
- }
3733
- }
3734
- let results = await runMiddlewarePipeline(
3723
+ return runMiddlewarePipeline(
3735
3724
  args,
3736
- lastIndex,
3737
3725
  false,
3738
- async (keyedResults) => {
3739
- Object.assign(keyedResults, await defaultDataStrategy(args));
3740
- },
3741
- (e, keyedResults) => {
3742
- Object.assign(keyedResults, {
3743
- [e.routeId]: { type: "error", result: e.error }
3744
- });
3745
- }
3726
+ () => defaultDataStrategy(args),
3727
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
3746
3728
  );
3747
- return results;
3748
3729
  }
3749
- async function runMiddlewarePipeline({
3750
- request,
3751
- params,
3752
- context,
3753
- matches
3754
- }, lastIndex, propagateResult, handler, errorHandler) {
3730
+ async function runMiddlewarePipeline(args, propagateResult, handler, errorHandler) {
3731
+ let { matches, request, params, context } = args;
3755
3732
  let middlewareState = {
3756
- keyedResults: {},
3733
+ handlerResult: void 0,
3757
3734
  propagateResult
3758
3735
  };
3759
3736
  try {
3737
+ let tuples = matches.flatMap(
3738
+ (m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
3739
+ );
3760
3740
  let result = await callRouteMiddleware(
3761
- matches.slice(0, lastIndex + 1).flatMap(
3762
- (m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
3763
- ),
3764
- 0,
3765
3741
  { request, params, context },
3742
+ tuples,
3766
3743
  middlewareState,
3767
3744
  handler
3768
3745
  );
3769
- return middlewareState.propagateResult ? result : middlewareState.keyedResults;
3746
+ return middlewareState.propagateResult ? result : middlewareState.handlerResult;
3770
3747
  } catch (e) {
3771
3748
  if (!(e instanceof MiddlewareError)) {
3772
3749
  throw e;
3773
3750
  }
3774
- let result = await errorHandler(e, middlewareState.keyedResults);
3775
- return middlewareState.propagateResult ? result : middlewareState.keyedResults;
3751
+ let result = await errorHandler(e);
3752
+ if (propagateResult || !middlewareState.handlerResult) {
3753
+ return result;
3754
+ }
3755
+ return Object.assign(middlewareState.handlerResult, result);
3776
3756
  }
3777
3757
  }
3778
3758
  var MiddlewareError = class {
@@ -3781,7 +3761,7 @@ var MiddlewareError = class {
3781
3761
  this.error = error;
3782
3762
  }
3783
3763
  };
3784
- async function callRouteMiddleware(middlewares, idx, args, middlewareState, handler) {
3764
+ async function callRouteMiddleware(args, middlewares, middlewareState, handler, idx = 0) {
3785
3765
  let { request } = args;
3786
3766
  if (request.signal.aborted) {
3787
3767
  if (request.signal.reason) {
@@ -3793,8 +3773,8 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
3793
3773
  }
3794
3774
  let tuple = middlewares[idx];
3795
3775
  if (!tuple) {
3796
- let result = await handler(middlewareState.keyedResults);
3797
- return result;
3776
+ middlewareState.handlerResult = await handler();
3777
+ return middlewareState.handlerResult;
3798
3778
  }
3799
3779
  let [routeId, middleware] = tuple;
3800
3780
  let nextCalled = false;
@@ -3805,11 +3785,11 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
3805
3785
  }
3806
3786
  nextCalled = true;
3807
3787
  let result = await callRouteMiddleware(
3808
- middlewares,
3809
- idx + 1,
3810
3788
  args,
3789
+ middlewares,
3811
3790
  middlewareState,
3812
- handler
3791
+ handler,
3792
+ idx + 1
3813
3793
  );
3814
3794
  if (middlewareState.propagateResult) {
3815
3795
  nextResult = result;
@@ -6172,28 +6152,15 @@ function StreamTransfer({
6172
6152
  )));
6173
6153
  }
6174
6154
  }
6175
- function middlewareErrorHandler(e, keyedResults) {
6176
- Object.assign(keyedResults, {
6177
- [e.routeId]: { type: "error", result: e.error }
6178
- });
6179
- }
6180
6155
  function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRouter) {
6181
6156
  return async (args) => {
6182
6157
  let { request, matches, fetcherKey } = args;
6183
6158
  if (request.method !== "GET") {
6184
6159
  return runMiddlewarePipeline(
6185
6160
  args,
6186
- matches.findIndex((m) => m.shouldLoad),
6187
6161
  false,
6188
- async (keyedResults) => {
6189
- let results = await singleFetchActionStrategy(
6190
- request,
6191
- matches,
6192
- basename
6193
- );
6194
- Object.assign(keyedResults, results);
6195
- },
6196
- middlewareErrorHandler
6162
+ () => singleFetchActionStrategy(request, matches, basename),
6163
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
6197
6164
  );
6198
6165
  }
6199
6166
  if (!ssr) {
@@ -6201,64 +6168,35 @@ function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRo
6201
6168
  (m) => m.shouldLoad && manifest.routes[m.route.id]?.hasLoader && !manifest.routes[m.route.id]?.hasClientLoader
6202
6169
  );
6203
6170
  if (!foundRevalidatingServerLoader) {
6204
- let tailIdx = [...matches].reverse().findIndex((m) => m.shouldLoad);
6205
- let lowestLoadingIndex2 = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
6206
6171
  return runMiddlewarePipeline(
6207
6172
  args,
6208
- lowestLoadingIndex2,
6209
6173
  false,
6210
- async (keyedResults) => {
6211
- let results = await nonSsrStrategy(
6212
- manifest,
6213
- request,
6214
- matches,
6215
- basename
6216
- );
6217
- Object.assign(keyedResults, results);
6218
- },
6219
- middlewareErrorHandler
6174
+ () => nonSsrStrategy(manifest, request, matches, basename),
6175
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
6220
6176
  );
6221
6177
  }
6222
6178
  }
6223
6179
  if (fetcherKey) {
6224
6180
  return runMiddlewarePipeline(
6225
6181
  args,
6226
- matches.findIndex((m) => m.shouldLoad),
6227
6182
  false,
6228
- async (keyedResults) => {
6229
- let results = await singleFetchLoaderFetcherStrategy(
6230
- request,
6231
- matches,
6232
- basename
6233
- );
6234
- Object.assign(keyedResults, results);
6235
- },
6236
- middlewareErrorHandler
6183
+ () => singleFetchLoaderFetcherStrategy(request, matches, basename),
6184
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
6237
6185
  );
6238
6186
  }
6239
- let lowestLoadingIndex = getLowestLoadingIndex(
6240
- manifest,
6241
- routeModules,
6242
- getRouter(),
6243
- matches
6244
- );
6245
6187
  return runMiddlewarePipeline(
6246
6188
  args,
6247
- lowestLoadingIndex,
6248
6189
  false,
6249
- async (keyedResults) => {
6250
- let results = await singleFetchLoaderNavigationStrategy(
6251
- manifest,
6252
- routeModules,
6253
- ssr,
6254
- getRouter(),
6255
- request,
6256
- matches,
6257
- basename
6258
- );
6259
- Object.assign(keyedResults, results);
6260
- },
6261
- middlewareErrorHandler
6190
+ () => singleFetchLoaderNavigationStrategy(
6191
+ manifest,
6192
+ routeModules,
6193
+ ssr,
6194
+ getRouter(),
6195
+ request,
6196
+ matches,
6197
+ basename
6198
+ ),
6199
+ (e) => ({ [e.routeId]: { type: "error", result: e.error } })
6262
6200
  );
6263
6201
  };
6264
6202
  }
@@ -6311,17 +6249,6 @@ async function nonSsrStrategy(manifest, request, matches, basename) {
6311
6249
  function isOptedOut(manifestRoute, routeModule, match, router) {
6312
6250
  return match.route.id in router.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModule && routeModule.shouldRevalidate;
6313
6251
  }
6314
- function getLowestLoadingIndex(manifest, routeModules, router, matches) {
6315
- let tailIdx = [...matches].reverse().findIndex(
6316
- (m) => m.shouldLoad || !isOptedOut(
6317
- manifest.routes[m.route.id],
6318
- routeModules[m.route.id],
6319
- m,
6320
- router
6321
- )
6322
- );
6323
- return tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
6324
- }
6325
6252
  async function singleFetchLoaderNavigationStrategy(manifest, routeModules, ssr, router, request, matches, basename) {
6326
6253
  let routesParams = /* @__PURE__ */ new Set();
6327
6254
  let foundOptOutRoute = false;
@@ -7736,7 +7663,7 @@ function mergeRefs(...refs) {
7736
7663
  var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
7737
7664
  try {
7738
7665
  if (isBrowser) {
7739
- window.__reactRouterVersion = "7.3.0-pre.0";
7666
+ window.__reactRouterVersion = "7.3.0";
7740
7667
  }
7741
7668
  } catch (e) {
7742
7669
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -123,7 +123,7 @@ import {
123
123
  useSearchParams,
124
124
  useSubmit,
125
125
  useViewTransitionState
126
- } from "./chunk-ZITGHOQF.mjs";
126
+ } from "./chunk-RFJZTPXA.mjs";
127
127
  export {
128
128
  Await,
129
129
  BrowserRouter,
@@ -99,10 +99,11 @@ type ClientDataFunctionArgs<T extends RouteInfo> = {
99
99
  params: T["params"];
100
100
  /**
101
101
  * When `future.unstable_middleware` is not enabled, this is undefined.
102
+ *
102
103
  * When `future.unstable_middleware` is enabled, this is an instance of
103
- * `{@link unstable_RouterContextProvider}` and can be used to access context values
104
+ * `unstable_RouterContextProvider` and can be used to access context values
104
105
  * from your route middlewares. You may pass in initial context values in your
105
- * `{@link unstable_getContext}` function passed tp `{@link HydratedRouter}`
106
+ * `<HydratedRouter unstable_getContext>` prop
106
107
  */
107
108
  context: unstable_RouterContextProvider;
108
109
  };
@@ -126,15 +127,15 @@ type ServerDataFunctionArgs<T extends RouteInfo> = {
126
127
  params: T["params"];
127
128
  /**
128
129
  * Without `future.unstable_middleware` enabled, this is the context passed in
129
- * to your server adapter's `{@link getLoadContext}` function. It's a way to bridge the
130
+ * to your server adapter's `getLoadContext` function. It's a way to bridge the
130
131
  * gap between the adapter's request/response API with your React Router app.
131
132
  * It is only applicable if you are using a custom server adapter.
132
133
  *
133
134
  * With `future.unstable_middleware` enabled, this is an instance of
134
- * `{@link unstable_RouterContextProvider}` and can be used for type-safe access to
135
+ * `unstable_RouterContextProvider` and can be used for type-safe access to
135
136
  * context value set in your route middlewares. If you are using a custom
136
137
  * server adapter, you may provide an initial set of context values from your
137
- * `{@link getLoadContext}` function.
138
+ * `getLoadContext` function.
138
139
  */
139
140
  context: MiddlewareEnabled extends true ? unstable_RouterContextProvider : AppLoadContext;
140
141
  };
@@ -99,10 +99,11 @@ type ClientDataFunctionArgs<T extends RouteInfo> = {
99
99
  params: T["params"];
100
100
  /**
101
101
  * When `future.unstable_middleware` is not enabled, this is undefined.
102
+ *
102
103
  * When `future.unstable_middleware` is enabled, this is an instance of
103
- * `{@link unstable_RouterContextProvider}` and can be used to access context values
104
+ * `unstable_RouterContextProvider` and can be used to access context values
104
105
  * from your route middlewares. You may pass in initial context values in your
105
- * `{@link unstable_getContext}` function passed tp `{@link HydratedRouter}`
106
+ * `<HydratedRouter unstable_getContext>` prop
106
107
  */
107
108
  context: unstable_RouterContextProvider;
108
109
  };
@@ -126,15 +127,15 @@ type ServerDataFunctionArgs<T extends RouteInfo> = {
126
127
  params: T["params"];
127
128
  /**
128
129
  * Without `future.unstable_middleware` enabled, this is the context passed in
129
- * to your server adapter's `{@link getLoadContext}` function. It's a way to bridge the
130
+ * to your server adapter's `getLoadContext` function. It's a way to bridge the
130
131
  * gap between the adapter's request/response API with your React Router app.
131
132
  * It is only applicable if you are using a custom server adapter.
132
133
  *
133
134
  * With `future.unstable_middleware` enabled, this is an instance of
134
- * `{@link unstable_RouterContextProvider}` and can be used for type-safe access to
135
+ * `unstable_RouterContextProvider` and can be used for type-safe access to
135
136
  * context value set in your route middlewares. If you are using a custom
136
137
  * server adapter, you may provide an initial set of context values from your
137
- * `{@link getLoadContext}` function.
138
+ * `getLoadContext` function.
138
139
  */
139
140
  context: MiddlewareEnabled extends true ? unstable_RouterContextProvider : AppLoadContext;
140
141
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.3.0-pre.0
2
+ * react-router v7.3.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-router",
3
- "version": "7.3.0-pre.0",
3
+ "version": "7.3.0",
4
4
  "description": "Declarative routing for React",
5
5
  "keywords": [
6
6
  "react",