react-router 0.0.0-experimental-073f56f6c → 0.0.0-experimental-ce4015162
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.
- package/CHANGELOG.md +49 -0
- package/dist/development/dom-export.d.ts +6 -172
- package/dist/development/dom-export.js +12 -1007
- package/dist/development/index-react-server-client.d.ts +7 -4
- package/dist/development/index-react-server-client.js +8 -52
- package/dist/development/index-react-server.d.ts +1644 -1634
- package/dist/development/index-react-server.js +2877 -3641
- package/dist/development/index.d.ts +43 -1444
- package/dist/development/index.js +37 -2620
- package/dist/development/lib/actions.js +62 -0
- package/dist/development/lib/components.d.ts +1022 -0
- package/dist/development/lib/components.js +832 -0
- package/dist/development/lib/context.d.ts +83 -0
- package/dist/development/lib/context.js +41 -0
- package/dist/development/lib/dom/dom.d.ts +119 -0
- package/dist/development/lib/dom/dom.js +143 -0
- package/dist/development/lib/dom/lib.d.ts +2042 -0
- package/dist/development/lib/dom/lib.js +1273 -0
- package/dist/development/lib/dom/server.d.ts +138 -0
- package/dist/development/lib/dom/server.js +301 -0
- package/dist/development/lib/dom/ssr/components.d.ts +196 -0
- package/dist/development/lib/dom/ssr/components.js +586 -0
- package/dist/development/lib/dom/ssr/data.js +29 -0
- package/dist/development/lib/dom/ssr/entry.d.ts +61 -0
- package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +27 -0
- package/dist/development/lib/dom/ssr/errorBoundaries.js +83 -0
- package/dist/development/lib/dom/ssr/errors.d.ts +7 -0
- package/dist/development/lib/dom/ssr/errors.js +36 -0
- package/dist/development/lib/dom/ssr/fallback.js +28 -0
- package/dist/development/lib/dom/ssr/fog-of-war.d.ts +12 -0
- package/dist/development/lib/dom/ssr/fog-of-war.js +170 -0
- package/dist/development/lib/dom/ssr/hydration.d.ts +32 -0
- package/dist/development/lib/dom/ssr/hydration.js +29 -0
- package/dist/development/lib/dom/ssr/invariant.js +16 -0
- package/dist/development/lib/dom/ssr/links.js +170 -0
- package/dist/development/lib/dom/ssr/markup.js +24 -0
- package/dist/development/lib/dom/ssr/routeModules.d.ts +206 -0
- package/dist/development/lib/dom/ssr/routeModules.js +31 -0
- package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +62 -0
- package/dist/development/lib/dom/ssr/routes-test-stub.js +108 -0
- package/dist/development/lib/dom/ssr/routes.d.ts +33 -0
- package/dist/development/lib/dom/ssr/routes.js +303 -0
- package/dist/development/lib/dom/ssr/server.d.ts +45 -0
- package/dist/development/lib/dom/ssr/server.js +68 -0
- package/dist/development/lib/dom/ssr/single-fetch.d.ts +14 -0
- package/dist/development/lib/dom/ssr/single-fetch.js +349 -0
- package/dist/development/lib/dom-export/dom-router-provider.d.ts +9 -0
- package/dist/development/lib/dom-export/dom-router-provider.js +22 -0
- package/dist/development/lib/dom-export/hydrated-router.d.ts +125 -0
- package/dist/development/lib/dom-export/hydrated-router.js +153 -0
- package/dist/development/lib/errors.js +29 -0
- package/dist/development/lib/hooks.d.ts +941 -0
- package/dist/development/lib/hooks.js +1388 -0
- package/dist/development/lib/href.d.ts +20 -0
- package/dist/development/lib/href.js +50 -0
- package/dist/development/lib/router/history.d.ts +258 -0
- package/dist/development/lib/router/history.js +371 -0
- package/dist/development/lib/router/instrumentation.d.ts +86 -0
- package/dist/development/lib/router/instrumentation.js +213 -0
- package/dist/development/lib/router/links.d.ts +113 -0
- package/dist/development/lib/router/router.d.ts +663 -0
- package/dist/development/lib/router/router.js +2981 -0
- package/dist/development/lib/router/utils.d.ts +942 -0
- package/dist/development/lib/router/utils.js +784 -0
- package/dist/development/lib/rsc/browser.d.ts +137 -0
- package/dist/development/lib/rsc/browser.js +599 -0
- package/dist/development/lib/rsc/errorBoundaries.d.ts +11 -0
- package/dist/development/lib/rsc/errorBoundaries.js +90 -0
- package/dist/development/lib/rsc/html-stream/browser.d.ts +48 -0
- package/dist/development/lib/rsc/html-stream/browser.js +74 -0
- package/dist/development/lib/rsc/html-stream/server.js +78 -0
- package/dist/development/lib/rsc/route-modules.js +27 -0
- package/dist/development/lib/rsc/server.rsc.d.ts +219 -0
- package/dist/development/lib/rsc/server.ssr.d.ts +129 -0
- package/dist/development/lib/rsc/server.ssr.js +388 -0
- package/dist/development/lib/server-runtime/build.d.ts +66 -0
- package/dist/development/lib/server-runtime/cookies.d.ts +66 -0
- package/dist/development/lib/server-runtime/cookies.js +139 -0
- package/dist/development/lib/server-runtime/crypto.js +43 -0
- package/dist/development/lib/server-runtime/data.d.ts +13 -0
- package/dist/development/lib/server-runtime/data.js +25 -0
- package/dist/development/lib/server-runtime/dev.d.ts +9 -0
- package/dist/development/lib/server-runtime/dev.js +26 -0
- package/dist/development/lib/server-runtime/entry.js +20 -0
- package/dist/development/lib/server-runtime/errors.js +95 -0
- package/dist/development/lib/server-runtime/headers.js +73 -0
- package/dist/development/lib/server-runtime/invariant.js +19 -0
- package/dist/development/lib/server-runtime/mode.d.ts +12 -0
- package/dist/development/lib/server-runtime/mode.js +25 -0
- package/dist/development/lib/server-runtime/routeMatching.js +28 -0
- package/dist/development/lib/server-runtime/routes.d.ts +13 -0
- package/dist/development/lib/server-runtime/routes.js +74 -0
- package/dist/development/lib/server-runtime/server.d.ts +10 -0
- package/dist/development/lib/server-runtime/server.js +351 -0
- package/dist/development/lib/server-runtime/serverHandoff.js +17 -0
- package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +25 -0
- package/dist/development/lib/server-runtime/sessions/cookieStorage.js +45 -0
- package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +23 -0
- package/dist/development/lib/server-runtime/sessions/memoryStorage.js +52 -0
- package/dist/development/lib/server-runtime/sessions.d.ts +145 -0
- package/dist/development/lib/server-runtime/sessions.js +98 -0
- package/dist/development/lib/server-runtime/single-fetch.d.ts +7 -0
- package/dist/development/lib/server-runtime/single-fetch.js +215 -0
- package/dist/development/lib/server-runtime/urls.js +35 -0
- package/dist/development/lib/server-runtime/warnings.js +20 -0
- package/dist/development/lib/types/future.d.ts +9 -0
- package/dist/development/lib/types/internal.d.ts +26 -177
- package/dist/development/lib/types/internal.js +3 -2
- package/dist/{production/register-Bsscfj79.d.ts → development/lib/types/register.d.ts} +9 -15
- package/dist/development/lib/types/route-data.d.ts +113 -0
- package/dist/development/lib/types/route-module-annotations.d.ts +149 -0
- package/dist/development/lib/types/route-module.d.ts +19 -0
- package/dist/development/lib/types/serializes-to.d.ts +13 -0
- package/dist/development/lib/types/utils.d.ts +11 -0
- package/dist/development/vendor/turbo-stream-v2/flatten.js +159 -0
- package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +178 -0
- package/dist/development/vendor/turbo-stream-v2/unflatten.js +198 -0
- package/dist/development/vendor/turbo-stream-v2/utils.js +44 -0
- package/dist/production/dom-export.d.ts +6 -172
- package/dist/production/dom-export.js +12 -1007
- package/dist/production/index-react-server-client.d.ts +7 -4
- package/dist/production/index-react-server-client.js +8 -52
- package/dist/production/index-react-server.d.ts +1644 -1634
- package/dist/production/index-react-server.js +2868 -3641
- package/dist/production/index.d.ts +43 -1444
- package/dist/production/index.js +37 -2620
- package/dist/production/lib/actions.js +62 -0
- package/dist/production/lib/components.d.ts +1022 -0
- package/dist/production/lib/components.js +832 -0
- package/dist/production/lib/context.d.ts +83 -0
- package/dist/production/lib/context.js +41 -0
- package/dist/production/lib/dom/dom.d.ts +119 -0
- package/dist/production/lib/dom/dom.js +143 -0
- package/dist/production/lib/dom/lib.d.ts +2042 -0
- package/dist/production/lib/dom/lib.js +1273 -0
- package/dist/production/lib/dom/server.d.ts +138 -0
- package/dist/production/lib/dom/server.js +301 -0
- package/dist/production/lib/dom/ssr/components.d.ts +196 -0
- package/dist/production/lib/dom/ssr/components.js +586 -0
- package/dist/production/lib/dom/ssr/data.js +29 -0
- package/dist/production/lib/dom/ssr/entry.d.ts +61 -0
- package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +27 -0
- package/dist/production/lib/dom/ssr/errorBoundaries.js +83 -0
- package/dist/production/lib/dom/ssr/errors.d.ts +7 -0
- package/dist/production/lib/dom/ssr/errors.js +36 -0
- package/dist/production/lib/dom/ssr/fallback.js +21 -0
- package/dist/production/lib/dom/ssr/fog-of-war.d.ts +12 -0
- package/dist/production/lib/dom/ssr/fog-of-war.js +170 -0
- package/dist/production/lib/dom/ssr/hydration.d.ts +32 -0
- package/dist/production/lib/dom/ssr/hydration.js +29 -0
- package/dist/production/lib/dom/ssr/invariant.js +16 -0
- package/dist/production/lib/dom/ssr/links.js +170 -0
- package/dist/production/lib/dom/ssr/markup.js +24 -0
- package/dist/production/lib/dom/ssr/routeModules.d.ts +206 -0
- package/dist/production/lib/dom/ssr/routeModules.js +31 -0
- package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +62 -0
- package/dist/production/lib/dom/ssr/routes-test-stub.js +108 -0
- package/dist/production/lib/dom/ssr/routes.d.ts +33 -0
- package/dist/production/lib/dom/ssr/routes.js +303 -0
- package/dist/production/lib/dom/ssr/server.d.ts +45 -0
- package/dist/production/lib/dom/ssr/server.js +68 -0
- package/dist/production/lib/dom/ssr/single-fetch.d.ts +14 -0
- package/dist/production/lib/dom/ssr/single-fetch.js +349 -0
- package/dist/production/lib/dom-export/dom-router-provider.d.ts +9 -0
- package/dist/production/lib/dom-export/dom-router-provider.js +22 -0
- package/dist/production/lib/dom-export/hydrated-router.d.ts +125 -0
- package/dist/production/lib/dom-export/hydrated-router.js +153 -0
- package/dist/production/lib/errors.js +29 -0
- package/dist/production/lib/hooks.d.ts +941 -0
- package/dist/production/lib/hooks.js +1373 -0
- package/dist/production/lib/href.d.ts +20 -0
- package/dist/production/lib/href.js +50 -0
- package/dist/production/lib/router/history.d.ts +258 -0
- package/dist/production/lib/router/history.js +371 -0
- package/dist/production/lib/router/instrumentation.d.ts +86 -0
- package/dist/production/lib/router/instrumentation.js +213 -0
- package/dist/production/lib/router/links.d.ts +113 -0
- package/dist/production/lib/router/router.d.ts +663 -0
- package/dist/production/lib/router/router.js +2981 -0
- package/dist/production/lib/router/utils.d.ts +942 -0
- package/dist/production/lib/router/utils.js +775 -0
- package/dist/production/lib/rsc/browser.d.ts +137 -0
- package/dist/production/lib/rsc/browser.js +599 -0
- package/dist/production/lib/rsc/errorBoundaries.d.ts +11 -0
- package/dist/production/lib/rsc/errorBoundaries.js +90 -0
- package/dist/production/lib/rsc/html-stream/browser.d.ts +48 -0
- package/dist/production/lib/rsc/html-stream/browser.js +74 -0
- package/dist/production/lib/rsc/html-stream/server.js +78 -0
- package/dist/production/lib/rsc/route-modules.js +27 -0
- package/dist/production/lib/rsc/server.rsc.d.ts +219 -0
- package/dist/production/lib/rsc/server.ssr.d.ts +129 -0
- package/dist/production/lib/rsc/server.ssr.js +388 -0
- package/dist/production/lib/server-runtime/build.d.ts +66 -0
- package/dist/production/lib/server-runtime/cookies.d.ts +66 -0
- package/dist/production/lib/server-runtime/cookies.js +139 -0
- package/dist/production/lib/server-runtime/crypto.js +43 -0
- package/dist/production/lib/server-runtime/data.d.ts +13 -0
- package/dist/production/lib/server-runtime/data.js +25 -0
- package/dist/production/lib/server-runtime/dev.d.ts +9 -0
- package/dist/production/lib/server-runtime/dev.js +26 -0
- package/dist/production/lib/server-runtime/entry.js +20 -0
- package/dist/production/lib/server-runtime/errors.js +95 -0
- package/dist/production/lib/server-runtime/headers.js +73 -0
- package/dist/production/lib/server-runtime/invariant.js +19 -0
- package/dist/production/lib/server-runtime/mode.d.ts +12 -0
- package/dist/production/lib/server-runtime/mode.js +25 -0
- package/dist/production/lib/server-runtime/routeMatching.js +28 -0
- package/dist/production/lib/server-runtime/routes.d.ts +13 -0
- package/dist/production/lib/server-runtime/routes.js +74 -0
- package/dist/production/lib/server-runtime/server.d.ts +10 -0
- package/dist/production/lib/server-runtime/server.js +351 -0
- package/dist/production/lib/server-runtime/serverHandoff.js +17 -0
- package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +25 -0
- package/dist/production/lib/server-runtime/sessions/cookieStorage.js +45 -0
- package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +23 -0
- package/dist/production/lib/server-runtime/sessions/memoryStorage.js +52 -0
- package/dist/production/lib/server-runtime/sessions.d.ts +145 -0
- package/dist/production/lib/server-runtime/sessions.js +98 -0
- package/dist/production/lib/server-runtime/single-fetch.d.ts +7 -0
- package/dist/production/lib/server-runtime/single-fetch.js +215 -0
- package/dist/production/lib/server-runtime/urls.js +35 -0
- package/dist/production/lib/server-runtime/warnings.js +20 -0
- package/dist/production/lib/types/future.d.ts +9 -0
- package/dist/production/lib/types/internal.d.ts +26 -177
- package/dist/production/lib/types/internal.js +3 -2
- package/dist/{development/register-Bsscfj79.d.ts → production/lib/types/register.d.ts} +9 -15
- package/dist/production/lib/types/route-data.d.ts +113 -0
- package/dist/production/lib/types/route-module-annotations.d.ts +149 -0
- package/dist/production/lib/types/route-module.d.ts +19 -0
- package/dist/production/lib/types/serializes-to.d.ts +13 -0
- package/dist/production/lib/types/utils.d.ts +11 -0
- package/dist/production/vendor/turbo-stream-v2/flatten.js +159 -0
- package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +178 -0
- package/dist/production/vendor/turbo-stream-v2/unflatten.js +198 -0
- package/dist/production/vendor/turbo-stream-v2/utils.js +44 -0
- package/package.json +40 -82
- package/dist/development/browser-3AnU12UI.d.mts +0 -318
- package/dist/development/browser-BOdXz9dK.d.ts +0 -318
- package/dist/development/chunk-DTAL2P4H.js +0 -188
- package/dist/development/chunk-G7GAQ6DB.js +0 -1359
- package/dist/development/chunk-JF3QLIJ3.mjs +0 -2584
- package/dist/development/chunk-JMYIHYFE.mjs +0 -11522
- package/dist/development/chunk-W74L3N3X.js +0 -10226
- package/dist/development/context-ByvtofY2.d.mts +0 -1771
- package/dist/development/data-BVUf681J.d.mts +0 -1732
- package/dist/development/data-BqZ2x964.d.ts +0 -1732
- package/dist/development/dom-export.d.mts +0 -172
- package/dist/development/dom-export.mjs +0 -1008
- package/dist/development/index-react-server-client-CK5fBojp.d.ts +0 -3647
- package/dist/development/index-react-server-client-DwQvbs9m.d.mts +0 -2592
- package/dist/development/index-react-server-client.d.mts +0 -4
- package/dist/development/index-react-server-client.mjs +0 -59
- package/dist/development/index-react-server.d.mts +0 -2703
- package/dist/development/index-react-server.mjs +0 -3780
- package/dist/development/index.d.mts +0 -1447
- package/dist/development/index.mjs +0 -277
- package/dist/development/instrumentation-cRWWLfsU.d.ts +0 -715
- package/dist/development/lib/types/internal.d.mts +0 -184
- package/dist/development/lib/types/internal.mjs +0 -10
- package/dist/development/register-Df8okEea.d.mts +0 -30
- package/dist/production/browser-3AnU12UI.d.mts +0 -318
- package/dist/production/browser-BOdXz9dK.d.ts +0 -318
- package/dist/production/chunk-2CG4IJO4.js +0 -10226
- package/dist/production/chunk-7C2JPQDH.js +0 -188
- package/dist/production/chunk-BRF4GHOX.mjs +0 -11522
- package/dist/production/chunk-E5QNHLMM.mjs +0 -2584
- package/dist/production/chunk-Z2XLV6IQ.js +0 -1359
- package/dist/production/context-ByvtofY2.d.mts +0 -1771
- package/dist/production/data-BVUf681J.d.mts +0 -1732
- package/dist/production/data-BqZ2x964.d.ts +0 -1732
- package/dist/production/dom-export.d.mts +0 -172
- package/dist/production/dom-export.mjs +0 -1008
- package/dist/production/index-react-server-client-CK5fBojp.d.ts +0 -3647
- package/dist/production/index-react-server-client-DwQvbs9m.d.mts +0 -2592
- package/dist/production/index-react-server-client.d.mts +0 -4
- package/dist/production/index-react-server-client.mjs +0 -59
- package/dist/production/index-react-server.d.mts +0 -2703
- package/dist/production/index-react-server.mjs +0 -3780
- package/dist/production/index.d.mts +0 -1447
- package/dist/production/index.mjs +0 -277
- package/dist/production/instrumentation-cRWWLfsU.d.ts +0 -715
- package/dist/production/lib/types/internal.d.mts +0 -184
- package/dist/production/lib/types/internal.mjs +0 -10
- package/dist/production/register-Df8okEea.d.mts +0 -30
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# `react-router`
|
|
2
2
|
|
|
3
|
+
## v7.15.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Update router to operate on fetcher Maps in an immutable manner to avoid delayed React renders from potentially reading an updated but not yet committed Map. This could result in brief flickers in some fetcher-driven optimistic UI scenarios. ([#15028](https://github.com/remix-run/react-router/pull/15028))
|
|
8
|
+
- Fix `serverLoader()` returning stale SSR data when a client navigation aborts pending hydration before the hydration `clientLoader` resolves ([#15022](https://github.com/remix-run/react-router/pull/15022))
|
|
9
|
+
- Fix `RouterProvider` `onError` callback not being called for synchronous initial loader errors in SPA mode ([#15039](https://github.com/remix-run/react-router/pull/15039)) ([#14942](https://github.com/remix-run/react-router/pull/14942))
|
|
10
|
+
- Memoize `useFetchers` to return a stable identity and only change if fetchers changed ([#15028](https://github.com/remix-run/react-router/pull/15028))
|
|
11
|
+
- Internal refactor to consolidate mutation request detection through shared utility ([#15033](https://github.com/remix-run/react-router/pull/15033))
|
|
12
|
+
|
|
13
|
+
### Unstable Changes
|
|
14
|
+
|
|
15
|
+
⚠️ _[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use_
|
|
16
|
+
|
|
17
|
+
- Add a new `unstable_useRouterState()` hook that consolidates access to active and pending router states (RFC: #12358) ([#15017](https://github.com/remix-run/react-router/pull/15017))
|
|
18
|
+
- Data/Framework/RSC only — throws when used without a data router
|
|
19
|
+
- This should allow you to consolidate usages of the following hooks which will likely be deprecated and removed in a future major version
|
|
20
|
+
- `useLocation`
|
|
21
|
+
- `useSearchParams`
|
|
22
|
+
- `useParams`
|
|
23
|
+
- `useMatches`
|
|
24
|
+
- `useNavigationType`
|
|
25
|
+
- `useNavigation`
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
let { active, pending } = unstable_useRouterState();
|
|
29
|
+
|
|
30
|
+
// Active is always populated with the current location
|
|
31
|
+
active.location; // replaces `useLocation()`
|
|
32
|
+
active.searchParams; // replaces `useSearchParams()[0]`
|
|
33
|
+
active.params; // replaces `useParams()`
|
|
34
|
+
active.matches; // replaces `useMatches()`
|
|
35
|
+
active.type; // replaces `useNavigationType()`
|
|
36
|
+
|
|
37
|
+
// Pending is only populated during a navigation
|
|
38
|
+
pending.location; // replaces `useNavigation().location`
|
|
39
|
+
pending.searchParams; // equivalent to `new URLSearchParams(useNavigation().search)`
|
|
40
|
+
pending.params; // Not directly accessible today
|
|
41
|
+
pending.matches; // Not directly accessible today
|
|
42
|
+
pending.type; // Not directly accessible today
|
|
43
|
+
pending.state; // replaces `useNavigation().state`
|
|
44
|
+
pending.formMethod; // replaces useNavigation().formMethod
|
|
45
|
+
pending.formAction; // replaces useNavigation().formAction
|
|
46
|
+
pending.formEncType; // replaces useNavigation().formEncType
|
|
47
|
+
pending.formData; // replaces useNavigation().formData
|
|
48
|
+
pending.json; // replaces useNavigation().json
|
|
49
|
+
pending.text; // replaces useNavigation().text
|
|
50
|
+
```
|
|
51
|
+
|
|
3
52
|
## v7.15.0
|
|
4
53
|
|
|
5
54
|
### Minor Changes
|
|
@@ -1,173 +1,7 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { RouterProviderProps as RouterProviderProps$1, RouterInit, ClientOnErrorFunction } from 'react-router';
|
|
3
|
-
import { C as ClientInstrumentation } from './instrumentation-cRWWLfsU.js';
|
|
4
|
-
export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-BOdXz9dK.js';
|
|
5
|
-
import './data-BqZ2x964.js';
|
|
6
1
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* @category Types
|
|
14
|
-
*/
|
|
15
|
-
interface HydratedRouterProps {
|
|
16
|
-
/**
|
|
17
|
-
* Context factory function to be passed through to {@link createBrowserRouter}.
|
|
18
|
-
* This function will be called to create a fresh `context` instance on each
|
|
19
|
-
* navigation/fetch and made available to
|
|
20
|
-
* [`clientAction`](../../start/framework/route-module#clientAction)/[`clientLoader`](../../start/framework/route-module#clientLoader)
|
|
21
|
-
* functions.
|
|
22
|
-
*/
|
|
23
|
-
getContext?: RouterInit["getContext"];
|
|
24
|
-
/**
|
|
25
|
-
* Array of instrumentation objects allowing you to instrument the router and
|
|
26
|
-
* individual routes prior to router initialization (and on any subsequently
|
|
27
|
-
* added routes via `route.lazy` or `patchRoutesOnNavigation`). This is
|
|
28
|
-
* mostly useful for observability such as wrapping navigations, fetches,
|
|
29
|
-
* as well as route loaders/actions/middlewares with logging and/or performance
|
|
30
|
-
* tracing. See the [docs](../../how-to/instrumentation) for more information.
|
|
31
|
-
*
|
|
32
|
-
* ```tsx
|
|
33
|
-
* const logging = {
|
|
34
|
-
* router({ instrument }) {
|
|
35
|
-
* instrument({
|
|
36
|
-
* navigate: (impl, { to }) => logExecution(`navigate ${to}`, impl),
|
|
37
|
-
* fetch: (impl, { to }) => logExecution(`fetch ${to}`, impl)
|
|
38
|
-
* });
|
|
39
|
-
* },
|
|
40
|
-
* route({ instrument, id }) {
|
|
41
|
-
* instrument({
|
|
42
|
-
* middleware: (impl, { request }) => logExecution(
|
|
43
|
-
* `middleware ${request.url} (route ${id})`,
|
|
44
|
-
* impl
|
|
45
|
-
* ),
|
|
46
|
-
* loader: (impl, { request }) => logExecution(
|
|
47
|
-
* `loader ${request.url} (route ${id})`,
|
|
48
|
-
* impl
|
|
49
|
-
* ),
|
|
50
|
-
* action: (impl, { request }) => logExecution(
|
|
51
|
-
* `action ${request.url} (route ${id})`,
|
|
52
|
-
* impl
|
|
53
|
-
* ),
|
|
54
|
-
* })
|
|
55
|
-
* }
|
|
56
|
-
* };
|
|
57
|
-
*
|
|
58
|
-
* async function logExecution(label: string, impl: () => Promise<void>) {
|
|
59
|
-
* let start = performance.now();
|
|
60
|
-
* console.log(`start ${label}`);
|
|
61
|
-
* await impl();
|
|
62
|
-
* let duration = Math.round(performance.now() - start);
|
|
63
|
-
* console.log(`end ${label} (${duration}ms)`);
|
|
64
|
-
* }
|
|
65
|
-
*
|
|
66
|
-
* startTransition(() => {
|
|
67
|
-
* hydrateRoot(
|
|
68
|
-
* document,
|
|
69
|
-
* <HydratedRouter instrumentations={[logging]} />
|
|
70
|
-
* );
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
instrumentations?: ClientInstrumentation[];
|
|
75
|
-
/**
|
|
76
|
-
* An error handler function that will be called for any middleware, loader, action,
|
|
77
|
-
* or render errors that are encountered in your application. This is useful for
|
|
78
|
-
* logging or reporting errors instead of in the {@link ErrorBoundary} because it's not
|
|
79
|
-
* subject to re-rendering and will only run one time per error.
|
|
80
|
-
*
|
|
81
|
-
* The `errorInfo` parameter is passed along from
|
|
82
|
-
* [`componentDidCatch`](https://react.dev/reference/react/Component#componentdidcatch)
|
|
83
|
-
* and is only present for render errors.
|
|
84
|
-
*
|
|
85
|
-
* ```tsx
|
|
86
|
-
* <HydratedRouter onError=(error, info) => {
|
|
87
|
-
* let { location, params, pattern, errorInfo } = info;
|
|
88
|
-
* console.error(error, location, errorInfo);
|
|
89
|
-
* reportToErrorService(error, location, errorInfo);
|
|
90
|
-
* }} />
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
onError?: ClientOnErrorFunction;
|
|
94
|
-
/**
|
|
95
|
-
* Control whether router state updates are internally wrapped in
|
|
96
|
-
* [`React.startTransition`](https://react.dev/reference/react/startTransition).
|
|
97
|
-
*
|
|
98
|
-
* - When left `undefined`, all state updates are wrapped in
|
|
99
|
-
* `React.startTransition`
|
|
100
|
-
* - This can lead to buggy behaviors if you are wrapping your own
|
|
101
|
-
* navigations/fetchers in `startTransition`.
|
|
102
|
-
* - When set to `true`, {@link Link} and {@link Form} navigations will be wrapped
|
|
103
|
-
* in `React.startTransition` and router state changes will be wrapped in
|
|
104
|
-
* `React.startTransition` and also sent through
|
|
105
|
-
* [`useOptimistic`](https://react.dev/reference/react/useOptimistic) to
|
|
106
|
-
* surface mid-navigation router state changes to the UI.
|
|
107
|
-
* - When set to `false`, the router will not leverage `React.startTransition` or
|
|
108
|
-
* `React.useOptimistic` on any navigations or state changes.
|
|
109
|
-
*
|
|
110
|
-
* For more information, please see the [docs](../../explanation/react-transitions).
|
|
111
|
-
*/
|
|
112
|
-
useTransitions?: boolean;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Framework-mode router component to be used to hydrate a router from a
|
|
116
|
-
* {@link ServerRouter}. See [`entry.client.tsx`](../framework-conventions/entry.client.tsx).
|
|
117
|
-
*
|
|
118
|
-
* @public
|
|
119
|
-
* @category Framework Routers
|
|
120
|
-
* @mode framework
|
|
121
|
-
* @param props Props
|
|
122
|
-
* @param {dom.HydratedRouterProps.getContext} props.getContext n/a
|
|
123
|
-
* @param {dom.HydratedRouterProps.onError} props.onError n/a
|
|
124
|
-
* @returns A React element that represents the hydrated application.
|
|
125
|
-
*/
|
|
126
|
-
declare function HydratedRouter(props: HydratedRouterProps): React.JSX.Element;
|
|
127
|
-
|
|
128
|
-
declare global {
|
|
129
|
-
interface Window {
|
|
130
|
-
__FLIGHT_DATA: any[];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Get the prerendered [RSC](https://react.dev/reference/rsc/server-components)
|
|
135
|
-
* stream for hydration. Usually passed directly to your
|
|
136
|
-
* `react-server-dom-xyz/client`'s `createFromReadableStream`.
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* import { startTransition, StrictMode } from "react";
|
|
140
|
-
* import { hydrateRoot } from "react-dom/client";
|
|
141
|
-
* import {
|
|
142
|
-
* unstable_getRSCStream as getRSCStream,
|
|
143
|
-
* unstable_RSCHydratedRouter as RSCHydratedRouter,
|
|
144
|
-
* } from "react-router";
|
|
145
|
-
* import type { unstable_RSCPayload as RSCPayload } from "react-router";
|
|
146
|
-
*
|
|
147
|
-
* createFromReadableStream(getRSCStream()).then(
|
|
148
|
-
* (payload: RSCServerPayload) => {
|
|
149
|
-
* startTransition(async () => {
|
|
150
|
-
* hydrateRoot(
|
|
151
|
-
* document,
|
|
152
|
-
* <StrictMode>
|
|
153
|
-
* <RSCHydratedRouter {...props} />
|
|
154
|
-
* </StrictMode>,
|
|
155
|
-
* {
|
|
156
|
-
* // Options
|
|
157
|
-
* }
|
|
158
|
-
* );
|
|
159
|
-
* });
|
|
160
|
-
* }
|
|
161
|
-
* );
|
|
162
|
-
*
|
|
163
|
-
* @name unstable_getRSCStream
|
|
164
|
-
* @public
|
|
165
|
-
* @category RSC
|
|
166
|
-
* @mode data
|
|
167
|
-
* @returns A [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
|
|
168
|
-
* that contains the [RSC](https://react.dev/reference/rsc/server-components)
|
|
169
|
-
* data for hydration.
|
|
170
|
-
*/
|
|
171
|
-
declare function getRSCStream(): ReadableStream;
|
|
172
|
-
|
|
173
|
-
export { HydratedRouter, type HydratedRouterProps, RouterProvider, type RouterProviderProps, getRSCStream as unstable_getRSCStream };
|
|
2
|
+
import { RouterProvider, RouterProviderProps } from "./lib/dom-export/dom-router-provider.js";
|
|
3
|
+
import { DecodeActionFunction, DecodeFormStateFunction, DecodeReplyFunction, RSCManifestPayload, RSCPayload, RSCRenderPayload } from "./lib/rsc/server.rsc.js";
|
|
4
|
+
import { RSCHydratedRouter, createCallServer } from "./lib/rsc/browser.js";
|
|
5
|
+
import { HydratedRouter, HydratedRouterProps } from "./lib/dom-export/hydrated-router.js";
|
|
6
|
+
import { getRSCStream } from "./lib/rsc/html-stream/browser.js";
|
|
7
|
+
export { HydratedRouter, type HydratedRouterProps, RouterProvider, type RouterProviderProps, type DecodeActionFunction as unstable_DecodeActionFunction, type DecodeFormStateFunction as unstable_DecodeFormStateFunction, type DecodeReplyFunction as unstable_DecodeReplyFunction, RSCHydratedRouter as unstable_RSCHydratedRouter, type RSCManifestPayload as unstable_RSCManifestPayload, type RSCPayload as unstable_RSCPayload, type RSCRenderPayload as unstable_RSCRenderPayload, createCallServer as unstable_createCallServer, getRSCStream as unstable_getRSCStream };
|