@bleedingdev/modern-js-runtime 3.2.0-ultramodern.120 → 3.2.0-ultramodern.121

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 (203) hide show
  1. package/dist/cjs/boundary-debugger/index.js +4 -0
  2. package/dist/cjs/cli/index.js +11 -0
  3. package/dist/cjs/{router/runtime/tanstack/rsc/ClientSlot.js → core/context/extensions.js} +33 -21
  4. package/dist/cjs/{router/runtime/tanstack/rsc/SlotContext.js → core/context/helmetContext.js} +16 -20
  5. package/dist/cjs/core/context/index.js +65 -0
  6. package/dist/cjs/core/react/wrapper.js +6 -4
  7. package/dist/cjs/core/server/helmet.js +2 -1
  8. package/dist/cjs/core/server/requestHandler.js +42 -29
  9. package/dist/cjs/core/server/routerCleanup.js +110 -0
  10. package/dist/cjs/core/server/scriptOrder.js +75 -4
  11. package/dist/cjs/core/server/stream/afterTemplate.js +6 -18
  12. package/dist/cjs/core/server/stream/deferredScript.js +4 -1
  13. package/dist/cjs/core/server/string/index.js +1 -7
  14. package/dist/cjs/core/server/string/loadable.js +13 -40
  15. package/dist/cjs/core/server/string/ssrData.js +1 -1
  16. package/dist/cjs/core/server/utils.js +31 -8
  17. package/dist/cjs/exports/head.js +135 -74
  18. package/dist/cjs/exports/tanstack-router.js +36 -305
  19. package/dist/cjs/module-federation/index.js +178 -0
  20. package/dist/cjs/router/cli/code/index.js +1 -47
  21. package/dist/cjs/router/cli/code/templates.js +1 -14
  22. package/dist/cjs/router/cli/handler.js +1 -1
  23. package/dist/cjs/router/cli/index.js +2 -23
  24. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +16 -4
  25. package/dist/cjs/router/runtime/PrefetchLink.js +2 -3
  26. package/dist/cjs/router/runtime/internal.js +20 -13
  27. package/dist/cjs/router/runtime/lifecycle.js +37 -22
  28. package/dist/cjs/router/runtime/plugin.js +2 -9
  29. package/dist/cjs/router/runtime/plugin.node.js +2 -7
  30. package/dist/cjs/router/runtime/provider.js +107 -0
  31. package/dist/cjs/router/runtime/utils.js +35 -9
  32. package/dist/esm/boundary-debugger/index.mjs +4 -0
  33. package/dist/esm/cli/index.mjs +4 -2
  34. package/dist/esm/core/context/extensions.mjs +28 -0
  35. package/dist/esm/core/context/helmetContext.mjs +13 -0
  36. package/dist/esm/core/context/index.mjs +5 -0
  37. package/dist/esm/core/react/wrapper.mjs +6 -4
  38. package/dist/esm/core/server/helmet.mjs +2 -1
  39. package/dist/esm/core/server/requestHandler.mjs +43 -30
  40. package/dist/esm/core/server/routerCleanup.mjs +66 -0
  41. package/dist/esm/core/server/scriptOrder.mjs +60 -1
  42. package/dist/esm/core/server/stream/afterTemplate.mjs +8 -20
  43. package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
  44. package/dist/esm/core/server/string/index.mjs +3 -9
  45. package/dist/esm/core/server/string/loadable.mjs +11 -38
  46. package/dist/esm/core/server/string/ssrData.mjs +2 -2
  47. package/dist/esm/core/server/utils.mjs +31 -8
  48. package/dist/esm/exports/head.mjs +135 -74
  49. package/dist/esm/exports/tanstack-router.mjs +30 -4
  50. package/dist/esm/module-federation/index.mjs +109 -0
  51. package/dist/esm/router/cli/code/index.mjs +1 -47
  52. package/dist/esm/router/cli/code/templates.mjs +1 -14
  53. package/dist/esm/router/cli/handler.mjs +1 -1
  54. package/dist/esm/router/cli/index.mjs +3 -24
  55. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +16 -4
  56. package/dist/esm/router/runtime/PrefetchLink.mjs +2 -3
  57. package/dist/esm/router/runtime/internal.mjs +16 -15
  58. package/dist/esm/router/runtime/lifecycle.mjs +22 -13
  59. package/dist/esm/router/runtime/plugin.mjs +4 -11
  60. package/dist/esm/router/runtime/plugin.node.mjs +4 -9
  61. package/dist/esm/router/runtime/provider.mjs +57 -0
  62. package/dist/esm/router/runtime/utils.mjs +35 -9
  63. package/dist/esm-node/boundary-debugger/index.mjs +4 -0
  64. package/dist/esm-node/cli/index.mjs +4 -2
  65. package/dist/esm-node/core/context/extensions.mjs +29 -0
  66. package/dist/esm-node/core/context/helmetContext.mjs +14 -0
  67. package/dist/esm-node/core/context/index.mjs +5 -0
  68. package/dist/esm-node/core/react/wrapper.mjs +6 -4
  69. package/dist/esm-node/core/server/helmet.mjs +2 -1
  70. package/dist/esm-node/core/server/requestHandler.mjs +43 -30
  71. package/dist/esm-node/core/server/routerCleanup.mjs +67 -0
  72. package/dist/esm-node/core/server/scriptOrder.mjs +60 -1
  73. package/dist/esm-node/core/server/stream/afterTemplate.mjs +8 -20
  74. package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
  75. package/dist/esm-node/core/server/string/index.mjs +3 -9
  76. package/dist/esm-node/core/server/string/loadable.mjs +11 -38
  77. package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
  78. package/dist/esm-node/core/server/utils.mjs +31 -8
  79. package/dist/esm-node/exports/head.mjs +135 -74
  80. package/dist/esm-node/exports/tanstack-router.mjs +30 -4
  81. package/dist/esm-node/module-federation/index.mjs +110 -0
  82. package/dist/esm-node/router/cli/code/index.mjs +1 -47
  83. package/dist/esm-node/router/cli/code/templates.mjs +1 -14
  84. package/dist/esm-node/router/cli/handler.mjs +1 -1
  85. package/dist/esm-node/router/cli/index.mjs +3 -24
  86. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +16 -4
  87. package/dist/esm-node/router/runtime/PrefetchLink.mjs +2 -3
  88. package/dist/esm-node/router/runtime/internal.mjs +16 -15
  89. package/dist/esm-node/router/runtime/lifecycle.mjs +22 -13
  90. package/dist/esm-node/router/runtime/plugin.mjs +4 -11
  91. package/dist/esm-node/router/runtime/plugin.node.mjs +4 -9
  92. package/dist/esm-node/router/runtime/provider.mjs +58 -0
  93. package/dist/esm-node/router/runtime/utils.mjs +35 -9
  94. package/dist/types/cli/index.d.ts +3 -1
  95. package/dist/types/core/context/extensions.d.ts +37 -0
  96. package/dist/types/core/context/helmetContext.d.ts +10 -0
  97. package/dist/types/core/context/index.d.ts +6 -0
  98. package/dist/types/core/context/runtime.d.ts +1 -11
  99. package/dist/types/core/server/routerCleanup.d.ts +28 -0
  100. package/dist/types/core/server/scriptOrder.d.ts +24 -0
  101. package/dist/types/core/server/string/loadable.d.ts +1 -7
  102. package/dist/types/core/server/utils.d.ts +1 -0
  103. package/dist/types/exports/tanstack-router.d.ts +88 -7
  104. package/dist/types/module-federation/index.d.ts +65 -0
  105. package/dist/types/router/cli/code/index.d.ts +1 -3
  106. package/dist/types/router/cli/handler.d.ts +0 -3
  107. package/dist/types/router/runtime/internal.d.ts +1 -0
  108. package/dist/types/router/runtime/lifecycle.d.ts +2 -0
  109. package/dist/types/router/runtime/plugin.d.ts +1 -1
  110. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  111. package/dist/types/router/runtime/provider.d.ts +61 -0
  112. package/package.json +15 -11
  113. package/rstest.config.mts +2 -4
  114. package/dist/cjs/router/cli/code/tanstackTypes.js +0 -447
  115. package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -66
  116. package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -349
  117. package/dist/cjs/router/runtime/tanstack/hydrationBoundary.js +0 -48
  118. package/dist/cjs/router/runtime/tanstack/outlet.js +0 -58
  119. package/dist/cjs/router/runtime/tanstack/plugin.js +0 -342
  120. package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -272
  121. package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -59
  122. package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -525
  123. package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -79
  124. package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -146
  125. package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -69
  126. package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -97
  127. package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -145
  128. package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -46
  129. package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -250
  130. package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -69
  131. package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -77
  132. package/dist/cjs/ssr/index.node.js +0 -125
  133. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -88
  134. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -200
  135. package/dist/cjs/ssr/serverRender/types.js +0 -40
  136. package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -396
  137. package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +0 -28
  138. package/dist/esm/router/runtime/tanstack/dataMutation.mjs +0 -305
  139. package/dist/esm/router/runtime/tanstack/hydrationBoundary.mjs +0 -10
  140. package/dist/esm/router/runtime/tanstack/outlet.mjs +0 -17
  141. package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -304
  142. package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -234
  143. package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
  144. package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -481
  145. package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -19
  146. package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -41
  147. package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -104
  148. package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -31
  149. package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +0 -17
  150. package/dist/esm/router/runtime/tanstack/rsc/client.mjs +0 -53
  151. package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -107
  152. package/dist/esm/router/runtime/tanstack/rsc/index.mjs +0 -1
  153. package/dist/esm/router/runtime/tanstack/rsc/server.mjs +0 -200
  154. package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -31
  155. package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +0 -17
  156. package/dist/esm/ssr/index.node.mjs +0 -44
  157. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -50
  158. package/dist/esm/ssr/serverRender/renderToString/entry.mjs +0 -151
  159. package/dist/esm/ssr/serverRender/types.mjs +0 -1
  160. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -397
  161. package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +0 -29
  162. package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +0 -306
  163. package/dist/esm-node/router/runtime/tanstack/hydrationBoundary.mjs +0 -11
  164. package/dist/esm-node/router/runtime/tanstack/outlet.mjs +0 -18
  165. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -305
  166. package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -235
  167. package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
  168. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -482
  169. package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -20
  170. package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -42
  171. package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -105
  172. package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -32
  173. package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +0 -18
  174. package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +0 -54
  175. package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -108
  176. package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +0 -2
  177. package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +0 -201
  178. package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -32
  179. package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +0 -18
  180. package/dist/esm-node/ssr/index.node.mjs +0 -45
  181. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -51
  182. package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +0 -152
  183. package/dist/esm-node/ssr/serverRender/types.mjs +0 -2
  184. package/dist/types/router/cli/code/tanstackTypes.d.ts +0 -10
  185. package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +0 -8
  186. package/dist/types/router/runtime/tanstack/dataMutation.d.ts +0 -29
  187. package/dist/types/router/runtime/tanstack/hydrationBoundary.d.ts +0 -2
  188. package/dist/types/router/runtime/tanstack/outlet.d.ts +0 -2
  189. package/dist/types/router/runtime/tanstack/plugin.d.ts +0 -6
  190. package/dist/types/router/runtime/tanstack/plugin.node.d.ts +0 -6
  191. package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +0 -11
  192. package/dist/types/router/runtime/tanstack/routeTree.d.ts +0 -8
  193. package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +0 -5
  194. package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +0 -3
  195. package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +0 -24
  196. package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +0 -5
  197. package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +0 -11
  198. package/dist/types/router/runtime/tanstack/rsc/client.d.ts +0 -11
  199. package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +0 -7
  200. package/dist/types/router/runtime/tanstack/rsc/index.d.ts +0 -2
  201. package/dist/types/router/runtime/tanstack/rsc/server.d.ts +0 -14
  202. package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +0 -2
  203. package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +0 -46
@@ -1,349 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, getters, values)=>{
5
- var define = (defs, kind)=>{
6
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- [kind]: defs[key]
9
- });
10
- };
11
- define(getters, "get");
12
- define(values, "value");
13
- };
14
- })();
15
- (()=>{
16
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
- })();
18
- (()=>{
19
- __webpack_require__.r = (exports1)=>{
20
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
- value: 'Module'
22
- });
23
- Object.defineProperty(exports1, '__esModule', {
24
- value: true
25
- });
26
- };
27
- })();
28
- var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- Form: ()=>Form,
32
- RouteActionResponseError: ()=>RouteActionResponseError,
33
- useFetcher: ()=>useFetcher
34
- });
35
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
36
- const react_router_namespaceObject = require("@tanstack/react-router");
37
- const external_react_namespaceObject = require("react");
38
- class RouteActionResponseError extends Error {
39
- constructor(response, data){
40
- super(`Route action failed with status ${response.status}`);
41
- this.name = 'RouteActionResponseError';
42
- this.response = response;
43
- this.data = data;
44
- }
45
- }
46
- function formDataToUrlSearchParams(formData) {
47
- const searchParams = new URLSearchParams();
48
- formData.forEach((value, key)=>{
49
- if ('string' == typeof value) searchParams.append(key, value);
50
- });
51
- return searchParams;
52
- }
53
- function formDataToTextPlain(formData) {
54
- return Array.from(formData.entries()).map(([key, value])=>`${key}=${String(value)}`).join('\n');
55
- }
56
- function toFormData(target) {
57
- if (target instanceof HTMLFormElement) return new FormData(target);
58
- if (target instanceof FormData) return target;
59
- if (target instanceof URLSearchParams) {
60
- const formData = new FormData();
61
- target.forEach((value, key)=>{
62
- formData.append(key, value);
63
- });
64
- return formData;
65
- }
66
- const formData = new FormData();
67
- Object.entries(target).forEach(([key, value])=>{
68
- if (null == value) return;
69
- formData.append(key, String(value));
70
- });
71
- return formData;
72
- }
73
- function getSubmitter(event) {
74
- const nativeEvent = event.nativeEvent;
75
- const submitter = nativeEvent?.submitter;
76
- if (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement) return submitter;
77
- return null;
78
- }
79
- function createFormDataFromSubmit({ form, submitter }) {
80
- if (submitter) try {
81
- return new FormData(form, submitter);
82
- } catch {}
83
- return new FormData(form);
84
- }
85
- function resolveSubmitOptionsFromForm({ form, submitter, action, method, encType }) {
86
- const resolvedAction = submitter?.getAttribute('formaction') || action || form.getAttribute('action') || '.';
87
- const resolvedMethod = (submitter?.getAttribute('formmethod') || method || form.getAttribute('method') || 'get').toLowerCase();
88
- const resolvedEncType = submitter?.getAttribute('formenctype') || encType || form.getAttribute('enctype') || 'application/x-www-form-urlencoded';
89
- return {
90
- action: resolvedAction,
91
- method: resolvedMethod,
92
- encType: resolvedEncType
93
- };
94
- }
95
- function resolveRouteHandlers(router, actionTo) {
96
- const builtLocation = router.buildLocation({
97
- to: actionTo
98
- });
99
- const href = router.getParsedLocationHref(builtLocation);
100
- const matchedRoutes = router.getMatchedRoutes(builtLocation.pathname);
101
- const routeStaticData = matchedRoutes.foundRoute?.options?.staticData;
102
- const action = routeStaticData?.modernRouteAction;
103
- const loader = routeStaticData?.modernRouteLoader;
104
- return {
105
- action,
106
- loader,
107
- href,
108
- params: matchedRoutes.routeParams || {}
109
- };
110
- }
111
- function isRedirectResponse(value) {
112
- if (!(value instanceof Response)) return false;
113
- return [
114
- 301,
115
- 302,
116
- 303,
117
- 307,
118
- 308
119
- ].includes(value.status);
120
- }
121
- async function parseResponseData(response) {
122
- if (204 === response.status) return null;
123
- const contentType = response.headers.get('Content-Type') || '';
124
- if (contentType.includes('application/json')) return response.json();
125
- return response.text();
126
- }
127
- async function parseResponseResultOrThrow(response) {
128
- const parsed = await parseResponseData(response);
129
- if (!response.ok) throw new RouteActionResponseError(response, parsed);
130
- return parsed;
131
- }
132
- async function submitRouteAction({ router, target, options = {}, isFetcher = false, onInvalidateStart }) {
133
- const method = (options.method || 'post').toLowerCase();
134
- const encType = options.encType || 'application/x-www-form-urlencoded';
135
- const actionTo = options.action || '.';
136
- const formData = toFormData(target);
137
- const resolved = resolveRouteHandlers(router, actionTo);
138
- if ('get' === method) {
139
- const search = formDataToUrlSearchParams(formData).toString();
140
- const requestUrl = new URL(resolved.href, window.location.origin);
141
- requestUrl.search = search;
142
- if (isFetcher && resolved.loader) {
143
- const result = await resolved.loader({
144
- request: new Request(requestUrl, {
145
- method: 'GET'
146
- }),
147
- params: resolved.params
148
- });
149
- if (result instanceof Response) {
150
- const redirectTo = result.headers.get('X-Modernjs-Redirect') || result.headers.get('Location');
151
- if (redirectTo || isRedirectResponse(result)) {
152
- await router.navigate({
153
- to: redirectTo || '/'
154
- });
155
- return parseResponseData(result);
156
- }
157
- return parseResponseResultOrThrow(result);
158
- }
159
- return result;
160
- }
161
- await router.navigate({
162
- href: search ? `${resolved.href}?${search}` : resolved.href
163
- });
164
- return;
165
- }
166
- if (!resolved.action) throw new Error(`No route action found for "${actionTo}"`);
167
- const headers = new Headers();
168
- let body = null;
169
- if (encType.includes('application/json')) {
170
- headers.set('Content-Type', 'application/json');
171
- body = JSON.stringify(Object.fromEntries(formDataToUrlSearchParams(formData).entries()));
172
- } else if (encType.includes('text/plain')) {
173
- headers.set('Content-Type', 'text/plain;charset=UTF-8');
174
- body = formDataToTextPlain(formData);
175
- } else if (encType.includes('application/x-www-form-urlencoded')) {
176
- headers.set('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
177
- body = formDataToUrlSearchParams(formData);
178
- } else body = formData;
179
- const request = new Request(new URL(resolved.href, window.location.origin), {
180
- method: method.toUpperCase(),
181
- headers,
182
- body
183
- });
184
- const result = await resolved.action({
185
- request,
186
- params: resolved.params
187
- });
188
- if (result instanceof Response) {
189
- const redirectTo = result.headers.get('X-Modernjs-Redirect') || result.headers.get('Location');
190
- if (redirectTo || isRedirectResponse(result)) {
191
- await router.navigate({
192
- to: redirectTo || '/'
193
- });
194
- return parseResponseData(result);
195
- }
196
- const parsed = isFetcher ? await parseResponseResultOrThrow(result) : await parseResponseData(result);
197
- onInvalidateStart?.();
198
- await router.invalidate();
199
- return parsed;
200
- }
201
- onInvalidateStart?.();
202
- await router.invalidate();
203
- return result;
204
- }
205
- function Form({ action, method = 'get', encType, reloadDocument, onSubmit, ...rest }) {
206
- const router = (0, react_router_namespaceObject.useRouter)();
207
- const handleSubmit = (0, external_react_namespaceObject.useCallback)(async (event)=>{
208
- onSubmit?.(event);
209
- if (event.defaultPrevented || reloadDocument) return;
210
- event.preventDefault();
211
- const submitter = getSubmitter(event);
212
- const formData = createFormDataFromSubmit({
213
- form: event.currentTarget,
214
- submitter
215
- });
216
- const normalizedOptions = resolveSubmitOptionsFromForm({
217
- form: event.currentTarget,
218
- submitter,
219
- action,
220
- method,
221
- encType
222
- });
223
- await submitRouteAction({
224
- router,
225
- target: formData,
226
- options: normalizedOptions
227
- });
228
- }, [
229
- action,
230
- encType,
231
- method,
232
- onSubmit,
233
- reloadDocument,
234
- router
235
- ]);
236
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("form", {
237
- ...rest,
238
- action: action,
239
- method: method,
240
- encType: encType,
241
- onSubmit: handleSubmit
242
- });
243
- }
244
- function useFetcher() {
245
- const router = (0, react_router_namespaceObject.useRouter)();
246
- const [state, setState] = (0, external_react_namespaceObject.useState)('idle');
247
- const [data, setData] = (0, external_react_namespaceObject.useState)(void 0);
248
- const [error, setError] = (0, external_react_namespaceObject.useState)(void 0);
249
- const requestStatesRef = (0, external_react_namespaceObject.useRef)(new Map());
250
- const requestIdRef = (0, external_react_namespaceObject.useRef)(0);
251
- const syncStateFromRequests = (0, external_react_namespaceObject.useCallback)(()=>{
252
- let hasSubmitting = false;
253
- let hasLoading = false;
254
- requestStatesRef.current.forEach((requestState)=>{
255
- if ('submitting' === requestState) hasSubmitting = true;
256
- else if ('loading' === requestState) hasLoading = true;
257
- });
258
- if (hasSubmitting) return void setState('submitting');
259
- if (hasLoading) return void setState('loading');
260
- setState('idle');
261
- }, []);
262
- const setRequestState = (0, external_react_namespaceObject.useCallback)((requestId, requestState)=>{
263
- requestStatesRef.current.set(requestId, requestState);
264
- syncStateFromRequests();
265
- }, [
266
- syncStateFromRequests
267
- ]);
268
- const clearRequestState = (0, external_react_namespaceObject.useCallback)((requestId)=>{
269
- requestStatesRef.current.delete(requestId);
270
- syncStateFromRequests();
271
- }, [
272
- syncStateFromRequests
273
- ]);
274
- const submit = (0, external_react_namespaceObject.useCallback)(async (target, options)=>{
275
- setError(void 0);
276
- const requestId = ++requestIdRef.current;
277
- const normalizedMethod = (options?.method || 'post').toLowerCase();
278
- const isLoaderSubmit = 'get' === normalizedMethod;
279
- setRequestState(requestId, isLoaderSubmit ? 'loading' : 'submitting');
280
- try {
281
- const result = await submitRouteAction({
282
- router,
283
- target,
284
- options,
285
- isFetcher: true,
286
- onInvalidateStart: ()=>{
287
- if (!isLoaderSubmit) setRequestState(requestId, 'loading');
288
- }
289
- });
290
- setData(result);
291
- } catch (err) {
292
- setError(err);
293
- throw err;
294
- } finally{
295
- clearRequestState(requestId);
296
- }
297
- }, [
298
- clearRequestState,
299
- router,
300
- setRequestState
301
- ]);
302
- const FetcherForm = (0, external_react_namespaceObject.useCallback)(({ action, method = 'get', encType, reloadDocument, onSubmit, ...rest })=>{
303
- const handleSubmit = async (event)=>{
304
- onSubmit?.(event);
305
- if (event.defaultPrevented || reloadDocument) return;
306
- event.preventDefault();
307
- const submitter = getSubmitter(event);
308
- const formData = createFormDataFromSubmit({
309
- form: event.currentTarget,
310
- submitter
311
- });
312
- const normalizedOptions = resolveSubmitOptionsFromForm({
313
- form: event.currentTarget,
314
- submitter,
315
- action,
316
- method,
317
- encType
318
- });
319
- await submit(formData, normalizedOptions);
320
- };
321
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("form", {
322
- ...rest,
323
- action: action,
324
- method: method,
325
- encType: encType,
326
- onSubmit: handleSubmit
327
- });
328
- }, [
329
- submit
330
- ]);
331
- return {
332
- state,
333
- data,
334
- error,
335
- Form: FetcherForm,
336
- submit
337
- };
338
- }
339
- exports.Form = __webpack_exports__.Form;
340
- exports.RouteActionResponseError = __webpack_exports__.RouteActionResponseError;
341
- exports.useFetcher = __webpack_exports__.useFetcher;
342
- for(var __rspack_i in __webpack_exports__)if (-1 === [
343
- "Form",
344
- "RouteActionResponseError",
345
- "useFetcher"
346
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
347
- Object.defineProperty(exports, '__esModule', {
348
- value: true
349
- });
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, getters, values)=>{
5
- var define = (defs, kind)=>{
6
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- [kind]: defs[key]
9
- });
10
- };
11
- define(getters, "get");
12
- define(values, "value");
13
- };
14
- })();
15
- (()=>{
16
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
- })();
18
- (()=>{
19
- __webpack_require__.r = (exports1)=>{
20
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
- value: 'Module'
22
- });
23
- Object.defineProperty(exports1, '__esModule', {
24
- value: true
25
- });
26
- };
27
- })();
28
- var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- wrapTanstackSsrHydrationBoundary: ()=>wrapTanstackSsrHydrationBoundary
32
- });
33
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
34
- const external_react_namespaceObject = require("react");
35
- function wrapTanstackSsrHydrationBoundary(routerContent, shouldWrap) {
36
- if (shouldWrap) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Suspense, {
37
- fallback: null,
38
- children: routerContent
39
- });
40
- return routerContent;
41
- }
42
- exports.wrapTanstackSsrHydrationBoundary = __webpack_exports__.wrapTanstackSsrHydrationBoundary;
43
- for(var __rspack_i in __webpack_exports__)if (-1 === [
44
- "wrapTanstackSsrHydrationBoundary"
45
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
46
- Object.defineProperty(exports, '__esModule', {
47
- value: true
48
- });
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, getters, values)=>{
5
- var define = (defs, kind)=>{
6
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- [kind]: defs[key]
9
- });
10
- };
11
- define(getters, "get");
12
- define(values, "value");
13
- };
14
- })();
15
- (()=>{
16
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
- })();
18
- (()=>{
19
- __webpack_require__.r = (exports1)=>{
20
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
- value: 'Module'
22
- });
23
- Object.defineProperty(exports1, '__esModule', {
24
- value: true
25
- });
26
- };
27
- })();
28
- var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- Outlet: ()=>Outlet,
32
- withModernRouteMatchContext: ()=>withModernRouteMatchContext
33
- });
34
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
35
- const react_router_namespaceObject = require("@tanstack/react-router");
36
- const external_react_namespaceObject = require("react");
37
- const Outlet = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function() {
38
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_router_namespaceObject.Outlet, {});
39
- });
40
- function withModernRouteMatchContext(component, _routeId) {
41
- if (null == component) return component;
42
- const Component = component;
43
- const WrappedRouteComponent = (props)=>/*#__PURE__*/ (0, external_react_namespaceObject.createElement)(Component, props);
44
- const preloadable = component;
45
- if ('function' == typeof preloadable.load) WrappedRouteComponent.load = preloadable.load.bind(preloadable);
46
- if ('function' == typeof preloadable.preload) WrappedRouteComponent.preload = preloadable.preload.bind(preloadable);
47
- else if ('function' == typeof preloadable.load) WrappedRouteComponent.preload = WrappedRouteComponent.load;
48
- return WrappedRouteComponent;
49
- }
50
- exports.Outlet = __webpack_exports__.Outlet;
51
- exports.withModernRouteMatchContext = __webpack_exports__.withModernRouteMatchContext;
52
- for(var __rspack_i in __webpack_exports__)if (-1 === [
53
- "Outlet",
54
- "withModernRouteMatchContext"
55
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
56
- Object.defineProperty(exports, '__esModule', {
57
- value: true
58
- });