@sveltejs/kit 2.39.0 → 2.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/kit",
3
- "version": "2.39.0",
3
+ "version": "2.40.0",
4
4
  "description": "SvelteKit is the fastest way to build Svelte apps",
5
5
  "keywords": [
6
6
  "framework",
@@ -1205,7 +1205,7 @@ export interface NavigationTarget<
1205
1205
  */
1206
1206
  export type NavigationType = 'enter' | 'form' | 'leave' | 'link' | 'goto' | 'popstate';
1207
1207
 
1208
- export interface Navigation {
1208
+ export interface NavigationBase {
1209
1209
  /**
1210
1210
  * Where navigation was triggered from
1211
1211
  */
@@ -1214,6 +1214,18 @@ export interface Navigation {
1214
1214
  * Where navigation is going to/has gone to
1215
1215
  */
1216
1216
  to: NavigationTarget | null;
1217
+ /**
1218
+ * Whether or not the navigation will result in the page being unloaded (i.e. not a client-side navigation)
1219
+ */
1220
+ willUnload: boolean;
1221
+ /**
1222
+ * A promise that resolves once the navigation is complete, and rejects if the navigation
1223
+ * fails or is aborted. In the case of a `willUnload` navigation, the promise will never resolve
1224
+ */
1225
+ complete: Promise<void>;
1226
+ }
1227
+
1228
+ export interface NavigationEnter extends NavigationBase {
1217
1229
  /**
1218
1230
  * The type of navigation:
1219
1231
  * - `form`: The user submitted a `<form method="GET">`
@@ -1222,36 +1234,128 @@ export interface Navigation {
1222
1234
  * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1223
1235
  * - `popstate`: Navigation was triggered by back/forward navigation
1224
1236
  */
1225
- type: Exclude<NavigationType, 'enter'>;
1237
+ type: 'enter';
1238
+
1226
1239
  /**
1227
- * Whether or not the navigation will result in the page being unloaded (i.e. not a client-side navigation)
1240
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1228
1241
  */
1229
- willUnload: boolean;
1242
+ delta?: undefined;
1243
+
1244
+ /**
1245
+ * Dispatched `Event` object when navigation occured by `popstate` or `link`.
1246
+ */
1247
+ event?: undefined;
1248
+ }
1249
+
1250
+ export interface NavigationExternal extends NavigationBase {
1251
+ /**
1252
+ * The type of navigation:
1253
+ * - `form`: The user submitted a `<form method="GET">`
1254
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1255
+ * - `link`: Navigation was triggered by a link click
1256
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1257
+ * - `popstate`: Navigation was triggered by back/forward navigation
1258
+ */
1259
+ type: Exclude<NavigationType, 'enter' | 'popstate' | 'link' | 'form'>;
1260
+
1261
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1262
+ // (would possibly be a breaking change to do it prior to that)
1230
1263
  /**
1231
1264
  * In case of a history back/forward navigation, the number of steps to go back/forward
1232
1265
  */
1233
- delta?: number;
1266
+ delta?: undefined;
1267
+ }
1268
+
1269
+ export interface NavigationFormSubmit extends NavigationBase {
1234
1270
  /**
1235
- * A promise that resolves once the navigation is complete, and rejects if the navigation
1236
- * fails or is aborted. In the case of a `willUnload` navigation, the promise will never resolve
1271
+ * The type of navigation:
1272
+ * - `form`: The user submitted a `<form method="GET">`
1273
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1274
+ * - `link`: Navigation was triggered by a link click
1275
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1276
+ * - `popstate`: Navigation was triggered by back/forward navigation
1237
1277
  */
1238
- complete: Promise<void>;
1278
+ type: 'form';
1279
+
1280
+ /**
1281
+ * The `SubmitEvent` that caused the navigation
1282
+ */
1283
+ event: SubmitEvent;
1284
+
1285
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1286
+ // (would possibly be a breaking change to do it prior to that)
1287
+ /**
1288
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1289
+ */
1290
+ delta?: undefined;
1291
+ }
1292
+
1293
+ export interface NavigationPopState extends NavigationBase {
1294
+ /**
1295
+ * The type of navigation:
1296
+ * - `form`: The user submitted a `<form method="GET">`
1297
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1298
+ * - `link`: Navigation was triggered by a link click
1299
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1300
+ * - `popstate`: Navigation was triggered by back/forward navigation
1301
+ */
1302
+ type: 'popstate';
1303
+
1304
+ /**
1305
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1306
+ */
1307
+ delta: number;
1308
+
1309
+ /**
1310
+ * The `PopStateEvent` that caused the navigation
1311
+ */
1312
+ event: PopStateEvent;
1313
+ }
1314
+
1315
+ export interface NavigationLink extends NavigationBase {
1316
+ /**
1317
+ * The type of navigation:
1318
+ * - `form`: The user submitted a `<form method="GET">`
1319
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1320
+ * - `link`: Navigation was triggered by a link click
1321
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1322
+ * - `popstate`: Navigation was triggered by back/forward navigation
1323
+ */
1324
+ type: 'link';
1325
+
1326
+ /**
1327
+ * The `PointerEvent` that caused the navigation
1328
+ */
1329
+ event: PointerEvent;
1330
+
1331
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1332
+ // (would possibly be a breaking change to do it prior to that)
1333
+ /**
1334
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1335
+ */
1336
+ delta?: undefined;
1239
1337
  }
1240
1338
 
1339
+ export type Navigation =
1340
+ | NavigationExternal
1341
+ | NavigationFormSubmit
1342
+ | NavigationPopState
1343
+ | NavigationLink;
1344
+
1241
1345
  /**
1242
1346
  * The argument passed to [`beforeNavigate`](https://svelte.dev/docs/kit/$app-navigation#beforeNavigate) callbacks.
1243
1347
  */
1244
- export interface BeforeNavigate extends Navigation {
1348
+ export type BeforeNavigate = Navigation & {
1245
1349
  /**
1246
1350
  * Call this to prevent the navigation from starting.
1247
1351
  */
1248
1352
  cancel: () => void;
1249
- }
1353
+ };
1250
1354
 
1251
1355
  /**
1252
1356
  * The argument passed to [`onNavigate`](https://svelte.dev/docs/kit/$app-navigation#onNavigate) callbacks.
1253
1357
  */
1254
- export interface OnNavigate extends Navigation {
1358
+ export type OnNavigate = Navigation & {
1255
1359
  /**
1256
1360
  * The type of navigation:
1257
1361
  * - `form`: The user submitted a `<form method="GET">`
@@ -1264,12 +1368,12 @@ export interface OnNavigate extends Navigation {
1264
1368
  * Since `onNavigate` callbacks are called immediately before a client-side navigation, they will never be called with a navigation that unloads the page.
1265
1369
  */
1266
1370
  willUnload: false;
1267
- }
1371
+ };
1268
1372
 
1269
1373
  /**
1270
1374
  * The argument passed to [`afterNavigate`](https://svelte.dev/docs/kit/$app-navigation#afterNavigate) callbacks.
1271
1375
  */
1272
- export interface AfterNavigate extends Omit<Navigation, 'type'> {
1376
+ export type AfterNavigate = (Navigation | NavigationEnter) & {
1273
1377
  /**
1274
1378
  * The type of navigation:
1275
1379
  * - `enter`: The app has hydrated/started
@@ -1283,7 +1387,7 @@ export interface AfterNavigate extends Omit<Navigation, 'type'> {
1283
1387
  * Since `afterNavigate` callbacks are called after a navigation completes, they will never be called with a navigation that unloads the page.
1284
1388
  */
1285
1389
  willUnload: false;
1286
- }
1390
+ };
1287
1391
 
1288
1392
  /**
1289
1393
  * The shape of the [`page`](https://svelte.dev/docs/kit/$app-state#page) reactive object and the [`$page`](https://svelte.dev/docs/kit/$app-stores) store.
@@ -803,7 +803,8 @@ async function kit({ svelte_config }) {
803
803
 
804
804
  fs.writeFileSync(
805
805
  file,
806
- code.replace('$$_export_$$($$_self_$$)', () => `export default $$_self_$$;`)
806
+ // build process might have minified/adjusted the $$_self_$$ variable, but not the fake global $$_export_$$ function
807
+ code.replace(/\$\$_export_\$\$\((.+?)\)/, (_, name) => `export default ${name};`)
807
808
  );
808
809
  }
809
810
  }
@@ -149,9 +149,14 @@ function clear_onward_history(current_history_index, current_navigation_index) {
149
149
  * Returns a `Promise` that never resolves (to prevent any
150
150
  * subsequent work, e.g. history manipulation, from happening)
151
151
  * @param {URL} url
152
+ * @param {boolean} [replace] If `true`, will replace the current `history` entry rather than creating a new one with `pushState`
152
153
  */
153
- function native_navigation(url) {
154
- location.href = url.href;
154
+ function native_navigation(url, replace = false) {
155
+ if (replace) {
156
+ location.replace(url.href);
157
+ } else {
158
+ location.href = url.href;
159
+ }
155
160
  return new Promise(() => {});
156
161
  }
157
162
 
@@ -388,7 +393,12 @@ async function _invalidate(include_load_functions = true, reset_page_state = tru
388
393
  if (!navigation_result || nav_token !== token) return;
389
394
 
390
395
  if (navigation_result.type === 'redirect') {
391
- return _goto(new URL(navigation_result.location, current.url).href, {}, 1, nav_token);
396
+ return _goto(
397
+ new URL(navigation_result.location, current.url).href,
398
+ { replaceState: true },
399
+ 1,
400
+ nav_token
401
+ );
392
402
  }
393
403
 
394
404
  // This is a bit hacky but allows us not having to pass that boolean around, making things harder to reason about
@@ -443,6 +453,13 @@ function persist_state() {
443
453
  export async function _goto(url, options, redirect_count, nav_token) {
444
454
  /** @type {string[]} */
445
455
  let query_keys;
456
+
457
+ // Clear preload cache when invalidateAll is true to ensure fresh data
458
+ // after form submissions or explicit invalidations
459
+ if (options.invalidateAll) {
460
+ load_cache = null;
461
+ }
462
+
446
463
  const result = await navigate({
447
464
  type: 'goto',
448
465
  url: resolve_url(url),
@@ -1402,9 +1419,10 @@ function get_page_key(url) {
1402
1419
  * type: import('@sveltejs/kit').Navigation["type"];
1403
1420
  * intent?: import('./types.js').NavigationIntent;
1404
1421
  * delta?: number;
1422
+ * event?: PopStateEvent | MouseEvent;
1405
1423
  * }} opts
1406
1424
  */
1407
- function _before_navigate({ url, type, intent, delta }) {
1425
+ function _before_navigate({ url, type, intent, delta, event }) {
1408
1426
  let should_block = false;
1409
1427
 
1410
1428
  const nav = create_navigation(current, intent, url, type);
@@ -1413,6 +1431,11 @@ function _before_navigate({ url, type, intent, delta }) {
1413
1431
  nav.navigation.delta = delta;
1414
1432
  }
1415
1433
 
1434
+ if (event !== undefined) {
1435
+ // @ts-ignore
1436
+ nav.navigation.event = event;
1437
+ }
1438
+
1416
1439
  const cancellable = {
1417
1440
  ...nav.navigation,
1418
1441
  cancel: () => {
@@ -1446,6 +1469,7 @@ function _before_navigate({ url, type, intent, delta }) {
1446
1469
  * nav_token?: {};
1447
1470
  * accept?: () => void;
1448
1471
  * block?: () => void;
1472
+ * event?: Event
1449
1473
  * }} opts
1450
1474
  */
1451
1475
  async function navigate({
@@ -1459,7 +1483,8 @@ async function navigate({
1459
1483
  redirect_count = 0,
1460
1484
  nav_token = {},
1461
1485
  accept = noop,
1462
- block = noop
1486
+ block = noop,
1487
+ event
1463
1488
  }) {
1464
1489
  const prev_token = token;
1465
1490
  token = nav_token;
@@ -1468,7 +1493,14 @@ async function navigate({
1468
1493
  const nav =
1469
1494
  type === 'enter'
1470
1495
  ? create_navigation(current, intent, url, type)
1471
- : _before_navigate({ url, type, delta: popped?.delta, intent });
1496
+ : _before_navigate({
1497
+ url,
1498
+ type,
1499
+ delta: popped?.delta,
1500
+ intent,
1501
+ // @ts-ignore
1502
+ event
1503
+ });
1472
1504
 
1473
1505
  if (!nav) {
1474
1506
  block();
@@ -1510,10 +1542,11 @@ async function navigate({
1510
1542
  route: { id: null }
1511
1543
  }
1512
1544
  ),
1513
- 404
1545
+ 404,
1546
+ replace_state
1514
1547
  );
1515
1548
  } else {
1516
- return await native_navigation(url);
1549
+ return await native_navigation(url, replace_state);
1517
1550
  }
1518
1551
  } else {
1519
1552
  navigation_result = await server_fallback(
@@ -1524,7 +1557,8 @@ async function navigate({
1524
1557
  params: {},
1525
1558
  route: { id: null }
1526
1559
  }),
1527
- 404
1560
+ 404,
1561
+ replace_state
1528
1562
  );
1529
1563
  }
1530
1564
  }
@@ -1541,27 +1575,36 @@ async function navigate({
1541
1575
 
1542
1576
  if (navigation_result.type === 'redirect') {
1543
1577
  // whatwg fetch spec https://fetch.spec.whatwg.org/#http-redirect-fetch says to error after 20 redirects
1544
- if (redirect_count >= 20) {
1545
- navigation_result = await load_root_error_page({
1546
- status: 500,
1547
- error: await handle_error(new Error('Redirect loop'), {
1548
- url,
1549
- params: {},
1550
- route: { id: null }
1551
- }),
1552
- url,
1553
- route: { id: null }
1578
+ if (redirect_count < 20) {
1579
+ return navigate({
1580
+ type,
1581
+ url: new URL(navigation_result.location, url),
1582
+ popped,
1583
+ keepfocus,
1584
+ noscroll,
1585
+ replace_state,
1586
+ state,
1587
+ redirect_count: redirect_count + 1,
1588
+ nav_token
1554
1589
  });
1555
- } else {
1556
- await _goto(new URL(navigation_result.location, url).href, {}, redirect_count + 1, nav_token);
1557
- return false;
1558
1590
  }
1591
+
1592
+ navigation_result = await load_root_error_page({
1593
+ status: 500,
1594
+ error: await handle_error(new Error('Redirect loop'), {
1595
+ url,
1596
+ params: {},
1597
+ route: { id: null }
1598
+ }),
1599
+ url,
1600
+ route: { id: null }
1601
+ });
1559
1602
  } else if (/** @type {number} */ (navigation_result.props.page.status) >= 400) {
1560
1603
  const updated = await stores.updated.check();
1561
1604
  if (updated) {
1562
1605
  // Before reloading, try to update the service worker if it exists
1563
1606
  await update_service_worker();
1564
- await native_navigation(url);
1607
+ await native_navigation(url, replace_state);
1565
1608
  }
1566
1609
  }
1567
1610
 
@@ -1703,9 +1746,10 @@ async function navigate({
1703
1746
  * @param {{ id: string | null }} route
1704
1747
  * @param {App.Error} error
1705
1748
  * @param {number} status
1749
+ * @param {boolean} [replace_state]
1706
1750
  * @returns {Promise<import('./types.js').NavigationFinished>}
1707
1751
  */
1708
- async function server_fallback(url, route, error, status) {
1752
+ async function server_fallback(url, route, error, status, replace_state) {
1709
1753
  if (url.origin === origin && url.pathname === location.pathname && !hydrated) {
1710
1754
  // We would reload the same page we're currently on, which isn't hydrated,
1711
1755
  // which means no SSR, which means we would end up in an endless loop
@@ -1725,7 +1769,7 @@ async function server_fallback(url, route, error, status) {
1725
1769
  debugger; // eslint-disable-line
1726
1770
  }
1727
1771
 
1728
- return await native_navigation(url);
1772
+ return await native_navigation(url, replace_state);
1729
1773
  }
1730
1774
 
1731
1775
  if (import.meta.hot) {
@@ -2381,7 +2425,7 @@ function _start_router() {
2381
2425
 
2382
2426
  // Ignore the following but fire beforeNavigate
2383
2427
  if (external || (options.reload && (!same_pathname || !hash))) {
2384
- if (_before_navigate({ url, type: 'link' })) {
2428
+ if (_before_navigate({ url, type: 'link', event })) {
2385
2429
  // set `navigating` to `true` to prevent `beforeNavigate` callbacks
2386
2430
  // being called when the page unloads
2387
2431
  is_navigating = true;
@@ -2450,7 +2494,8 @@ function _start_router() {
2450
2494
  url,
2451
2495
  keepfocus: options.keepfocus,
2452
2496
  noscroll: options.noscroll,
2453
- replace_state: options.replace_state ?? url.href === location.href
2497
+ replace_state: options.replace_state ?? url.href === location.href,
2498
+ event
2454
2499
  });
2455
2500
  });
2456
2501
 
@@ -2501,7 +2546,8 @@ function _start_router() {
2501
2546
  url,
2502
2547
  keepfocus: options.keepfocus,
2503
2548
  noscroll: options.noscroll,
2504
- replace_state: options.replace_state ?? url.href === location.href
2549
+ replace_state: options.replace_state ?? url.href === location.href,
2550
+ event
2505
2551
  });
2506
2552
  });
2507
2553
 
@@ -2559,7 +2605,8 @@ function _start_router() {
2559
2605
  block: () => {
2560
2606
  history.go(-delta);
2561
2607
  },
2562
- nav_token: token
2608
+ nav_token: token,
2609
+ event
2563
2610
  });
2564
2611
  } else {
2565
2612
  // since popstate event is also emitted when an anchor referencing the same
@@ -2995,8 +3042,8 @@ function create_navigation(current, intent, url, type) {
2995
3042
  // Handle any errors off-chain so that it doesn't show up as an unhandled rejection
2996
3043
  complete.catch(() => {});
2997
3044
 
2998
- /** @type {Omit<import('@sveltejs/kit').Navigation, 'type'> & { type: T }} */
2999
- const navigation = {
3045
+ /** @type {(import('@sveltejs/kit').Navigation | import('@sveltejs/kit').AfterNavigate) & { type: T }} */
3046
+ const navigation = /** @type {any} */ ({
3000
3047
  from: {
3001
3048
  params: current.params,
3002
3049
  route: { id: current.route?.id ?? null },
@@ -3010,7 +3057,7 @@ function create_navigation(current, intent, url, type) {
3010
3057
  willUnload: !intent,
3011
3058
  type,
3012
3059
  complete
3013
- };
3060
+ });
3014
3061
 
3015
3062
  return {
3016
3063
  navigation,
package/src/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // generated during release, do not modify
2
2
 
3
3
  /** @type {string} */
4
- export const VERSION = '2.39.0';
4
+ export const VERSION = '2.40.0';
package/types/index.d.ts CHANGED
@@ -1181,7 +1181,7 @@ declare module '@sveltejs/kit' {
1181
1181
  */
1182
1182
  export type NavigationType = 'enter' | 'form' | 'leave' | 'link' | 'goto' | 'popstate';
1183
1183
 
1184
- export interface Navigation {
1184
+ export interface NavigationBase {
1185
1185
  /**
1186
1186
  * Where navigation was triggered from
1187
1187
  */
@@ -1190,6 +1190,18 @@ declare module '@sveltejs/kit' {
1190
1190
  * Where navigation is going to/has gone to
1191
1191
  */
1192
1192
  to: NavigationTarget | null;
1193
+ /**
1194
+ * Whether or not the navigation will result in the page being unloaded (i.e. not a client-side navigation)
1195
+ */
1196
+ willUnload: boolean;
1197
+ /**
1198
+ * A promise that resolves once the navigation is complete, and rejects if the navigation
1199
+ * fails or is aborted. In the case of a `willUnload` navigation, the promise will never resolve
1200
+ */
1201
+ complete: Promise<void>;
1202
+ }
1203
+
1204
+ export interface NavigationEnter extends NavigationBase {
1193
1205
  /**
1194
1206
  * The type of navigation:
1195
1207
  * - `form`: The user submitted a `<form method="GET">`
@@ -1198,36 +1210,128 @@ declare module '@sveltejs/kit' {
1198
1210
  * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1199
1211
  * - `popstate`: Navigation was triggered by back/forward navigation
1200
1212
  */
1201
- type: Exclude<NavigationType, 'enter'>;
1213
+ type: 'enter';
1214
+
1202
1215
  /**
1203
- * Whether or not the navigation will result in the page being unloaded (i.e. not a client-side navigation)
1216
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1204
1217
  */
1205
- willUnload: boolean;
1218
+ delta?: undefined;
1219
+
1220
+ /**
1221
+ * Dispatched `Event` object when navigation occured by `popstate` or `link`.
1222
+ */
1223
+ event?: undefined;
1224
+ }
1225
+
1226
+ export interface NavigationExternal extends NavigationBase {
1227
+ /**
1228
+ * The type of navigation:
1229
+ * - `form`: The user submitted a `<form method="GET">`
1230
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1231
+ * - `link`: Navigation was triggered by a link click
1232
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1233
+ * - `popstate`: Navigation was triggered by back/forward navigation
1234
+ */
1235
+ type: Exclude<NavigationType, 'enter' | 'popstate' | 'link' | 'form'>;
1236
+
1237
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1238
+ // (would possibly be a breaking change to do it prior to that)
1206
1239
  /**
1207
1240
  * In case of a history back/forward navigation, the number of steps to go back/forward
1208
1241
  */
1209
- delta?: number;
1242
+ delta?: undefined;
1243
+ }
1244
+
1245
+ export interface NavigationFormSubmit extends NavigationBase {
1210
1246
  /**
1211
- * A promise that resolves once the navigation is complete, and rejects if the navigation
1212
- * fails or is aborted. In the case of a `willUnload` navigation, the promise will never resolve
1247
+ * The type of navigation:
1248
+ * - `form`: The user submitted a `<form method="GET">`
1249
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1250
+ * - `link`: Navigation was triggered by a link click
1251
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1252
+ * - `popstate`: Navigation was triggered by back/forward navigation
1213
1253
  */
1214
- complete: Promise<void>;
1254
+ type: 'form';
1255
+
1256
+ /**
1257
+ * The `SubmitEvent` that caused the navigation
1258
+ */
1259
+ event: SubmitEvent;
1260
+
1261
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1262
+ // (would possibly be a breaking change to do it prior to that)
1263
+ /**
1264
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1265
+ */
1266
+ delta?: undefined;
1267
+ }
1268
+
1269
+ export interface NavigationPopState extends NavigationBase {
1270
+ /**
1271
+ * The type of navigation:
1272
+ * - `form`: The user submitted a `<form method="GET">`
1273
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1274
+ * - `link`: Navigation was triggered by a link click
1275
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1276
+ * - `popstate`: Navigation was triggered by back/forward navigation
1277
+ */
1278
+ type: 'popstate';
1279
+
1280
+ /**
1281
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1282
+ */
1283
+ delta: number;
1284
+
1285
+ /**
1286
+ * The `PopStateEvent` that caused the navigation
1287
+ */
1288
+ event: PopStateEvent;
1289
+ }
1290
+
1291
+ export interface NavigationLink extends NavigationBase {
1292
+ /**
1293
+ * The type of navigation:
1294
+ * - `form`: The user submitted a `<form method="GET">`
1295
+ * - `leave`: The app is being left either because the tab is being closed or a navigation to a different document is occurring
1296
+ * - `link`: Navigation was triggered by a link click
1297
+ * - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
1298
+ * - `popstate`: Navigation was triggered by back/forward navigation
1299
+ */
1300
+ type: 'link';
1301
+
1302
+ /**
1303
+ * The `PointerEvent` that caused the navigation
1304
+ */
1305
+ event: PointerEvent;
1306
+
1307
+ // TODO 3.0 remove this property, so that it only exists when type is 'popstate'
1308
+ // (would possibly be a breaking change to do it prior to that)
1309
+ /**
1310
+ * In case of a history back/forward navigation, the number of steps to go back/forward
1311
+ */
1312
+ delta?: undefined;
1215
1313
  }
1216
1314
 
1315
+ export type Navigation =
1316
+ | NavigationExternal
1317
+ | NavigationFormSubmit
1318
+ | NavigationPopState
1319
+ | NavigationLink;
1320
+
1217
1321
  /**
1218
1322
  * The argument passed to [`beforeNavigate`](https://svelte.dev/docs/kit/$app-navigation#beforeNavigate) callbacks.
1219
1323
  */
1220
- export interface BeforeNavigate extends Navigation {
1324
+ export type BeforeNavigate = Navigation & {
1221
1325
  /**
1222
1326
  * Call this to prevent the navigation from starting.
1223
1327
  */
1224
1328
  cancel: () => void;
1225
- }
1329
+ };
1226
1330
 
1227
1331
  /**
1228
1332
  * The argument passed to [`onNavigate`](https://svelte.dev/docs/kit/$app-navigation#onNavigate) callbacks.
1229
1333
  */
1230
- export interface OnNavigate extends Navigation {
1334
+ export type OnNavigate = Navigation & {
1231
1335
  /**
1232
1336
  * The type of navigation:
1233
1337
  * - `form`: The user submitted a `<form method="GET">`
@@ -1240,12 +1344,12 @@ declare module '@sveltejs/kit' {
1240
1344
  * Since `onNavigate` callbacks are called immediately before a client-side navigation, they will never be called with a navigation that unloads the page.
1241
1345
  */
1242
1346
  willUnload: false;
1243
- }
1347
+ };
1244
1348
 
1245
1349
  /**
1246
1350
  * The argument passed to [`afterNavigate`](https://svelte.dev/docs/kit/$app-navigation#afterNavigate) callbacks.
1247
1351
  */
1248
- export interface AfterNavigate extends Omit<Navigation, 'type'> {
1352
+ export type AfterNavigate = (Navigation | NavigationEnter) & {
1249
1353
  /**
1250
1354
  * The type of navigation:
1251
1355
  * - `enter`: The app has hydrated/started
@@ -1259,7 +1363,7 @@ declare module '@sveltejs/kit' {
1259
1363
  * Since `afterNavigate` callbacks are called after a navigation completes, they will never be called with a navigation that unloads the page.
1260
1364
  */
1261
1365
  willUnload: false;
1262
- }
1366
+ };
1263
1367
 
1264
1368
  /**
1265
1369
  * The shape of the [`page`](https://svelte.dev/docs/kit/$app-state#page) reactive object and the [`$page`](https://svelte.dev/docs/kit/$app-stores) store.
@@ -29,6 +29,12 @@
29
29
  "NavigationEvent",
30
30
  "NavigationTarget",
31
31
  "NavigationType",
32
+ "NavigationBase",
33
+ "NavigationEnter",
34
+ "NavigationExternal",
35
+ "NavigationFormSubmit",
36
+ "NavigationPopState",
37
+ "NavigationLink",
32
38
  "Navigation",
33
39
  "BeforeNavigate",
34
40
  "OnNavigate",
@@ -187,6 +193,6 @@
187
193
  null,
188
194
  null
189
195
  ],
190
- "mappings": "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",
196
+ "mappings": "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",
191
197
  "ignoreList": []
192
198
  }