@tanstack/solid-router 1.110.0 → 1.111.4

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 (207) hide show
  1. package/dist/cjs/Matches.cjs.map +1 -1
  2. package/dist/cjs/Matches.d.cts +1 -3
  3. package/dist/cjs/RouterProvider.cjs.map +1 -1
  4. package/dist/cjs/RouterProvider.d.cts +0 -25
  5. package/dist/cjs/fileRoute.cjs.map +1 -1
  6. package/dist/cjs/fileRoute.d.cts +2 -14
  7. package/dist/cjs/index.d.cts +6 -7
  8. package/dist/cjs/link.cjs.map +1 -1
  9. package/dist/cjs/link.d.cts +1 -73
  10. package/dist/cjs/not-found.cjs.map +1 -1
  11. package/dist/cjs/not-found.d.cts +1 -1
  12. package/dist/cjs/redirects.cjs.map +1 -1
  13. package/dist/cjs/redirects.d.cts +1 -3
  14. package/dist/cjs/route.cjs.map +1 -1
  15. package/dist/cjs/route.d.cts +10 -50
  16. package/dist/cjs/router.cjs.map +1 -1
  17. package/dist/cjs/router.d.cts +2 -8
  18. package/dist/cjs/typePrimitives.d.cts +2 -3
  19. package/dist/cjs/useBlocker.cjs.map +1 -1
  20. package/dist/cjs/useBlocker.d.cts +1 -1
  21. package/dist/cjs/useLoaderData.cjs.map +1 -1
  22. package/dist/cjs/useLoaderData.d.cts +1 -2
  23. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  24. package/dist/cjs/useLoaderDeps.d.cts +1 -2
  25. package/dist/cjs/useNavigate.cjs.map +1 -1
  26. package/dist/cjs/useNavigate.d.cts +1 -1
  27. package/dist/cjs/useParams.cjs.map +1 -1
  28. package/dist/cjs/useParams.d.cts +1 -2
  29. package/dist/cjs/useRouteContext.cjs.map +1 -1
  30. package/dist/cjs/useRouteContext.d.cts +1 -2
  31. package/dist/cjs/useSearch.cjs.map +1 -1
  32. package/dist/cjs/useSearch.d.cts +1 -2
  33. package/dist/cjs/utils.cjs.map +1 -1
  34. package/dist/cjs/utils.d.cts +2 -3
  35. package/dist/esm/Matches.d.ts +1 -3
  36. package/dist/esm/Matches.js.map +1 -1
  37. package/dist/esm/RouterProvider.d.ts +0 -25
  38. package/dist/esm/RouterProvider.js.map +1 -1
  39. package/dist/esm/fileRoute.d.ts +2 -14
  40. package/dist/esm/fileRoute.js.map +1 -1
  41. package/dist/esm/index.d.ts +6 -7
  42. package/dist/esm/link.d.ts +1 -73
  43. package/dist/esm/link.js.map +1 -1
  44. package/dist/esm/not-found.d.ts +1 -1
  45. package/dist/esm/not-found.js.map +1 -1
  46. package/dist/esm/redirects.d.ts +1 -3
  47. package/dist/esm/redirects.js.map +1 -1
  48. package/dist/esm/route.d.ts +10 -50
  49. package/dist/esm/route.js.map +1 -1
  50. package/dist/esm/router.d.ts +2 -8
  51. package/dist/esm/router.js.map +1 -1
  52. package/dist/esm/typePrimitives.d.ts +2 -3
  53. package/dist/esm/useBlocker.d.ts +1 -1
  54. package/dist/esm/useBlocker.js.map +1 -1
  55. package/dist/esm/useLoaderData.d.ts +1 -2
  56. package/dist/esm/useLoaderData.js.map +1 -1
  57. package/dist/esm/useLoaderDeps.d.ts +1 -2
  58. package/dist/esm/useLoaderDeps.js.map +1 -1
  59. package/dist/esm/useNavigate.d.ts +1 -1
  60. package/dist/esm/useNavigate.js.map +1 -1
  61. package/dist/esm/useParams.d.ts +1 -2
  62. package/dist/esm/useParams.js.map +1 -1
  63. package/dist/esm/useRouteContext.d.ts +1 -2
  64. package/dist/esm/useRouteContext.js.map +1 -1
  65. package/dist/esm/useSearch.d.ts +1 -2
  66. package/dist/esm/useSearch.js.map +1 -1
  67. package/dist/esm/utils.d.ts +2 -3
  68. package/dist/esm/utils.js.map +1 -1
  69. package/dist/source/Asset.d.ts +2 -0
  70. package/dist/source/Asset.jsx +22 -0
  71. package/dist/source/Asset.jsx.map +1 -0
  72. package/dist/source/CatchBoundary.d.ts +11 -0
  73. package/dist/source/CatchBoundary.jsx +43 -0
  74. package/dist/source/CatchBoundary.jsx.map +1 -0
  75. package/dist/source/HeadContent.d.ts +8 -0
  76. package/dist/source/HeadContent.jsx +125 -0
  77. package/dist/source/HeadContent.jsx.map +1 -0
  78. package/dist/source/Match.d.ts +8 -0
  79. package/dist/source/Match.jsx +256 -0
  80. package/dist/source/Match.jsx.map +1 -0
  81. package/dist/source/Matches.d.ts +67 -0
  82. package/dist/source/Matches.jsx +103 -0
  83. package/dist/source/Matches.jsx.map +1 -0
  84. package/dist/source/RouterProvider.d.ts +10 -0
  85. package/dist/source/RouterProvider.jsx +27 -0
  86. package/dist/source/RouterProvider.jsx.map +1 -0
  87. package/dist/source/SafeFragment.d.ts +1 -0
  88. package/dist/source/SafeFragment.jsx +4 -0
  89. package/dist/source/SafeFragment.jsx.map +1 -0
  90. package/dist/source/ScriptOnce.d.ts +5 -0
  91. package/dist/source/ScriptOnce.jsx +17 -0
  92. package/dist/source/ScriptOnce.jsx.map +1 -0
  93. package/dist/source/Scripts.d.ts +1 -0
  94. package/dist/source/Scripts.jsx +49 -0
  95. package/dist/source/Scripts.jsx.map +1 -0
  96. package/dist/source/ScrollRestoration.d.ts +15 -0
  97. package/dist/source/ScrollRestoration.jsx +36 -0
  98. package/dist/source/ScrollRestoration.jsx.map +1 -0
  99. package/dist/source/Transitioner.d.ts +1 -0
  100. package/dist/source/Transitioner.jsx +112 -0
  101. package/dist/source/Transitioner.jsx.map +1 -0
  102. package/dist/source/awaited.d.ts +11 -0
  103. package/dist/source/awaited.jsx +24 -0
  104. package/dist/source/awaited.jsx.map +1 -0
  105. package/dist/source/fileRoute.d.ts +46 -0
  106. package/dist/source/fileRoute.js +85 -0
  107. package/dist/source/fileRoute.js.map +1 -0
  108. package/dist/source/history.d.ts +8 -0
  109. package/dist/source/history.js +2 -0
  110. package/dist/source/history.js.map +1 -0
  111. package/dist/source/index.d.ts +52 -0
  112. package/dist/source/index.jsx +41 -0
  113. package/dist/source/index.jsx.map +1 -0
  114. package/dist/source/lazyRouteComponent.d.ts +7 -0
  115. package/dist/source/lazyRouteComponent.jsx +82 -0
  116. package/dist/source/lazyRouteComponent.jsx.map +1 -0
  117. package/dist/source/link.d.ts +41 -0
  118. package/dist/source/link.jsx +339 -0
  119. package/dist/source/link.jsx.map +1 -0
  120. package/dist/source/matchContext.d.ts +3 -0
  121. package/dist/source/matchContext.jsx +5 -0
  122. package/dist/source/matchContext.jsx.map +1 -0
  123. package/dist/source/not-found.d.ts +27 -0
  124. package/dist/source/not-found.jsx +39 -0
  125. package/dist/source/not-found.jsx.map +1 -0
  126. package/dist/source/redirects.d.ts +19 -0
  127. package/dist/source/redirects.js +25 -0
  128. package/dist/source/redirects.js.map +1 -0
  129. package/dist/source/renderRouteNotFound.d.ts +3 -0
  130. package/dist/source/renderRouteNotFound.jsx +15 -0
  131. package/dist/source/renderRouteNotFound.jsx.map +1 -0
  132. package/dist/source/route.d.ts +257 -0
  133. package/dist/source/route.js +240 -0
  134. package/dist/source/route.js.map +1 -0
  135. package/dist/source/router.d.ts +550 -0
  136. package/dist/source/router.js +1802 -0
  137. package/dist/source/router.js.map +1 -0
  138. package/dist/source/routerContext.d.ts +8 -0
  139. package/dist/source/routerContext.jsx +13 -0
  140. package/dist/source/routerContext.jsx.map +1 -0
  141. package/dist/source/scroll-restoration.d.ts +29 -0
  142. package/dist/source/scroll-restoration.jsx +244 -0
  143. package/dist/source/scroll-restoration.jsx.map +1 -0
  144. package/dist/source/typePrimitives.d.ts +70 -0
  145. package/dist/source/typePrimitives.js +2 -0
  146. package/dist/source/typePrimitives.js.map +1 -0
  147. package/dist/source/useBlocker.d.ts +68 -0
  148. package/dist/source/useBlocker.jsx +136 -0
  149. package/dist/source/useBlocker.jsx.map +1 -0
  150. package/dist/source/useCanGoBack.d.ts +1 -0
  151. package/dist/source/useCanGoBack.js +5 -0
  152. package/dist/source/useCanGoBack.js.map +1 -0
  153. package/dist/source/useLoaderData.d.ts +12 -0
  154. package/dist/source/useLoaderData.jsx +11 -0
  155. package/dist/source/useLoaderData.jsx.map +1 -0
  156. package/dist/source/useLoaderDeps.d.ts +11 -0
  157. package/dist/source/useLoaderDeps.jsx +11 -0
  158. package/dist/source/useLoaderDeps.jsx.map +1 -0
  159. package/dist/source/useLocation.d.ts +7 -0
  160. package/dist/source/useLocation.jsx +7 -0
  161. package/dist/source/useLocation.jsx.map +1 -0
  162. package/dist/source/useMatch.d.ts +14 -0
  163. package/dist/source/useMatch.jsx +19 -0
  164. package/dist/source/useMatch.jsx.map +1 -0
  165. package/dist/source/useNavigate.d.ts +7 -0
  166. package/dist/source/useNavigate.jsx +32 -0
  167. package/dist/source/useNavigate.jsx.map +1 -0
  168. package/dist/source/useParams.d.ts +14 -0
  169. package/dist/source/useParams.jsx +12 -0
  170. package/dist/source/useParams.jsx.map +1 -0
  171. package/dist/source/useRouteContext.d.ts +12 -0
  172. package/dist/source/useRouteContext.js +8 -0
  173. package/dist/source/useRouteContext.js.map +1 -0
  174. package/dist/source/useRouter.d.ts +4 -0
  175. package/dist/source/useRouter.jsx +9 -0
  176. package/dist/source/useRouter.jsx.map +1 -0
  177. package/dist/source/useRouterState.d.ts +8 -0
  178. package/dist/source/useRouterState.jsx +14 -0
  179. package/dist/source/useRouterState.jsx.map +1 -0
  180. package/dist/source/useSearch.d.ts +14 -0
  181. package/dist/source/useSearch.jsx +12 -0
  182. package/dist/source/useSearch.jsx.map +1 -0
  183. package/dist/source/utils.d.ts +43 -0
  184. package/dist/source/utils.js +59 -0
  185. package/dist/source/utils.js.map +1 -0
  186. package/package.json +6 -2
  187. package/src/Matches.tsx +11 -15
  188. package/src/RouterProvider.tsx +0 -48
  189. package/src/fileRoute.ts +3 -31
  190. package/src/index.tsx +47 -54
  191. package/src/link.tsx +3 -427
  192. package/src/not-found.tsx +1 -1
  193. package/src/redirects.ts +5 -3
  194. package/src/route.ts +101 -154
  195. package/src/router.ts +11 -25
  196. package/src/typePrimitives.ts +9 -8
  197. package/src/useBlocker.tsx +1 -1
  198. package/src/useLoaderData.tsx +1 -2
  199. package/src/useLoaderDeps.tsx +1 -2
  200. package/src/useNavigate.tsx +1 -1
  201. package/src/useParams.tsx +6 -2
  202. package/src/useRouteContext.ts +2 -2
  203. package/src/useSearch.tsx +6 -2
  204. package/src/utils.ts +1 -2
  205. package/dist/cjs/routeInfo.d.cts +0 -53
  206. package/dist/esm/routeInfo.d.ts +0 -53
  207. package/src/routeInfo.ts +0 -239
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as Solid from 'solid-js';
2
+ import type { AnyRouter, Router } from './router';
3
+ declare global {
4
+ interface Window {
5
+ __TSR_ROUTER_CONTEXT__?: Solid.Context<AnyRouter>;
6
+ }
7
+ }
8
+ export declare function getRouterContext(): Solid.Context<AnyRouter> | Solid.Context<Router<any, any, any, Record<string, any>, Record<string, any>>>;
@@ -0,0 +1,13 @@
1
+ import * as Solid from 'solid-js';
2
+ const routerContext = Solid.createContext(null);
3
+ export function getRouterContext() {
4
+ if (typeof document === 'undefined') {
5
+ return routerContext;
6
+ }
7
+ if (window.__TSR_ROUTER_CONTEXT__) {
8
+ return window.__TSR_ROUTER_CONTEXT__;
9
+ }
10
+ window.__TSR_ROUTER_CONTEXT__ = routerContext;
11
+ return routerContext;
12
+ }
13
+ //# sourceMappingURL=routerContext.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerContext.jsx","sourceRoot":"","sources":["../../src/routerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AASjC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CACvC,IAAwC,CACzC,CAAA;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,sBAAsB,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,sBAAsB,GAAG,aAAoB,CAAA;IAEpD,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { AnyRouter } from './router';
2
+ import type { NonNullableUpdater, ParsedLocation } from '@tanstack/router-core';
3
+ export type ScrollRestorationEntry = {
4
+ scrollX: number;
5
+ scrollY: number;
6
+ };
7
+ export type ScrollRestorationByElement = Record<string, ScrollRestorationEntry>;
8
+ export type ScrollRestorationByKey = Record<string, ScrollRestorationByElement>;
9
+ export type ScrollRestorationCache = {
10
+ state: ScrollRestorationByKey;
11
+ set: (updater: NonNullableUpdater<ScrollRestorationByKey>) => void;
12
+ };
13
+ export type ScrollRestorationOptions = {
14
+ getKey?: (location: ParsedLocation) => string;
15
+ scrollBehavior?: ScrollToOptions['behavior'];
16
+ };
17
+ export declare const storageKey = "tsr-scroll-restoration-v1_3";
18
+ export declare const scrollRestorationCache: ScrollRestorationCache;
19
+ /**
20
+ * The default `getKey` function for `useScrollRestoration`.
21
+ * It returns the `key` from the location state or the `href` of the location.
22
+ *
23
+ * The `location.href` is used as a fallback to support the use case where the location state is not available like the initial render.
24
+ */
25
+ export declare const defaultGetScrollRestorationKey: (location: ParsedLocation) => string;
26
+ export declare function getCssSelector(el: any): string;
27
+ export declare function restoreScroll(storageKey: string, key?: string, behavior?: ScrollToOptions['behavior'], shouldScrollRestoration?: boolean, scrollToTopSelectors?: Array<string>): void;
28
+ export declare function setupScrollRestoration(router: AnyRouter, force?: boolean): void;
29
+ export declare function ScrollRestoration(): import("solid-js").JSX.Element;
@@ -0,0 +1,244 @@
1
+ import { functionalUpdate } from '@tanstack/router-core';
2
+ import { useRouter } from './useRouter';
3
+ import { ScriptOnce } from './ScriptOnce';
4
+ export const storageKey = 'tsr-scroll-restoration-v1_3';
5
+ const sessionsStorage = typeof window !== 'undefined' && window.sessionStorage;
6
+ const throttle = (fn, wait) => {
7
+ let timeout;
8
+ return (...args) => {
9
+ if (!timeout) {
10
+ timeout = setTimeout(() => {
11
+ fn(...args);
12
+ timeout = null;
13
+ }, wait);
14
+ }
15
+ };
16
+ };
17
+ export const scrollRestorationCache = sessionsStorage
18
+ ? (() => {
19
+ const state = JSON.parse(window.sessionStorage.getItem(storageKey) || 'null') || {};
20
+ return {
21
+ state,
22
+ // This setter is simply to make sure that we set the sessionStorage right
23
+ // after the state is updated. It doesn't necessarily need to be a functional
24
+ // update.
25
+ set: (updater) => ((scrollRestorationCache.state =
26
+ functionalUpdate(updater, scrollRestorationCache.state) ||
27
+ scrollRestorationCache.state),
28
+ window.sessionStorage.setItem(storageKey, JSON.stringify(scrollRestorationCache.state))),
29
+ };
30
+ })()
31
+ : undefined;
32
+ /**
33
+ * The default `getKey` function for `useScrollRestoration`.
34
+ * It returns the `key` from the location state or the `href` of the location.
35
+ *
36
+ * The `location.href` is used as a fallback to support the use case where the location state is not available like the initial render.
37
+ */
38
+ export const defaultGetScrollRestorationKey = (location) => {
39
+ return location.state.key || location.href;
40
+ };
41
+ export function getCssSelector(el) {
42
+ const path = [];
43
+ let parent;
44
+ while ((parent = el.parentNode)) {
45
+ path.unshift(`${el.tagName}:nth-child(${[].indexOf.call(parent.children, el) + 1})`);
46
+ el = parent;
47
+ }
48
+ return `${path.join(' > ')}`.toLowerCase();
49
+ }
50
+ let ignoreScroll = false;
51
+ // NOTE: This function must remain pure and not use any outside variables
52
+ // unless they are passed in as arguments. Why? Because we need to be able to
53
+ // toString() it into a script tag to execute as early as possible in the browser
54
+ // during SSR. Additionally, we also call it from within the router lifecycle
55
+ export function restoreScroll(storageKey, key, behavior, shouldScrollRestoration, scrollToTopSelectors) {
56
+ let byKey;
57
+ try {
58
+ byKey = JSON.parse(sessionStorage.getItem(storageKey) || '{}');
59
+ }
60
+ catch (error) {
61
+ console.error(error);
62
+ return;
63
+ }
64
+ const resolvedKey = key || window.history.state?.key;
65
+ const elementEntries = byKey[resolvedKey];
66
+ //
67
+ ignoreScroll = true;
68
+ (() => {
69
+ // If we have a cached entry for this location state,
70
+ // we always need to prefer that over the hash scroll.
71
+ if (shouldScrollRestoration && elementEntries) {
72
+ for (const elementSelector in elementEntries) {
73
+ const entry = elementEntries[elementSelector];
74
+ if (elementSelector === 'window') {
75
+ window.scrollTo({
76
+ top: entry.scrollY,
77
+ left: entry.scrollX,
78
+ behavior,
79
+ });
80
+ }
81
+ else if (elementSelector) {
82
+ const element = document.querySelector(elementSelector);
83
+ if (element) {
84
+ element.scrollLeft = entry.scrollX;
85
+ element.scrollTop = entry.scrollY;
86
+ }
87
+ }
88
+ }
89
+ return;
90
+ }
91
+ // If we don't have a cached entry for the hash,
92
+ // Which means we've never seen this location before,
93
+ // we need to check if there is a hash in the URL.
94
+ // If there is, we need to scroll it's ID into view.
95
+ const hash = window.location.hash.split('#')[1];
96
+ if (hash) {
97
+ const hashScrollIntoViewOptions = (window.history.state || {}).__hashScrollIntoViewOptions ?? true;
98
+ if (hashScrollIntoViewOptions) {
99
+ const el = document.getElementById(hash);
100
+ if (el) {
101
+ el.scrollIntoView(hashScrollIntoViewOptions);
102
+ }
103
+ }
104
+ return;
105
+ }
106
+ // If there is no cached entry for the hash and there is no hash in the URL,
107
+ // we need to scroll to the top of the page for every scrollToTop element
108
+ ;
109
+ [
110
+ 'window',
111
+ ...(scrollToTopSelectors?.filter((d) => d !== 'window') ?? []),
112
+ ].forEach((selector) => {
113
+ const element = selector === 'window' ? window : document.querySelector(selector);
114
+ if (element) {
115
+ element.scrollTo({
116
+ top: 0,
117
+ left: 0,
118
+ behavior,
119
+ });
120
+ }
121
+ });
122
+ })();
123
+ //
124
+ ignoreScroll = false;
125
+ }
126
+ export function setupScrollRestoration(router, force) {
127
+ const shouldScrollRestoration = force ?? router.options.scrollRestoration ?? false;
128
+ if (shouldScrollRestoration) {
129
+ router.isScrollRestoring = true;
130
+ }
131
+ if (typeof document === 'undefined' || router.isScrollRestorationSetup) {
132
+ return;
133
+ }
134
+ router.isScrollRestorationSetup = true;
135
+ //
136
+ ignoreScroll = false;
137
+ const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
138
+ window.history.scrollRestoration = 'manual';
139
+ // // Create a MutationObserver to monitor DOM changes
140
+ // const mutationObserver = new MutationObserver(() => {
141
+ // ;ignoreScroll = true
142
+ // requestAnimationFrame(() => {
143
+ // ;ignoreScroll = false
144
+ // // Attempt to restore scroll position on each dom
145
+ // // mutation until the user scrolls. We do this
146
+ // // because dynamic content may come in at different
147
+ // // ticks after the initial render and we want to
148
+ // // keep up with that content as much as possible.
149
+ // // As soon as the user scrolls, we no longer need
150
+ // // to attempt router.
151
+ // // console.log('mutation observer restoreScroll')
152
+ // restoreScroll(
153
+ // storageKey,
154
+ // getKey(router.state.location),
155
+ // router.options.scrollRestorationBehavior,
156
+ // )
157
+ // })
158
+ // })
159
+ // const observeDom = () => {
160
+ // // Observe changes to the entire document
161
+ // mutationObserver.observe(document, {
162
+ // childList: true, // Detect added or removed child nodes
163
+ // subtree: true, // Monitor all descendants
164
+ // characterData: true, // Detect text content changes
165
+ // })
166
+ // }
167
+ // const unobserveDom = () => {
168
+ // mutationObserver.disconnect()
169
+ // }
170
+ // observeDom()
171
+ const onScroll = (event) => {
172
+ // unobserveDom()
173
+ if (ignoreScroll || !router.isScrollRestoring) {
174
+ return;
175
+ }
176
+ let elementSelector = '';
177
+ if (event.target === document || event.target === window) {
178
+ elementSelector = 'window';
179
+ }
180
+ else {
181
+ const attrId = event.target.getAttribute('data-scroll-restoration-id');
182
+ if (attrId) {
183
+ elementSelector = `[data-scroll-restoration-id="${attrId}"]`;
184
+ }
185
+ else {
186
+ elementSelector = getCssSelector(event.target);
187
+ }
188
+ }
189
+ const restoreKey = getKey(router.state.location);
190
+ scrollRestorationCache.set((state) => {
191
+ const keyEntry = (state[restoreKey] =
192
+ state[restoreKey] || {});
193
+ const elementEntry = (keyEntry[elementSelector] =
194
+ keyEntry[elementSelector] || {});
195
+ if (elementSelector === 'window') {
196
+ elementEntry.scrollX = window.scrollX || 0;
197
+ elementEntry.scrollY = window.scrollY || 0;
198
+ }
199
+ else if (elementSelector) {
200
+ const element = document.querySelector(elementSelector);
201
+ if (element) {
202
+ elementEntry.scrollX = element.scrollLeft || 0;
203
+ elementEntry.scrollY = element.scrollTop || 0;
204
+ }
205
+ }
206
+ return state;
207
+ });
208
+ };
209
+ // Throttle the scroll event to avoid excessive updates
210
+ if (typeof document !== 'undefined') {
211
+ document.addEventListener('scroll', throttle(onScroll, 100), true);
212
+ }
213
+ router.subscribe('onRendered', (event) => {
214
+ // unobserveDom()
215
+ const cacheKey = getKey(event.toLocation);
216
+ // If the user doesn't want to restore the scroll position,
217
+ // we don't need to do anything.
218
+ if (!router.resetNextScroll) {
219
+ router.resetNextScroll = true;
220
+ return;
221
+ }
222
+ restoreScroll(storageKey, cacheKey, router.options.scrollRestorationBehavior, router.isScrollRestoring, router.options.scrollToTopSelectors);
223
+ if (router.isScrollRestoring) {
224
+ // Mark the location as having been seen
225
+ scrollRestorationCache.set((state) => {
226
+ state[cacheKey] = state[cacheKey] || {};
227
+ return state;
228
+ });
229
+ }
230
+ });
231
+ }
232
+ export function ScrollRestoration() {
233
+ const router = useRouter();
234
+ const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
235
+ const userKey = getKey(router.latestLocation);
236
+ const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation)
237
+ ? userKey
238
+ : null;
239
+ if (!router.isScrollRestoring || !router.isServer) {
240
+ return null;
241
+ }
242
+ return (<ScriptOnce children={`(${restoreScroll.toString()})(${JSON.stringify(storageKey)},${JSON.stringify(resolvedKey)}, undefined, true)`} log={false}/>);
243
+ }
244
+ //# sourceMappingURL=scroll-restoration.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-restoration.jsx","sourceRoot":"","sources":["../../src/scroll-restoration.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { LinkComponentProps } from './link';
2
+ import type { Redirect } from './redirects';
3
+ import type { AnyRouter, RegisteredRouter } from './router';
4
+ import type { UseParamsOptions, UseParamsResult } from './useParams';
5
+ import type { UseSearchOptions, UseSearchResult } from './useSearch';
6
+ import type { Constrain, ConstrainLiteral, FromPathOption, NavigateOptions, PathParamOptions, RouteIds, SearchParamOptions, ToPathOption } from '@tanstack/router-core';
7
+ export type ValidateFromPath<TRouter extends AnyRouter = RegisteredRouter, TFrom = string> = FromPathOption<TRouter, TFrom>;
8
+ export type ValidateToPath<TRouter extends AnyRouter = RegisteredRouter, TTo extends string | undefined = undefined, TFrom extends string = string> = ToPathOption<TRouter, TFrom, TTo>;
9
+ export type ValidateSearch<TRouter extends AnyRouter = RegisteredRouter, TTo extends string | undefined = undefined, TFrom extends string = string> = SearchParamOptions<TRouter, TFrom, TTo>;
10
+ export type ValidateParams<TRouter extends AnyRouter = RegisteredRouter, TTo extends string | undefined = undefined, TFrom extends string = string> = PathParamOptions<TRouter, TFrom, TTo>;
11
+ /**
12
+ * @internal
13
+ */
14
+ export type InferFrom<TOptions, TDefaultFrom extends string = string> = TOptions extends {
15
+ from: infer TFrom extends string;
16
+ } ? TFrom : TDefaultFrom;
17
+ /**
18
+ * @internal
19
+ */
20
+ export type InferTo<TOptions> = TOptions extends {
21
+ to: infer TTo extends string;
22
+ } ? TTo : undefined;
23
+ /**
24
+ * @internal
25
+ */
26
+ export type InferMaskTo<TOptions> = TOptions extends {
27
+ mask: {
28
+ to: infer TTo extends string;
29
+ };
30
+ } ? TTo : '';
31
+ export type InferMaskFrom<TOptions> = TOptions extends {
32
+ mask: {
33
+ from: infer TFrom extends string;
34
+ };
35
+ } ? TFrom : string;
36
+ export type ValidateNavigateOptions<TRouter extends AnyRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string> = Constrain<TOptions, NavigateOptions<TRouter, InferFrom<TOptions, TDefaultFrom>, InferTo<TOptions>, InferMaskFrom<TOptions>, InferMaskTo<TOptions>>>;
37
+ export type ValidateNavigateOptionsArray<TRouter extends AnyRouter = RegisteredRouter, TOptions extends ReadonlyArray<any> = ReadonlyArray<unknown>, TDefaultFrom extends string = string> = {
38
+ [K in keyof TOptions]: ValidateNavigateOptions<TRouter, TOptions[K], TDefaultFrom>;
39
+ };
40
+ export type ValidateRedirectOptions<TRouter extends AnyRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string> = Constrain<TOptions, Redirect<TRouter, InferFrom<TOptions, TDefaultFrom>, InferTo<TOptions>, InferMaskFrom<TOptions>, InferMaskTo<TOptions>>>;
41
+ export type ValidateRedirectOptionsArray<TRouter extends AnyRouter = RegisteredRouter, TOptions extends ReadonlyArray<any> = ReadonlyArray<unknown>, TDefaultFrom extends string = string> = {
42
+ [K in keyof TOptions]: ValidateRedirectOptions<TRouter, TOptions[K], TDefaultFrom>;
43
+ };
44
+ export type ValidateLinkOptions<TRouter extends AnyRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string, TComp = 'a'> = Constrain<TOptions, LinkComponentProps<TComp, TRouter, InferFrom<TOptions, TDefaultFrom>, InferTo<TOptions>, InferMaskFrom<TOptions>, InferMaskTo<TOptions>>>;
45
+ export type ValidateLinkOptionsArray<TRouter extends AnyRouter = RegisteredRouter, TOptions extends ReadonlyArray<any> = ReadonlyArray<unknown>, TDefaultFrom extends string = string, TComp = 'a'> = {
46
+ [K in keyof TOptions]: ValidateLinkOptions<TRouter, TOptions[K], TDefaultFrom, TComp>;
47
+ };
48
+ export type ValidateId<TRouter extends AnyRouter = RegisteredRouter, TId extends string = string> = ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>;
49
+ /**
50
+ * @internal
51
+ */
52
+ export type InferStrict<TOptions> = TOptions extends {
53
+ strict: infer TStrict extends boolean;
54
+ } ? TStrict : true;
55
+ /**
56
+ * @internal
57
+ */
58
+ export type InferShouldThrow<TOptions> = TOptions extends {
59
+ shouldThrow: infer TShouldThrow extends boolean;
60
+ } ? TShouldThrow : true;
61
+ /**
62
+ * @internal
63
+ */
64
+ export type InferSelected<TOptions> = TOptions extends {
65
+ select: (...args: Array<any>) => infer TSelected;
66
+ } ? TSelected : unknown;
67
+ export type ValidateUseSearchOptions<TOptions, TRouter extends AnyRouter = RegisteredRouter> = Constrain<TOptions, UseSearchOptions<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferShouldThrow<TOptions>, InferSelected<TOptions>>>;
68
+ export type ValidateUseSearchResult<TOptions, TRouter extends AnyRouter = RegisteredRouter> = UseSearchResult<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferSelected<TOptions>>;
69
+ export type ValidateUseParamsOptions<TOptions, TRouter extends AnyRouter = RegisteredRouter> = Constrain<TOptions, UseParamsOptions<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferShouldThrow<TOptions>, InferSelected<TOptions>>>;
70
+ export type ValidateUseParamsResult<TOptions, TRouter extends AnyRouter = RegisteredRouter> = Constrain<TOptions, UseParamsResult<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferSelected<TOptions>>>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typePrimitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typePrimitives.js","sourceRoot":"","sources":["../../src/typePrimitives.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import * as Solid from 'solid-js';
2
+ import type { HistoryAction } from '@tanstack/history';
3
+ import type { AnyRoute, SolidNode } from './route';
4
+ import type { ParseRoute } from '@tanstack/router-core';
5
+ import type { AnyRouter, RegisteredRouter } from './router';
6
+ interface ShouldBlockFnLocation<out TRouteId, out TFullPath, out TAllParams, out TFullSearchSchema> {
7
+ routeId: TRouteId;
8
+ fullPath: TFullPath;
9
+ pathname: string;
10
+ params: TAllParams;
11
+ search: TFullSearchSchema;
12
+ }
13
+ type MakeShouldBlockFnLocationUnion<TRouter extends AnyRouter = RegisteredRouter, TRoute extends AnyRoute = ParseRoute<TRouter['routeTree']>> = TRoute extends any ? ShouldBlockFnLocation<TRoute['id'], TRoute['fullPath'], TRoute['types']['allParams'], TRoute['types']['fullSearchSchema']> : never;
14
+ type BlockerResolver<TRouter extends AnyRouter = RegisteredRouter> = {
15
+ status: 'blocked';
16
+ current: MakeShouldBlockFnLocationUnion<TRouter>;
17
+ next: MakeShouldBlockFnLocationUnion<TRouter>;
18
+ action: HistoryAction;
19
+ proceed: () => void;
20
+ reset: () => void;
21
+ } | {
22
+ status: 'idle';
23
+ current: undefined;
24
+ next: undefined;
25
+ action: undefined;
26
+ proceed: undefined;
27
+ reset: undefined;
28
+ };
29
+ type ShouldBlockFnArgs<TRouter extends AnyRouter = RegisteredRouter> = {
30
+ current: MakeShouldBlockFnLocationUnion<TRouter>;
31
+ next: MakeShouldBlockFnLocationUnion<TRouter>;
32
+ action: HistoryAction;
33
+ };
34
+ export type ShouldBlockFn<TRouter extends AnyRouter = RegisteredRouter> = (args: ShouldBlockFnArgs<TRouter>) => boolean | Promise<boolean>;
35
+ export type UseBlockerOpts<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean> = {
36
+ shouldBlockFn: ShouldBlockFn<TRouter>;
37
+ enableBeforeUnload?: boolean | (() => boolean);
38
+ disabled?: boolean;
39
+ withResolver?: TWithResolver;
40
+ };
41
+ type LegacyBlockerFn = () => Promise<any> | any;
42
+ type LegacyBlockerOpts = {
43
+ blockerFn?: LegacyBlockerFn;
44
+ condition?: boolean | any;
45
+ };
46
+ export declare function useBlocker<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = false>(opts: UseBlockerOpts<TRouter, TWithResolver>): TWithResolver extends true ? Solid.Accessor<BlockerResolver<TRouter>> : void;
47
+ /**
48
+ * @deprecated Use the shouldBlockFn property instead
49
+ */
50
+ export declare function useBlocker(blockerFnOrOpts?: LegacyBlockerOpts): Solid.Accessor<BlockerResolver>;
51
+ /**
52
+ * @deprecated Use the UseBlockerOpts object syntax instead
53
+ */
54
+ export declare function useBlocker(blockerFn?: LegacyBlockerFn, condition?: boolean | any): Solid.Accessor<BlockerResolver>;
55
+ export declare function Block<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean>(opts: PromptProps<TRouter, TWithResolver>): SolidNode;
56
+ /**
57
+ * @deprecated Use the UseBlockerOpts property instead
58
+ */
59
+ export declare function Block(opts: LegacyPromptProps): SolidNode;
60
+ type LegacyPromptProps = {
61
+ blockerFn?: LegacyBlockerFn;
62
+ condition?: boolean | any;
63
+ children?: SolidNode | ((params: BlockerResolver) => SolidNode);
64
+ };
65
+ type PromptProps<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean, TParams = TWithResolver extends true ? BlockerResolver<TRouter> : void> = UseBlockerOpts<TRouter, TWithResolver> & {
66
+ children?: SolidNode | ((params: TParams) => SolidNode);
67
+ };
68
+ export {};