@tanstack/react-router 0.0.1-alpha.0 → 0.0.1-alpha.1
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/build/stats-html.html +1 -1
- package/package.json +4 -4
- package/build/cjs/index.js +0 -364
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/location-core/build/esm/index.js +0 -2214
- package/build/cjs/location-core/build/esm/index.js.map +0 -1
- package/build/cjs/react-location/src/index.js +0 -311
- package/build/cjs/react-location/src/index.js.map +0 -1
- package/build/cjs/src/index.js +0 -335
- package/build/cjs/src/index.js.map +0 -1
- package/build/stats-react.json +0 -129
- package/build/types/createRoutes.test.d.ts +0 -0
- package/build/types/index.d.ts +0 -68
- package/build/types/qss.d.ts +0 -2
- package/src/createRoutes.test.tsx +0 -310
package/build/stats-html.html
CHANGED
|
@@ -4014,7 +4014,7 @@ var drawChart = (function (exports) {
|
|
|
4014
4014
|
</script>
|
|
4015
4015
|
<script>
|
|
4016
4016
|
/*<!--*/
|
|
4017
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"
|
|
4017
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"cad9-21","name":"\u0000rollupPluginBabelHelpers.js"},{"name":"packages","children":[{"name":"router-core/build/esm/index.js","uid":"cad9-23"},{"name":"react-router/src/index.tsx","uid":"cad9-25"}]}]}],"isRoot":true},"nodeParts":{"cad9-21":{"renderedLength":798,"gzipLength":366,"brotliLength":0,"mainUid":"cad9-20"},"cad9-23":{"renderedLength":68622,"gzipLength":14235,"brotliLength":0,"mainUid":"cad9-22"},"cad9-25":{"renderedLength":11931,"gzipLength":3038,"brotliLength":0,"mainUid":"cad9-24"}},"nodeMetas":{"cad9-20":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"cad9-21"},"imported":[],"importedBy":[{"uid":"cad9-24"}]},"cad9-22":{"id":"/packages/router-core/build/esm/index.js","moduleParts":{"index.production.js":"cad9-23"},"imported":[],"importedBy":[{"uid":"cad9-24"}]},"cad9-24":{"id":"/packages/react-router/src/index.tsx","moduleParts":{"index.production.js":"cad9-25"},"imported":[{"uid":"cad9-20"},{"uid":"cad9-26"},{"uid":"cad9-27"},{"uid":"cad9-22"}],"importedBy":[],"isEntry":true},"cad9-26":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"cad9-24"}],"isExternal":true},"cad9-27":{"id":"use-sync-external-store/shim","moduleParts":{},"imported":[],"importedBy":[{"uid":"cad9-24"}],"isExternal":true}},"env":{"rollup":"2.77.2"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
4018
4018
|
|
|
4019
4019
|
const run = () => {
|
|
4020
4020
|
const width = window.innerWidth;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/react-router",
|
|
3
3
|
"author": "Tanner Linsley",
|
|
4
|
-
"version": "0.0.1-alpha.
|
|
4
|
+
"version": "0.0.1-alpha.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "tanstack/router",
|
|
7
7
|
"homepage": "https://react-router.tanstack.com/",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"url": "https://github.com/sponsors/tannerlinsley"
|
|
25
25
|
},
|
|
26
26
|
"module": "build/esm/index.js",
|
|
27
|
-
"main": "build/cjs/index.js",
|
|
28
|
-
"browser": "build/umd/index.production.
|
|
27
|
+
"main": "build/cjs/react-router/src/index.js",
|
|
28
|
+
"browser": "build/umd/index.production.js",
|
|
29
29
|
"types": "build/types/index.d.ts",
|
|
30
30
|
"engines": {
|
|
31
31
|
"node": ">=12"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@babel/runtime": "^7.16.7",
|
|
43
|
-
"@tanstack/router-core": "0.0.1-
|
|
43
|
+
"@tanstack/router-core": "0.0.1-alpha.1",
|
|
44
44
|
"use-sync-external-store": "^1.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
package/build/cjs/index.js
DELETED
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-router
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var React = require('react');
|
|
17
|
-
var shim = require('use-sync-external-store/shim');
|
|
18
|
-
var routerCore = require('@tanstack/router-core');
|
|
19
|
-
|
|
20
|
-
function _interopNamespace(e) {
|
|
21
|
-
if (e && e.__esModule) return e;
|
|
22
|
-
var n = Object.create(null);
|
|
23
|
-
if (e) {
|
|
24
|
-
Object.keys(e).forEach(function (k) {
|
|
25
|
-
if (k !== 'default') {
|
|
26
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
27
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
get: function () { return e[k]; }
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
n["default"] = e;
|
|
35
|
-
return Object.freeze(n);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
39
|
-
|
|
40
|
-
const _excluded = ["children"],
|
|
41
|
-
_excluded2 = ["children", "pending", "caseSensitive"],
|
|
42
|
-
_excluded3 = ["to", "children", "_ref", "disabled", "target", "search", "hash", "replace", "getActiveProps", "getInactiveProps", "activeOptions", "preload", "preloadMaxAge", "style", "className", "onClick", "onFocus", "onMouseEnter", "onMouseLeave", "onTouchStart", "onTouchEnd"];
|
|
43
|
-
//
|
|
44
|
-
const matchesContext = /*#__PURE__*/React__namespace.createContext(null);
|
|
45
|
-
const routerContext = /*#__PURE__*/React__namespace.createContext(null); // Detect if we're in the DOM
|
|
46
|
-
|
|
47
|
-
const isDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
48
|
-
const useLayoutEffect = isDOM ? React__namespace.useLayoutEffect : React__namespace.useEffect;
|
|
49
|
-
function MatchesProvider(props) {
|
|
50
|
-
return /*#__PURE__*/React__namespace.createElement(matchesContext.Provider, props);
|
|
51
|
-
}
|
|
52
|
-
function Router(_ref2) {
|
|
53
|
-
let {
|
|
54
|
-
children
|
|
55
|
-
} = _ref2,
|
|
56
|
-
rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref2, _excluded);
|
|
57
|
-
|
|
58
|
-
const [router] = React__namespace.useState(() => {
|
|
59
|
-
return new routerCore.RouterInstance(rest);
|
|
60
|
-
});
|
|
61
|
-
router.update(rest);
|
|
62
|
-
shim.useSyncExternalStore(cb => router.subscribe(() => cb()), () => router.state);
|
|
63
|
-
useLayoutEffect(() => {
|
|
64
|
-
router.mount();
|
|
65
|
-
}, []);
|
|
66
|
-
return /*#__PURE__*/React__namespace.createElement(routerContext.Provider, {
|
|
67
|
-
value: {
|
|
68
|
-
router
|
|
69
|
-
}
|
|
70
|
-
}, /*#__PURE__*/React__namespace.createElement(MatchesProvider, {
|
|
71
|
-
value: [router.rootMatch, ...router.state.matches]
|
|
72
|
-
}, children != null ? children : /*#__PURE__*/React__namespace.createElement(Outlet, null)));
|
|
73
|
-
}
|
|
74
|
-
function useRouter() {
|
|
75
|
-
const value = React__namespace.useContext(routerContext);
|
|
76
|
-
routerCore.warning(value, 'useRouter must be used inside a <Router> component!');
|
|
77
|
-
shim.useSyncExternalStore(cb => value.router.subscribe(() => cb()), () => value.router.state);
|
|
78
|
-
return value.router;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function useLatestCallback(cb) {
|
|
82
|
-
const cbRef = React__namespace.useRef(cb);
|
|
83
|
-
cbRef.current = cb;
|
|
84
|
-
return React__namespace.useCallback(function () {
|
|
85
|
-
return cbRef.current(...arguments);
|
|
86
|
-
}, []);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function useMatches() {
|
|
90
|
-
return React__namespace.useContext(matchesContext);
|
|
91
|
-
}
|
|
92
|
-
function useParentMatches() {
|
|
93
|
-
const router = useRouter();
|
|
94
|
-
const match = useMatch();
|
|
95
|
-
const matches = router.state.matches;
|
|
96
|
-
return matches.slice(0, matches.findIndex(d => d.id === match.id) - 1);
|
|
97
|
-
}
|
|
98
|
-
function useMatch() {
|
|
99
|
-
var _useMatches;
|
|
100
|
-
|
|
101
|
-
return (_useMatches = useMatches()) == null ? void 0 : _useMatches[0];
|
|
102
|
-
}
|
|
103
|
-
function useLoaderData() {
|
|
104
|
-
const router = useRouter();
|
|
105
|
-
return router.state.loaderData;
|
|
106
|
-
}
|
|
107
|
-
function useAction(opts) {
|
|
108
|
-
const match = useMatch();
|
|
109
|
-
const router = useRouter();
|
|
110
|
-
return router.getAction(_rollupPluginBabelHelpers["extends"]({
|
|
111
|
-
from: match.pathname,
|
|
112
|
-
to: '.'
|
|
113
|
-
}, opts), {
|
|
114
|
-
isActive: !(opts != null && opts.to)
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
function Form(props) {
|
|
118
|
-
const action = useAction();
|
|
119
|
-
return /*#__PURE__*/React__namespace.createElement("form", _rollupPluginBabelHelpers["extends"]({}, props, {
|
|
120
|
-
onSubmit: event => {
|
|
121
|
-
event.preventDefault();
|
|
122
|
-
event.stopPropagation();
|
|
123
|
-
action.submit(event);
|
|
124
|
-
}
|
|
125
|
-
}), props.children);
|
|
126
|
-
}
|
|
127
|
-
function useMatchRoute() {
|
|
128
|
-
const router = useRouter();
|
|
129
|
-
const match = useMatch();
|
|
130
|
-
return useLatestCallback((matchLocation, opts) => {
|
|
131
|
-
return router.matchRoute(_rollupPluginBabelHelpers["extends"]({}, matchLocation, {
|
|
132
|
-
from: match.pathname
|
|
133
|
-
}), opts);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
function MatchRoute(_ref3) {
|
|
137
|
-
let {
|
|
138
|
-
children,
|
|
139
|
-
pending,
|
|
140
|
-
caseSensitive
|
|
141
|
-
} = _ref3,
|
|
142
|
-
rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref3, _excluded2);
|
|
143
|
-
|
|
144
|
-
const matchRoute = useMatchRoute();
|
|
145
|
-
const match = matchRoute(rest, {
|
|
146
|
-
pending,
|
|
147
|
-
caseSensitive
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
if (typeof children === 'function') {
|
|
151
|
-
return children(match);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return match ? children : null;
|
|
155
|
-
}
|
|
156
|
-
function useLoadRoute() {
|
|
157
|
-
const match = useMatch();
|
|
158
|
-
const router = useRouter();
|
|
159
|
-
return useLatestCallback(async (navigateOpts, loaderOpts) => router.loadRoute(_rollupPluginBabelHelpers["extends"]({}, navigateOpts, {
|
|
160
|
-
from: match.pathname
|
|
161
|
-
}), loaderOpts));
|
|
162
|
-
}
|
|
163
|
-
function useInvalidateRoute() {
|
|
164
|
-
const match = useMatch();
|
|
165
|
-
const router = useRouter();
|
|
166
|
-
return useLatestCallback(async function (navigateOpts) {
|
|
167
|
-
if (navigateOpts === void 0) {
|
|
168
|
-
navigateOpts = {
|
|
169
|
-
to: '.'
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return router.invalidateRoute(_rollupPluginBabelHelpers["extends"]({}, navigateOpts, {
|
|
174
|
-
from: match.pathname
|
|
175
|
-
}));
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
function useNavigate() {
|
|
179
|
-
const router = useRouter();
|
|
180
|
-
const match = useMatch();
|
|
181
|
-
return useLatestCallback(options => router.navigate(_rollupPluginBabelHelpers["extends"]({}, options, {
|
|
182
|
-
from: match.pathname
|
|
183
|
-
})));
|
|
184
|
-
}
|
|
185
|
-
function Navigate(options) {
|
|
186
|
-
let navigate = useNavigate();
|
|
187
|
-
useLayoutEffect(() => {
|
|
188
|
-
navigate(options);
|
|
189
|
-
}, [navigate]);
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
function Outlet() {
|
|
193
|
-
var _router$getOutletElem, _match$route$catchEle;
|
|
194
|
-
|
|
195
|
-
const router = useRouter();
|
|
196
|
-
const [_, ...matches] = useMatches();
|
|
197
|
-
if (!matches.length) return null;
|
|
198
|
-
const [match] = matches;
|
|
199
|
-
let element = (_router$getOutletElem = router.getOutletElement(matches)) != null ? _router$getOutletElem : /*#__PURE__*/React__namespace.createElement(Outlet, null);
|
|
200
|
-
const catchElement = (_match$route$catchEle = match == null ? void 0 : match.route.catchElement) != null ? _match$route$catchEle : router.defaultCatchElement;
|
|
201
|
-
return /*#__PURE__*/React__namespace.createElement(MatchesProvider, {
|
|
202
|
-
value: matches
|
|
203
|
-
}, /*#__PURE__*/React__namespace.createElement(CatchBoundary, {
|
|
204
|
-
catchElement: catchElement
|
|
205
|
-
}, element));
|
|
206
|
-
}
|
|
207
|
-
function useResolvePath() {
|
|
208
|
-
const router = useRouter();
|
|
209
|
-
const match = useMatch();
|
|
210
|
-
return useLatestCallback(path => router.resolvePath(match.pathname, path));
|
|
211
|
-
}
|
|
212
|
-
function useSearch() {
|
|
213
|
-
const router = useRouter();
|
|
214
|
-
return router.location.search;
|
|
215
|
-
}
|
|
216
|
-
function useLink(opts) {
|
|
217
|
-
const router = useRouter();
|
|
218
|
-
const match = useMatch();
|
|
219
|
-
const ref = React__namespace.useRef({}).current;
|
|
220
|
-
return router.buildLinkInfo(_rollupPluginBabelHelpers["extends"]({}, opts, {
|
|
221
|
-
from: match.pathname,
|
|
222
|
-
ref
|
|
223
|
-
}));
|
|
224
|
-
}
|
|
225
|
-
function Link(props) {
|
|
226
|
-
const linkUtils = useLink(props);
|
|
227
|
-
|
|
228
|
-
const {
|
|
229
|
-
to,
|
|
230
|
-
children,
|
|
231
|
-
_ref,
|
|
232
|
-
disabled,
|
|
233
|
-
target,
|
|
234
|
-
style,
|
|
235
|
-
className,
|
|
236
|
-
onClick,
|
|
237
|
-
onFocus,
|
|
238
|
-
onMouseEnter,
|
|
239
|
-
onMouseLeave
|
|
240
|
-
} = props,
|
|
241
|
-
rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(props, _excluded3);
|
|
242
|
-
|
|
243
|
-
if (!linkUtils) {
|
|
244
|
-
return /*#__PURE__*/React__namespace.createElement("a", _rollupPluginBabelHelpers["extends"]({
|
|
245
|
-
href: to
|
|
246
|
-
}, rest), typeof children === 'function' ? children({
|
|
247
|
-
isActive: false
|
|
248
|
-
}) : children);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
const {
|
|
252
|
-
next,
|
|
253
|
-
activeProps,
|
|
254
|
-
handleFocus,
|
|
255
|
-
handleClick,
|
|
256
|
-
handleEnter,
|
|
257
|
-
handleLeave,
|
|
258
|
-
inactiveProps,
|
|
259
|
-
isActive
|
|
260
|
-
} = linkUtils;
|
|
261
|
-
|
|
262
|
-
const composeHandlers = handlers => e => {
|
|
263
|
-
e.persist();
|
|
264
|
-
handlers.forEach(handler => {
|
|
265
|
-
if (handler) handler(e);
|
|
266
|
-
});
|
|
267
|
-
};
|
|
268
|
-
|
|
269
|
-
return /*#__PURE__*/React__namespace.createElement("a", _rollupPluginBabelHelpers["extends"]({}, activeProps, inactiveProps, rest, {
|
|
270
|
-
ref: _ref,
|
|
271
|
-
href: disabled ? undefined : next.href,
|
|
272
|
-
onClick: composeHandlers([handleClick, onClick]),
|
|
273
|
-
onFocus: composeHandlers([handleFocus, onFocus]),
|
|
274
|
-
onMouseEnter: composeHandlers([handleEnter, onMouseEnter]),
|
|
275
|
-
onMouseLeave: composeHandlers([handleLeave, onMouseLeave]),
|
|
276
|
-
target,
|
|
277
|
-
style: _rollupPluginBabelHelpers["extends"]({}, style, activeProps.style, inactiveProps.style),
|
|
278
|
-
className: [className, activeProps.className, inactiveProps.className].filter(Boolean).join(' ') || undefined
|
|
279
|
-
}, disabled ? {
|
|
280
|
-
role: 'link',
|
|
281
|
-
'aria-disabled': true
|
|
282
|
-
} : undefined, {
|
|
283
|
-
children: typeof children === 'function' ? children({
|
|
284
|
-
isActive
|
|
285
|
-
}) : children
|
|
286
|
-
}));
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
class CatchBoundary extends React__namespace.Component {
|
|
290
|
-
constructor() {
|
|
291
|
-
super(...arguments);
|
|
292
|
-
this.state = {
|
|
293
|
-
error: false
|
|
294
|
-
};
|
|
295
|
-
|
|
296
|
-
this.reset = () => {
|
|
297
|
-
this.setState({
|
|
298
|
-
error: false,
|
|
299
|
-
info: false
|
|
300
|
-
});
|
|
301
|
-
};
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
componentDidCatch(error, info) {
|
|
305
|
-
console.error(error);
|
|
306
|
-
this.setState({
|
|
307
|
-
error,
|
|
308
|
-
info
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
render() {
|
|
313
|
-
var _this$props$catchElem;
|
|
314
|
-
|
|
315
|
-
const catchElement = (_this$props$catchElem = this.props.catchElement) != null ? _this$props$catchElem : DefaultCatchBoundary;
|
|
316
|
-
|
|
317
|
-
if (this.state.error) {
|
|
318
|
-
return typeof catchElement === 'function' ? catchElement(this.state) : catchElement;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return this.props.children;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
function DefaultCatchBoundary(_ref4) {
|
|
327
|
-
let {
|
|
328
|
-
error
|
|
329
|
-
} = _ref4;
|
|
330
|
-
return /*#__PURE__*/React__namespace.createElement("div", {
|
|
331
|
-
style: {
|
|
332
|
-
padding: '.5rem',
|
|
333
|
-
maxWidth: '100%'
|
|
334
|
-
}
|
|
335
|
-
}, error.message ? null : /*#__PURE__*/React__namespace.createElement("h1", null, "Something went wrong!"), /*#__PURE__*/React__namespace.createElement("small", null, /*#__PURE__*/React__namespace.createElement("em", null, error.message)));
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
exports.Form = Form;
|
|
339
|
-
exports.Link = Link;
|
|
340
|
-
exports.MatchRoute = MatchRoute;
|
|
341
|
-
exports.MatchesProvider = MatchesProvider;
|
|
342
|
-
exports.Navigate = Navigate;
|
|
343
|
-
exports.Outlet = Outlet;
|
|
344
|
-
exports.Router = Router;
|
|
345
|
-
exports.useAction = useAction;
|
|
346
|
-
exports.useInvalidateRoute = useInvalidateRoute;
|
|
347
|
-
exports.useLink = useLink;
|
|
348
|
-
exports.useLoadRoute = useLoadRoute;
|
|
349
|
-
exports.useLoaderData = useLoaderData;
|
|
350
|
-
exports.useMatch = useMatch;
|
|
351
|
-
exports.useMatchRoute = useMatchRoute;
|
|
352
|
-
exports.useMatches = useMatches;
|
|
353
|
-
exports.useNavigate = useNavigate;
|
|
354
|
-
exports.useParentMatches = useParentMatches;
|
|
355
|
-
exports.useResolvePath = useResolvePath;
|
|
356
|
-
exports.useRouter = useRouter;
|
|
357
|
-
exports.useSearch = useSearch;
|
|
358
|
-
Object.keys(routerCore).forEach(function (k) {
|
|
359
|
-
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
360
|
-
enumerable: true,
|
|
361
|
-
get: function () { return routerCore[k]; }
|
|
362
|
-
});
|
|
363
|
-
});
|
|
364
|
-
//# sourceMappingURL=index.js.map
|
package/build/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n warning,\n RouterInstance,\n RouterOptions,\n RouteMatch,\n RouteParams,\n NavigateOptions,\n MatchLocation,\n MatchRouteOptions,\n LinkOptions,\n} from '@tanstack/router-core'\n\nexport * from '@tanstack/router-core'\n\ndeclare module '@tanstack/router-core' {\n interface FrameworkGenerics<TData = unknown> {\n Element: React.ReactNode\n AsyncElement: (opts: {\n params: Record<string, string>\n }) => Promise<React.ReactNode>\n SyncOrAsyncElement:\n | React.ReactNode\n | FrameworkGenerics<TData>['AsyncElement']\n LinkProps: React.HTMLAttributes<unknown>\n }\n}\n\nexport type PromptProps = {\n message: string\n when?: boolean | any\n children?: React.ReactNode\n}\n\n//\n\nconst matchesContext = React.createContext<RouteMatch<unknown>[]>(null!)\nconst routerContext = React.createContext<{ router: RouterInstance }>(null!)\n\n// Detect if we're in the DOM\nconst isDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement,\n)\n\nconst useLayoutEffect = isDOM ? React.useLayoutEffect : React.useEffect\n\nexport type MatchesProviderProps = {\n value: RouteMatch<unknown>[]\n children: React.ReactNode\n}\n\nexport function MatchesProvider(props: MatchesProviderProps) {\n return <matchesContext.Provider {...props} />\n}\n\nexport type RouterProps = RouterOptions & {\n // Children will default to `<Outlet />` if not provided\n children?: React.ReactNode\n}\n\nexport function Router({ children, ...rest }: RouterProps) {\n const [router] = React.useState(() => {\n return new RouterInstance(rest)\n })\n\n router.update(rest)\n\n useSyncExternalStore(\n (cb) => router.subscribe(() => cb()),\n () => router.state,\n )\n\n useLayoutEffect(() => {\n router.mount()\n }, [])\n\n return (\n <routerContext.Provider value={{ router }}>\n <MatchesProvider\n value={[\n router.rootMatch as RouteMatch<unknown>,\n ...router.state.matches,\n ]}\n >\n {children ?? <Outlet />}\n </MatchesProvider>\n </routerContext.Provider>\n )\n}\n\nexport function useRouter(): RouterInstance {\n const value = React.useContext(routerContext)\n warning(value, 'useRouter must be used inside a <Router> component!')\n\n useSyncExternalStore(\n (cb) => value.router.subscribe(() => cb()),\n () => value.router.state,\n )\n\n return value.router as RouterInstance\n}\n\nfunction useLatestCallback<TCallback extends (...args: any[]) => any>(\n cb: TCallback,\n) {\n const cbRef = React.useRef<TCallback>(cb)\n cbRef.current = cb\n return React.useCallback(\n (...args: Parameters<TCallback>): ReturnType<TCallback> =>\n cbRef.current(...args),\n [],\n )\n}\n\nexport function useMatches(): RouteMatch<unknown>[] {\n return React.useContext(matchesContext)\n}\n\nexport function useParentMatches(): RouteMatch<unknown>[] {\n const router = useRouter()\n const match = useMatch()\n const matches = router.state.matches\n return matches.slice(0, matches.findIndex((d) => d.id === match.id) - 1)\n}\n\nexport function useMatch<T>(): RouteMatch<T> {\n return useMatches()?.[0] as RouteMatch<T>\n}\n\nexport function useLoaderData() {\n const router = useRouter()\n return router.state.loaderData\n}\n\nexport function useAction<\n TPayload = unknown,\n TResponse = unknown,\n TError = unknown,\n>(opts?: Pick<NavigateOptions, 'to' | 'from'>) {\n const match = useMatch()\n const router = useRouter()\n return router.getAction<TPayload, TResponse, TError>(\n { from: match.pathname, to: '.', ...opts },\n {\n isActive: !opts?.to,\n },\n )\n}\n\nexport function Form(props: React.HTMLProps<HTMLFormElement>) {\n const action = useAction()\n\n return (\n <form\n {...props}\n onSubmit={(event) => {\n event.preventDefault()\n event.stopPropagation()\n\n action.submit(event)\n }}\n >\n {props.children}\n </form>\n )\n}\n\nexport function useMatchRoute() {\n const router = useRouter()\n const match = useMatch()\n\n return useLatestCallback(\n (matchLocation: MatchLocation, opts?: MatchRouteOptions) => {\n return router.matchRoute(\n {\n ...matchLocation,\n from: match.pathname,\n },\n opts,\n )\n },\n )\n}\n\nexport type MatchRouteProps = MatchLocation &\n MatchRouteOptions & {\n children: React.ReactNode | ((routeParams?: RouteParams) => React.ReactNode)\n }\n\nexport function MatchRoute({\n children,\n pending,\n caseSensitive,\n ...rest\n}: MatchRouteProps): JSX.Element {\n const matchRoute = useMatchRoute()\n const match = matchRoute(rest, { pending, caseSensitive })\n\n if (typeof children === 'function') {\n return children(match as any) as JSX.Element\n }\n\n return (match ? children : null) as JSX.Element\n}\n\nexport function useLoadRoute() {\n const match = useMatch()\n const router = useRouter()\n\n return useLatestCallback(\n async (navigateOpts: NavigateOptions, loaderOpts: { maxAge: number }) =>\n router.loadRoute({ ...navigateOpts, from: match.pathname }, loaderOpts),\n )\n}\n\nexport function useInvalidateRoute() {\n const match = useMatch()\n const router = useRouter()\n\n return useLatestCallback(async (navigateOpts: MatchLocation = { to: '.' }) =>\n router.invalidateRoute({ ...navigateOpts, from: match.pathname }),\n )\n}\n\nexport function useNavigate() {\n const router = useRouter()\n const match = useMatch()\n\n return useLatestCallback((options: NavigateOptions) =>\n router.navigate({ ...options, from: match.pathname }),\n )\n}\n\nexport function Navigate(options: NavigateOptions) {\n let navigate = useNavigate()\n\n useLayoutEffect(() => {\n navigate(options)\n }, [navigate])\n\n return null\n}\n\nexport function Outlet() {\n const router = useRouter()\n const [_, ...matches] = useMatches()\n\n if (!matches.length) return null\n\n const [match] = matches\n\n let element = router.getOutletElement(matches) ?? <Outlet />\n\n const catchElement = match?.route.catchElement ?? router.defaultCatchElement\n\n return (\n <MatchesProvider value={matches}>\n <CatchBoundary catchElement={catchElement}>{element}</CatchBoundary>\n </MatchesProvider>\n )\n}\n\nexport function useResolvePath() {\n const router = useRouter()\n const match = useMatch()\n return useLatestCallback((path: string) =>\n router.resolvePath(match.pathname, path),\n )\n}\n\nexport function useSearch() {\n const router = useRouter()\n return router.location.search\n}\n\nexport type LinkProps = LinkOptions &\n Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href' | 'children' | keyof LinkOptions\n > & {\n // A custom ref prop because of this: https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref/58473012\n _ref?: React.Ref<HTMLAnchorElement>\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | React.ReactNode\n | ((state: { isActive: boolean }) => React.ReactNode)\n }\n\nexport function useLink(opts: LinkOptions) {\n const router = useRouter()\n const match = useMatch()\n const ref = React.useRef({}).current\n return router.buildLinkInfo({ ...opts, from: match.pathname, ref })\n}\n\nexport function Link(props: LinkProps) {\n const linkUtils = useLink(props)\n\n const {\n to,\n children,\n _ref,\n disabled,\n target,\n search,\n hash,\n replace,\n getActiveProps,\n getInactiveProps,\n activeOptions,\n preload,\n preloadMaxAge,\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n ...rest\n } = props\n\n if (!linkUtils) {\n return (\n <a href={to as string} {...rest}>\n {typeof children === 'function'\n ? children({ isActive: false })\n : children}\n </a>\n )\n }\n\n const {\n next,\n activeProps,\n handleFocus,\n handleClick,\n handleEnter,\n handleLeave,\n inactiveProps,\n isActive,\n } = linkUtils\n\n const composeHandlers =\n (handlers: (undefined | ((e: any) => void))[]) =>\n (e: React.SyntheticEvent) => {\n e.persist()\n handlers.forEach((handler) => {\n if (handler) handler(e)\n })\n }\n\n return (\n <a\n {...{\n ...activeProps,\n ...inactiveProps,\n ...rest,\n ref: _ref,\n href: disabled ? undefined : next.href,\n onClick: composeHandlers([handleClick, onClick]),\n onFocus: composeHandlers([handleFocus, onFocus]),\n onMouseEnter: composeHandlers([handleEnter, onMouseEnter]),\n onMouseLeave: composeHandlers([handleLeave, onMouseLeave]),\n target,\n style: {\n ...style,\n ...activeProps.style,\n ...inactiveProps.style,\n },\n className:\n [className, activeProps.className, inactiveProps.className]\n .filter(Boolean)\n .join(' ') || undefined,\n ...(disabled\n ? {\n role: 'link',\n 'aria-disabled': true,\n }\n : undefined),\n children:\n typeof children === 'function' ? children({ isActive }) : children,\n }}\n />\n )\n}\n\nclass CatchBoundary extends React.Component<{\n children: any\n catchElement: any\n}> {\n state = {\n error: false,\n }\n componentDidCatch(error: any, info: any) {\n console.error(error)\n\n this.setState({\n error,\n info,\n })\n }\n reset = () => {\n this.setState({\n error: false,\n info: false,\n })\n }\n render() {\n const catchElement = this.props.catchElement ?? DefaultCatchBoundary\n\n if (this.state.error) {\n return typeof catchElement === 'function'\n ? catchElement(this.state)\n : catchElement\n }\n\n return this.props.children\n }\n}\n\nfunction DefaultCatchBoundary({ error }: { error: any }) {\n return (\n <div style={{ padding: '.5rem', maxWidth: '100%' }}>\n {error.message ? null : <h1>Something went wrong!</h1>}\n <small>\n <em>{error.message}</em>\n </small>\n </div>\n )\n}\n"],"names":["matchesContext","React","createContext","routerContext","isDOM","Boolean","window","document","createElement","useLayoutEffect","useEffect","MatchesProvider","props","Router","children","rest","_objectWithoutPropertiesLoose","router","useState","RouterInstance","update","useSyncExternalStore","cb","subscribe","state","mount","rootMatch","matches","useRouter","value","useContext","warning","useLatestCallback","cbRef","useRef","current","useCallback","useMatches","useParentMatches","match","useMatch","slice","findIndex","d","id","useLoaderData","loaderData","useAction","opts","getAction","_extends","from","pathname","to","isActive","Form","action","event","preventDefault","stopPropagation","submit","useMatchRoute","matchLocation","matchRoute","MatchRoute","pending","caseSensitive","useLoadRoute","navigateOpts","loaderOpts","loadRoute","useInvalidateRoute","invalidateRoute","useNavigate","options","navigate","Navigate","Outlet","_","length","element","getOutletElement","catchElement","route","defaultCatchElement","useResolvePath","path","resolvePath","useSearch","location","search","useLink","ref","buildLinkInfo","Link","linkUtils","_ref","disabled","target","style","className","onClick","onFocus","onMouseEnter","onMouseLeave","next","activeProps","handleFocus","handleClick","handleEnter","handleLeave","inactiveProps","composeHandlers","handlers","e","persist","forEach","handler","href","undefined","filter","join","role","CatchBoundary","Component","error","reset","setState","info","componentDidCatch","console","render","DefaultCatchBoundary","padding","maxWidth","message"],"mappings":"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"}
|